Nominal Methods Group

# Users of Nominal Isabelle

If you want to see a simple example illustrating our results on Nominal Isabelle click here. For more interesting results, we already completed formalisations of Church-Rosser and strong-normalisation proofs as well as the first part of the PoplMark Challenge. We also formalised some typical proofs from SOS, Karl Crary's chapter on logical relations from Advanced Topics in Types and Programming Languages, and also a paper on LF by Harper and Pfenning. In the latter paper we found a gap in the soundness proof and corrected it (we actually gave three solutions to the problem [6]). Urban formalised and also corrected the main result of his PhD, a logical relation argument for establishing strong normalisation of cut-elimination in classical logic. Other people have used Nominal Isabelle too:

### PhD Theses using Nominal Isabelle

- Jesper Bengtson (now professor at ITU in Copenhagen) finished his PhD in 2010 with a large formalisation of the Psi-Calculus in Nominal Isabelle (see here). The Psi-calculus is a parametric framework for reasoning about process calculi. He also formalised CCS (here) using Nominal Isabelle.

### Journal and Conference Papers using Nominal Isabelle

- Jesper Bengtson and Joachim Parrow used Nominal Isabelle to verify the theory of the pi-calculus. They formalised the proof that bisimulation is a congruence (both for late and early operational semantics) available here. Moreover they formalised the proof that all late bisimilar processes are early bisimilar. The corresponding papers were presented at FOSSACS'07 and SOS'07. They also used Nominal Isabelle to formalise their work on Psi-calculi, available here. This was presented at LICS 2009 and LICS 2010. All formalisations are part of the AFP.
- Sam Tobin-Hochstadt, a student of Matthias Felleisen, used Nominal Isabelle to formalise their work on Typed Scheme. This was presented at POPL'08.
- Lucas Dixon, Alan Smaill and Alan Bundy used Nominal Isabelle to formalise proof terms of ILL and studied proof planning with this formalisation (EDI-INF-RR-0786).
- Temesghen Kahsai and Marino Miculan formalised the spi-calculus using our work - see here.
- Ayesha Yasmeen, a student of Elsa Gunter, formalised an extension of the ambient calculus using Nominal Isabelle. This was presented in the Emerging Trends section of TPHOLs'08.
- Christian Doczkal, a student of Gert Smolka, finished in 2009 his master thesis at Saarbrücken University using Nominal Isabelle. He formalised the TT-lifting technique in order to prove strong normalisation of Moggi's computational metalanguage. This is part of the AFP repository.
- Armin Heller finished his master thesis at the TU Munich in 2010 with a simple compiler verification using Nominal Isabelle.
- James Cheney formalised a number of properties of the meta-theory of mini-XQuery in Nominal Isabelle. The plan is to extend this work to full XQuery. The preliminary results appeared at CPP'11.
- Cezary Kaliszyk with input from Henk Barendregt formalised the second fixed point theorem of the lambda calculus using Nominal Isabelle 2. This work appeared at CPP'11.
- Joachim Breitner used Nominal2 for formalising Launchbury's natural semantics for lazy evaluation. This is part of the AFP.
- Larry Paulson formalised Gödel's Incompletness Theorems using Nominal2. This work appeared in the Journal of Automated Reasoning in 2015 and is part of the AFP.
- Larry Paulson formalised a second Part of Gödel's Incompletness Theorems using Nominal2. This is part of the AFP.
- Joachim Breitner proved the correctness of a GHC compiler transformation using Nominal2. This work appeared at the Haskell Symposium 2015.
- Matthias Brun and Dmitriy Traytel formalised Generic Authenticated Data Structures using Nominal Isabelle. The AFP entry is here. This work appeared in the Proceedings of the International Conference on Concurrency Theory (CONCUR 2015).
- Tjark Weber et al formalise a uniform semantic substrate for a wide variety of process calculi where states and action labels can be from arbitrary nominal sets. This includes a Hennessy-Milner logic for these systems. The AFP entry is here. This work appeared in the Proceedings of the International Conference on Concurrency Theory (CONCUR 2015).
- Andrei Popescu and Dmitriy Traytel gave a Formally Verified Abstract Account of Gödel's Incompleteness Theorems using Nominal Isabelle. The AFP entries are here, here and here. This work appeared in the Proceedings of the International Conference on Automated Deduction (CADE 2019).
- Matthias Brun and Dmitriy Traytel formalised Generic Authenticated Data Structures using Nominal Isabelle. The AFP entry is here. This work appeared in the Proceedings of International Conference on Interactive Theorem Proving (ITP 2019).
- Andrei Popescu and Dmitriy Traytel formalise Robinson Arithmetic. This includes unary term-for-var substitution for two syntactic categories (terms and formulas) and proves 15 delicate theorems: compositionality of substitution w.r.t. itself, freshness, constructors. The AFP entry is here. This work appeared in the Proceedings of the International Conference on Automated Deduction (CADE 2019).

### Entries in the Archive of Formal Proofs (AFP) using Nominal Isabelle

- Joachim Breitner proved the correctness of a GHC compiler transformation using Nominal2. The AFP entry is here. This work appeared at the Haskell Symposium 2015.
- Mark Wassell, Alasdair Armstrong, Neel Krishnaswami and Peter Sewell mechanised the Metatheory for the MiniSail ISA Specification Language using Nominal Isabelle. They needed Nominal Isabelle for handling binding. The AFP entry is here. This work appeared in the Proceedings of the 48th International Symposium on Microarchitecture MICRO-48 (2015) and at the Automated Reasoning Workshop (ARW 2018).
- Bertram Felgenhauer et al formalise the Z property introduced by Dehornoy and van Oostrom using Nominal 2. The AFP entry is here.

### Entries in the Archive of Formal that had to work around the current limitations of Nominal

- Bertram Felgenhauer formalised a higher-order term algebra, generalizing the notions of free variables, matching, and substitution. The Nominal framework provides support for reasoning over fresh names, but unfortunately, its definitions are not executable. The AFP entry is here.

[Validate this page.]