TL;DR
This paper introduces univalent parametricity, a novel concept combining univalence and parametricity to enable seamless, automatic transport of programs and proofs across equivalent types in proof assistants like Coq.
Contribution
It develops the theory of univalent parametricity and implements a lightweight Coq framework for transparent transfer of definitions and theorems between equivalent types.
Findings
Enables switching between different representations of data types easily.
Supports transport of both basic and complex proofs across type equivalences.
Facilitates more efficient program extraction and proof reuse.
Abstract
Reasoning modulo equivalences is natural for everyone, including mathematicians. Unfortunately, in proof assistants based on type theory, equality is appallingly syntactic and, as a result, exploiting equivalences is cumbersome at best. Parametricity and univalence are two major concepts that have been explored to transport programs and proofs across type equivalences, but they fall short of achieving seamless, automatic transport. This work first clarifies the limitations of these two concepts in isolation, and then devises a fruitful marriage between both. The resulting concept, univalent parametricity, is an heterogeneous extension of parametricity strengthened with univalence that fully realizes programming and proving modulo equivalences. In addition to the theory of univalent parametricity, we present a lightweight framework implemented in Coq that allows the user to transparently…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
