Definitional Proof-Irrelevance without K - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Article Dans Une Revue Proceedings of the ACM on Programming Languages Année : 2019

Definitional Proof-Irrelevance without K

Résumé

Definitional equality—or conversion—for a type theory with a decidable type checking is the simplest tool to prove that two objects are the same, letting the system decide just using computation. Therefore, the more things are equal by conversion, the simpler it is to use a language based on type theory. Proof-irrelevance, stating that any two proofs of the same proposition are equal, is a possible way to extend conversion to make a type theory more powerful. However, this new power comes at a price if we integrate it naively, either by making type checking undecidable or by realizing new axioms—such as uniqueness of identity proofs (UIP)—that are incompatible with other extensions, such as univalence. In this paper, taking inspiration from homotopy type theory, we propose a general way to extend a type theory with definitional proof irrelevance, in a way that keeps type checking decidable and is compatible with univalence. We provide a new criterion to decide whether a proposition can be eliminated over a type (correcting and improving the so-called singleton elimination of Coq) by using techniques coming from recent development on dependent pattern matching without UIP. We show the generality of our approach by providing implementations for both Coq and Agda, both of which are planned to be integrated in future versions of those proof assistants.
Fichier principal
Vignette du fichier
main_popl.pdf (219.7 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01859964 , version 1 (22-08-2018)
hal-01859964 , version 2 (16-10-2018)

Identifiants

Citer

Gaëtan Gilbert, Jesper Cockx, Matthieu Sozeau, Nicolas Tabareau. Definitional Proof-Irrelevance without K. Proceedings of the ACM on Programming Languages, 2019, POPL'19, pp.1-28. ⟨10.1145/329031610.1145/3290316⟩. ⟨hal-01859964v2⟩
2991 Consultations
2934 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More