Equivalences for Free: Univalent Parametricity for Effective Transport

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.
Liste complète des métadonnées

Cited literature [12 references]  Display  Hide  Download

https://hal.inria.fr/hal-01559073
Contributor : Nicolas Tabareau <>
Submitted on : Tuesday, July 17, 2018 - 9:13:29 AM
Last modification on : Thursday, April 4, 2019 - 1:31:11 AM
Document(s) archivé(s) le : Thursday, October 18, 2018 - 12:38:43 PM

File

main_icfp.pdf
Publication funded by an institution

Identifiers

Citation

Nicolas Tabareau, Éric Tanter, Matthieu Sozeau. Equivalences for Free: Univalent Parametricity for Effective Transport. Proceedings of the ACM on Programming Languages, ACM, 2018, ICFP'18, pp.1-29. ⟨10.1145/3234615⟩. ⟨hal-01559073v5⟩

Share

Metrics

Record views

915

Files downloads

531