Five Axioms of Alpha-Conversion
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Functional pearl: i am not a number--i am a free variable
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Alpha-structural recursion and induction
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Nominal techniques in Isabelle/HOL
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Information and Computation
Journal of Automated Reasoning
Hi-index | 0.00 |
We explore an axiomatized nominal approach to variable binding in Coq, using an untyped lambda-calculus as our test case. In our nominal approach, alpha-equality of lambda terms coincides with Coq's built-in equality. Our axiomatization includes a nominal induction principle and functions for calculating free variables and substitution. These axioms are collected in a module signature and proved sound using locally nameless terms as the underlying representation. Our experience so far suggests that it is feasible to work from such axiomatized theories in Coq and that the nominal style of variable binding corresponds closely with paper proofs. We are currently working on proving the soundness of a primitive recursion combinator and developing a method of generating these axioms and their proof of soundness from a grammar describing the syntax of terms and binding.