Démonstration Automatique dans le Calcul des Constructions - Inria - Institut national de recherche en sciences et technologies du numérique
Thèse Année : 1991

Automated Theorem Proving in the Calculus of Constructions

Démonstration Automatique dans le Calcul des Constructions

Gilles Dowek

Résumé

The Calculus of Constructions is an extension of higher-order logic in which the language of terms is a typed lambda-calculus with dependent types, polymorphic types, and type constructors. The richness of this type system allows to represent proofs by terms, using the Heyting semantics and the Curry-Howard isomorphism. Its computational power also makes it a tool well suited to reason about programs and prove their correctness. Automated theorem proving in a logical system is the study of methods which, starting from a proposition, automatically construct a proof of it. In the first part of this thesis we develop such a method for the Calculus of Constructions. This method fits in line with those developed by Robinson for first-order logic and Huet for higher-order logic under the name of Resolution. As far as automated theorem proving is concerned, the novelty that type systems, such as the Calculus of Constructions, bring, compared to previous logical systems, concerns the respective roles of resolution and unification. At first and higher order, resolution and unification are separated. In type systems, where terms and proofs are of the same nature, resolution and unification mingle in a single algorithm. In the second part of this thesis, we study the problems of solving equations in the Calculus of Constructions and some of its restrictions. We first show that the proof synthesis algorithm of the first part can be used as a unification algorithm, or more precisely as a closed unification algorithm. Then we study the decidable and undecidable special cases of unification. We show that in the Calculus of Constructions, as in the simply typed lambda-calculus, second-order matching is decidable. We also show that the higher-order matching is undecidable in all the calculi with dependent types, polymorphic types, type constructors, or inductive types.
Le Calcul des Constructions est une extension de la logique d'ordre supérieur dans laquelle le langage des termes est un lambda-calcul typé comprenant des types dépendants, des types polymorphes et des constructeurs de types. La richesse de ce système de types permet, en se basant sur la sémantique de Heyting et l'isomorphisme de Curry-Howard, de représenter les preuves par des termes. Sa puissance calculatoire en fait également un outil bien adapté au raisonnement sur des programmes et à la preuve de leur correction. La démonstration automatique dans un système logique est l'étude des méthodes qui, partant d'une proposition, en construisent automatiquement une preuve. Dans la première partie de cette thèse nous développons une telle méthode pour le Calcul des Constructions. Cette méthode s'inscrit dans la lignée de celles développées par Robinson pour la logique du premier ordre et Huet pour la logique d'ordre supérieur sous le nom de résolution. En ce qui concerne la démonstration automatique, la nouveauté qu'apportent les systèmes de types, tels que le Calcul des Constructions, par rapport aux systèmes logiques précédents concerne le rôle respectif de la résolution et de l'unification. Au premier ordre et à l'ordre supérieur résolution et unification sont séparées. Dans les systèmes de types, où termes et preuves sont de même nature, résolution et unification se mêlent en un algorithme unique. Dans la seconde partie de cette thèse, nous étudions les problèmes de résolution d'équations dans le Calcul des Constructions et certaines de ses restrictions. Tout d'abord nous montrons que l'algorithme de synthèse de preuves de la première partie peut être utilisé comme algorithme d'unification, ou plus exactement comme algorithme d'unification fermée. Ensuite, nous étudions les cas particuliers décidables et indécidables de l'unification. Nous montrons que dans le Calcul des Constructions, comme dans le lambda-calcul simplement typé, le filtrage du deuxième ordre est décidable. Nous montrons également que le filtrage d'ordre supérieur est indécidable dans tous les calculs qui comportent des types dépendants, des types polymorphes, des constructeurs de types ou des types inductifs.
Fichier principal
Vignette du fichier
these.pdf (693.96 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-04201468 , version 1 (10-09-2023)

Licence

Identifiants

  • HAL Id : tel-04201468 , version 1

Citer

Gilles Dowek. Démonstration Automatique dans le Calcul des Constructions. Informatique [cs]. Université de Paris 7 - Denis Diderot, 1991. Français. ⟨NNT : ⟩. ⟨tel-04201468⟩

Collections

INRIA INRIA2
42 Consultations
24 Téléchargements

Partager

More