Residual theory in lambda-calculus : a formal development
Abstract
We present the complete development, in Gallina, of the residual theory of b-reduction in pure l-calculus. The main result is the prism theorem and its corollary Levy's cube lemma, a strong form the parallel-moves lemma, itself a key step towards the confluence theorem and its usual corollaries (Church-Rosser, uniqueness of normal forms). Gallina is the specification language of the Coq proof assistant. It is a specific concrete syntax for its abstract framework, the calculus of inductive constructions. It may be thought of as a smooth mixture of higher-order predicate calculus with recursive definitions, inductively defined data-types and inductive predicate definitions reminiscent of logic programming. The development presented here was fully checked in the current distribution version Coq V5.8. We just state the lemmas in the order in which they are proved, omitting the proof justifications. The full transcript is available as a standard library in the distribution of Coq.