Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
An abstract frame work for environment machines
Theoretical Computer Science
Type systems for programming languages
Handbook of theoretical computer science (vol. B)
The ALF proof editor and its proof engine
TYPES '93 Proceedings of the international workshop on Types for proofs and programs
Program Extraction from Normalization Proofs
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Intuitionistic model constructions and normalization proofs
Mathematical Structures in Computer Science
Journal of Functional Programming
A formalisation of a dependently typed language as an inductive-recursive family
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Simple types in type theory: deep and shallow encodings
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Representing model theory in a type-theoretical logical framework
Theoretical Computer Science
Strongly Typed Term Representations in Coq
Journal of Automated Reasoning
New equations for neutral terms: a sound and complete decision procedure, formalized
Proceedings of the 2013 ACM SIGPLAN workshop on Dependently-typed programming
Formalizing a correctness property of a type-directed partial evaluator
Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification
Hi-index | 0.00 |
We present a simply-typed λ-calculus with explicit substitutions and we give a fully formalised proof of its soundness and completeness with respect to Kripke models. We further give conversion rules for the calculus and show also for them that they are sound and complete with respect to extensional equality in the Kripke model. A decision algorithm for conversion is given and proven correct. We use the technique “normalisation by evaluation” in order to prove these results. An important aspect of this work is that it is not a formalisation of an existing proof, instead the proof has been done in interaction with the proof system, ALF.