Article Dans Une Revue ACM Transactions on Programming Languages and Systems (TOPLAS) Année : 2025

Observational Equality Meets CIC

Résumé

The notion of equality is at the heart of dependent type theory, as it plays a fundamental role in program specifications and mathematical reasoning. In mainstream proof assistants such as Agda, Lean, and Coq, equality is usually defined using Martin-Löf’s identity type, an elegant and simple approach that has stood the test of time since the 1970s. However, this definition also comes with serious downsides: the intensional nature of Martin-Löf’s identity type means that it is impractical for reasoning about functions and predicates, and it is impossible to define quotient types. Recently, observational equality has garnered attention as an alternative method for encoding equality, particularly in proof assistants supporting definitionally proof-irrelevant propositions. However, it has yet to be integrated in any of the three proof assistants mentioned above, as it is not fully compatible with another important feature of type theory: indexed inductive types. In this article, we propose a systematic approach to reconcile observational equality with indexed inductive types, using a type coercion operator that computes on reflexive identity proofs. The second contribution of this article is a formal proof that this additional computation rule can be integrated to the system without compromising the decidability of conversion. Finally, we provide an implementation of our observational equality in an extension of Coq. This extension is based on the recently introduced rewrite rules and provides new extensionality principles while remaining fully backward-compatible.

Fichier principal
Vignette du fichier
toplas.pdf (3.9 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence

Dates et versions

hal-05085635 , version 1 (26-05-2025)

Licence

Identifiants

Citer

Loïc Pujet, Yann Leray, Nicolas Tabareau. Observational Equality Meets CIC. ACM Transactions on Programming Languages and Systems (TOPLAS), 2025, 47 (2), pp.1-35. ⟨10.1145/3719342⟩. ⟨hal-05085635⟩
252 Consultations
138 Téléchargements

Altmetric

Partager

  • More