Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
Theoretical Computer Science
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mechanizing the Metatheory of LF
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
Revisiting Cut-Elimination: One Difficult Proof Is Really a Proof
RTA '08 Proceedings of the 19th international conference on Rewriting Techniques and Applications
Theory support for weak higher order abstract syntax in Isabelle/HOL
Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice
External and internal syntax of the λ-calculus
Journal of Symbolic Computation
Formalising the π-calculus using nominal logic
FOSSACS'07 Proceedings of the 10th international conference on Foundations of software science and computational structures
General bindings and alpha-equivalence in nominal Isabelle
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Reasoning about constants in nominal isabelle or how to formalize the second fixed point theorem
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Hi-index | 0.00 |
Pitts et al introduced a beautiful theory about names and binding based on the notions of permutation and support. The engineering challenge is to smoothly adapt this theory to a theorem prover environment, in our case Isabelle/HOL. We present a formalisation of this work that differs from our earlier approach in two important respects: First, instead of representing permutations as lists of pairs of atoms, we now use a more abstract representation based on functions. Second, whereas the earlier work modeled different sorts of atoms using different types, we now introduce a unified atom type that includes all sorts of atoms. Interestingly, we allow swappings, that is permutations build from two atoms, to be ill-sorted. As a result of these design changes, we can iron out inconveniences for the user, considerably simplify proofs and also drastically reduce the amount of custom ML-code. Furthermore we can extend the capabilities of Nominal Isabelle to deal with variables that carry additional information. We end up with a pleasing and formalised theory of permutations and support, on which we can build an improved and more powerful version of Nominal Isabelle.