Equivalences for Free - Inria - Institut national de recherche en sciences et technologies du numérique
Journal Articles Proceedings of the ACM on Programming Languages Year : 2018

Equivalences for Free

Abstract

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
Origin Publication funded by an institution
Loading...

Dates and 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)

Identifiers

Cite

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⟩
2378 View
1371 Download

Altmetric

Share

More