A Calculus of Substitutions for Incomplete-Proof Representation in Type Theory
Résumé
In the framework of intuitionnistic logic and type theory, the concepts of «propositions» and «types» are identified. This principle is known as the Curry-Howard isomorphism, and it is at the base of mathematical formalisms where proofs are represented as typed lambda-terms. In order to see the process of proof construction as an incremental process of term construction, it is necessary to extend the lambda-calculus with new operators. First, we consider typed meta-variables to represent the parts of a proof that are under construction, and second, we make explicit the substitution mechanism in order to deal with capture of variables that are bound in terms containing meta-variables. Unfortunately, the theory of explicit substitution calculi with typed meta-variables is more complex than that of lambda-calculus. And worse, in general they do not share the same properties, notably with respect to confluence and strong normalization. A contribution of this thesis is to show that the properties of confluence and strong normalization are not incompatible with explicit substitution calculi. This thesis also proposes a calculus with explicit substitutions and typed meta-variables for dependent type systems, in particular for the Calculus of Constructions, which allows incomplete proof-terms to be represented. For these type systems, we prove the main typing properties: Type Uniqueness, Subject Reduction, Weak Normalization, Confluence and Typing Decidability. Finally, we give an application of this formalism to proof synthesis. The proposed method merges a procedure for term enumeration with a technique of higher-order unification via explicit substitutions where unification variables are coded as meta-variables.