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.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...