PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Proofs and types
Automating recursive type definitions in higher order logic
Current trends in hardware verification and automated theorem proving
Parallel reductions in &lgr;-calculus
Information and Computation
Higher order unification via explicit substitutions
Information and Computation
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
A Mechanisation of Name-Carrying Syntax up to Alpha-Conversion
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
Five Axioms of Alpha-Conversion
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Combining Higher Order Abstract Syntax with Tactical Theorem Proving and (Co)Induction
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Wellfounded Schematic Definitions
CADE-17 Proceedings of the 17th International Conference on Automated Deduction
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
Theoretical Computer Science
On equivalence and canonical forms in the LF type theory
ACM Transactions on Computational Logic (TOCL)
A formal treatment of the barendregt variable convention in rule inductions
Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
Alpha-structural recursion and induction
Journal of the ACM (JACM)
Mechanising λ-calculus using a classical first order theory of terms with permutations
Higher-Order and Symbolic Computation
Defining functions on equivalence classes
ACM Transactions on Computational Logic (TOCL)
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Barendregt's Variable Convention in Rule Inductions
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Formalising the π-calculus using nominal logic
FOSSACS'07 Proceedings of the 10th international conference on Foundations of software science and computational structures
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Structured induction proofs in isabelle/isar
MKM'06 Proceedings of the 5th international conference on Mathematical Knowledge Management
A recursion combinator for nominal datatypes implemented in Isabelle/HOL
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
A design structure for higher order quotients
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
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax
Electronic Notes in Theoretical Computer Science (ENTCS)
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice
The calculus of nominal inductive constructions: an intensional approach to encoding name-bindings
Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice
Formal SOS-Proofs for the Lambda-Calculus
Electronic Notes in Theoretical Computer Science (ENTCS)
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Formalising FinFuns --- Generating Code for Functions as Data from Isabelle/HOL
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
External and internal syntax of the λ-calculus
Journal of Symbolic Computation
Mechanized verification of CPS transformations
LPAR'07 Proceedings of the 14th international conference on Logic for programming, artificial intelligence and reasoning
Relating nominal and higher-order abstract syntax specifications
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
An approach for machine-assisted verification of Timed CSP specifications
Innovations in Systems and Software Engineering
Journal of Automated Reasoning
Mechanizing the metatheory of LF
ACM Transactions on Computational Logic (TOCL)
Information and Computation
Reasoning about computations using two-levels of logic
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Hobbits for Haskell: a library for higher-order encodings in functional programming languages
Proceedings of the 4th ACM symposium on Haskell
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Recursion principles for syntax with bindings and substitution
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Mechanizing the metatheory of mini-XQuery
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Teaching semantics with a proof assistant: no more LSD trip proofs
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Encoding Abstract Syntax Without Fresh Names
Journal of Automated Reasoning
On Explicit Substitution with Names
Journal of Automated Reasoning
Formalizing Adequacy: A Case Study for Higher-order Abstract Syntax
Journal of Automated Reasoning
A Canonical Locally Named Representation of Binding
Journal of Automated Reasoning
A Two-Level Logic Approach to Reasoning About Computations
Journal of Automated Reasoning
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Game Semantics in the Nominal Model
Electronic Notes in Theoretical Computer Science (ENTCS)
A locally nameless representation for a natural semantics for lazy evaluation
ICTAC'12 Proceedings of the 9th international conference on Theoretical Aspects of Computing
Compiling contextual objects: bringing higher-order abstract syntax to programmers
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Mechanizing Metatheory Without Typing Contexts
Journal of Automated Reasoning
Hi-index | 0.00 |
This paper describes a formalisation of the lambda-calculus in a HOL-based theorem prover using nominal techniques. Central to the formalisation is an inductive set that is bijective with the alpha-equated lambda-terms. Unlike de-Bruijn indices, however, this inductive set includes names and reasoning about it is very similar to informal reasoning with "pencil and paper". To show this we provide a structural induction principle that requires to prove the lambda-case for fresh binders only. Furthermore, we adapt work by Pitts providing a recursion combinator for the inductive set. The main technical novelty of this work is that it is compatible with the axiom of choice (unlike earlier nominal logic work by Pitts et al); thus we were able to implement all results in Isabelle/HOL and use them to formalise the standard proofs for Church-Rosser, strong-normalisation of beta-reduction, the correctness of the type-inference algorithm W, typical proofs from SOS and much more.