James Smith

James Smith

jecs@imperial.ac.uk (related to academia)
james.smith@djalbat.com (all other)

I am a mathematician and programmer, almost exclusively JavaScript these days. I have worked very briefly with temporal logics in the past, inventing a new one (this is nothing very clever, new logics are invented all the time) and proving that it is equivalent to some others. I also seem to have devised what appears to be the first correct concurrency control algorithm, at least going by one commonly held definition. These days I am working on a proof assistant called Occam, if that's not obvious.

For what it's worth I am a supporter of the Cost of Knowledge effort.


There is a new website for publishing Occam packages as well as a command line package management tool to enable you to do so. Details can be found here:


Update: I have also just added a tool for editing Occam's vernacular, called Florence. You can find it here:

Florence grammar tool

Unlike custom grammars, you cannot simply add the Florence vernacular to Occam by including it in projects. Instead, the idea is that you might want to communicate changes to me, via issues or via pull requests to either the lexers or parsers projects directly. I certainly need to use the tool in the coming weeks as I attempt to add a few more packages to openmathematics.org, let's see how it goes.

[show older]


Occam has its own dedicated page including a section on how you can get it running locally.



These are not fully peer-reviewed papers and should not be judged as such.



Last updated 31st April, 2018.