一句话:提出一种在保持类型检查可判定且与 univalence 兼容的前提下,为类型论加入定义性证明无关性的通用方法。
定义性相等(转换)是可判定类型检查下证明两对象相等的最简工具,但朴素地加入证明无关性会导致类型检查不可判定,或引入与 univalence 不相容的 UIP(K)等公理。本文受同伦类型论启发,提出一种为类型论扩展定义性证明无关性的通用方法:在保持类型检查可判定并与 univalence 兼容的同时,允许任意同一命题的两个证明按转换相等。文中给出判断命题能否被消去到某类型的新准则,修正并改进了 Coq 的 singleton elimination;该方法利用近期不依赖 UIP 的依赖模式匹配技术,并已在 Coq 和 Agda 中实现,计划集成到未来版本。
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.
@article{paperbot638,
title = {Definitional proof-irrelevance without K},
author = {Gaëtan Gilbert and Jesper Cockx and Matthieu Sozeau and Nicolas Tabareau},
journal = {Proceedings of the ACM on Programming Languages},
volume = {3},
number = {POPL},
year = {2019},
doi = {10.1145/3290316}
}