Equivalences for Free - Inria - Institut national de recherche en sciences et technologies du numérique
Article Dans Une Revue Proceedings of the ACM on Programming Languages Année : 2018

Equivalences for Free

Résumé

Homotopy Type Theory promises a unification of the concepts of equality and equivalence in Type Theory, through the introduction of the univalence principle. However, existing proof assistants based on type theory treat this principle as an axiom, and it is not yet clear how to extend them to handle univalence internally. In this paper, we propose a construction grounded on a univalent version of parametricity to bring the benefits of univalence to the programmer and prover, that can be used on top of existing type theories. In particular, univalent parametricity strengthens parametricity to ensure preservation of type equivalences. We present a lightweight framework implemented in the Coq proof assistant that allows the user to transparently transfer definitions and theorems for a type to an equivalent one, as if they were equal. Our approach handles both type and term dependency. We study how to maximize the effectiveness of these transports in terms of computational behavior, and identify a fragment useful for certified programming on which univalent transport is guaranteed to be effective. This work paves the way to easier-to-use environments for certified programming by supporting seamless programming and proving modulo equivalences.
Fichier principal
Vignette du fichier
main_icfp.pdf (809.87 Ko) Télécharger le fichier
Origine Publication financée par une institution
Loading...

Dates et versions

hal-01559073 , version 1 (11-07-2017)
hal-01559073 , version 2 (25-07-2017)
hal-01559073 , version 3 (21-03-2018)
hal-01559073 , version 4 (16-07-2018)
hal-01559073 , version 5 (17-07-2018)
hal-01559073 , version 6 (14-10-2019)

Identifiants

Citer

Nicolas Tabareau, Éric Tanter, Matthieu Sozeau. Equivalences for Free. Proceedings of the ACM on Programming Languages, 2018, ICFP'18, 2 (ICFP), pp.1-29. ⟨10.1145/3234615⟩. ⟨hal-01559073v6⟩
2412 Consultations
1381 Téléchargements

Altmetric

Partager

More