Publications
Currently not all papers are available from this page. Please email me for copies of the papers you cannot find.
2023
POSIX Lexing with Bitcoded Derivatives
POSIX Lexing with Derivatives of Regular Expressions
2018
Priority Inheritance Protocol Proved Correct
The sources of the Isabelle/HOL code are now hosted at https://cflmark.nms.kcl.ac.uk/hg/pip.
2017
Modelling Homogeneous Generative Meta-Programming
2016
POSIX Lexing with Derivatives of Regular Expressions
2015
Proceedings of the 6th International Conference on Interactive Theorem Proving
2014
A Formalisation of the Myhill-Nerode Theorem based on Regular Expressions
You should really use the linked version above, rather than the published version from Springer: somehow Springer managed to delete the rather important word "finite" from Theorem 5. They probably did not like our formatting and fooled around with our formulas. And we of course did not notice in the galley proofs.
Revisiting Zucker's Work on the Correspondence Between Cut-Elimination and Normalisation
2013
Mechanising Turing Machines and Computability Theory in Isabelle/HOL
The phrase in the abstract is meant to say "we tie the knot ...". This typo is corrected in the version above.
A Formal Model and Correctness Proof for an Access Control Policy Framework
2012
General Bindings and Alpha-Equivalence in Nominal Isabelle
Priority Inheritance Protocol Proved Correct
In the published version is a bogus sentence after the definition of detached and also a typo in the definition of schs. Both are corrected in the version above.
2011
General Bindings and Alpha-Equivalence in Nominal Isabelle
A Formalisation of the Myhill-Nerode Theorem based on Regular Expressions (Proof Pearl)
Quotients Revisited for Isabelle/HOL
We silently assume in this paper to only lift from types that have covariant type-constructors. Many thanks to Ondřej Kunčar, who pointed this out. John Wickerson pointed out a typo in Definition 2 and one in the Appendix, which are corrected in the pdf-file above.
Mechanizing the Metatheory of Mini-XQuery
2010
Proof Pearl: A New Foundation for Nominal Isabelle
Mechanizing the Metatheory of LF
Nominal Unification Revisited
2009
Nominal Formalisations of Typical SOS Proofs
Proceedings of Theorem Proving in Higher Order Logics (TPHOLs'09)
Nominal Verification of W
2008
Nominal Inversion Principles
The proof in figure 3 is chosen as an illustrative example to show how to use inversion principles (the main topic of the paper). If one does the induction on the beta-reduction relation, instead of the typing relation, then the proof is almost trivial and can be found automatically by Isabelle only using some very standard inversion principles for the typing relation.
Mechanising a Proof of Craig's Interpolation Theorem for Intuitionistic Logic in Nominal Isabelle
Revisiting Cut-Elimination: One Difficult Proof is Really a Proof
This paper corrects some lemmas in my PhD-thesis. The errors were found by formalising the proof in Nominal Isabelle.
2007
Barendregt's Variable Convention in Rule Inductions
This paper supersedes the MERLIN-paper from 2005.
Strong Induction Principles in the Locally Nameless Representation of Binders (Preliminary Notes)
Formalising in Nominal Isabelle Crary's Completeness Proof for Equivalence Checking
There is a minor problem in the statement on page 4 where we write that alpha-renamings are required in order to show the equivalence of Q-Beta and Q-Beta': While the equivalence can be proved using alpha-renamings, it can also be proved by a careful analysis of the available freshness-constraints.
Nominal Logic Programming
2006
Proof Theory of Classical Propositional Calculus
A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL
Classical Logic is better than Intuitionistic Logic: A Conjecture about Double-Negation Translations
A Head-to-Head Comparison of de Bruijn Indices and Names
2005
A Formal Treatment of the Barendregt Variable Convention in Rule Inductions
There was a small typo in the definition of permutation equality, which has been corrected in the versions above. This paper received favourable comments on the FOM mailing-list.
Avoiding Equivariance in Alpha-Prolog
2004
Nominal Techniques for Reasoning about Formal Languages
Alpha-Prolog: A Logic Programming Language with Names, Binding and Alpha-Equivalence
2003
Nominal Unification
System Description: Alpha-Prolog, a Fresh Approach to Logic Programming Modulo Alpha-Equivalence
Work in Progress: Logic Programming with Names and Binding
2002
Strong Normalisation of Herbelin's Explicit Substitution Calculus with Substitution Propagation
2001
Strong Normalisation of Herbelin's Explicit Substitution Calculus with Substitution Propagation
2000
Classical Logic and Computation
1998
Implementation of Proof Search in the Imperative Programming Language Pizza
1996
Forum and Its Implementation