Reference. Internalizing representation independence with univalence
Cite
Cited by (7)
Proof Repair across Quotient Type Equivalences viola-2025-proof
The category of iterative sets in homotopy type theory and univalent foundations gratzer-2024-the
Directed univalence in simplicial homotopy type theory gratzer-2024-directed
Towards Univalent Reference Types: The Impact of Univalence on Denotational Semantics sterling-2024-towards
What’s in a Bag?: An “Application Proving Interface” for Finite Bags and its Implementation dinges-2023-what
Free Commutative Monoids in Homotopy Type Theory choudhury-2023-free
Logical Relations as Types: Proof-Relevant Parametricity for Program Modules sterling_harper_2021
The theory of program modules is of interest to language designers not only for its practical importance to programming, but also because it lies at the nexus of three fundamental concerns in language design: the phase distinction, computational effects, and type abstraction. We contribute a fresh “synthetic” take on program modules that treats modules as the fundamental constructs, in which the usual suspects of prior module calculi (kinds, constructors, dynamic programs) are rendered as derived notions in terms of a modal type-theoretic account of the phase distinction. We simplify the account of type abstraction (embodied in the generativity of module functors) through a lax modality that encapsulates computational effects, placing projectibility of module expressions on a type-theoretic basis.
Our main result is a (significant) proof-relevant and phase-sensitive generalization of the Reynolds abstraction theorem for a calculus of program modules, based on a new kind of logical relation called a parametricity structure. Parametricity structures generalize the proof-irrelevant relations of classical parametricity to proof-relevant families, where there may be non-trivial evidence witnessing the relatedness of two programs—simplifying the metatheory of strong sums over the collection of types, for although there can be no “relation classifying relations,” one easily accommodates a “family classifying small families.”
Using the insight that logical relations/parametricity is itself a form of phase distinction between the syntactic and the semantic, we contribute a new synthetic approach to phase separated parametricity based on the slogan logical relations as types, by iterating our modal account of the phase distinction. We axiomatize a dependent type theory of parametricity structures using two pairs of complementary modalities (syntactic, semantic) and (static, dynamic), substantiated using the topos theoretic Artin gluing construction. Then, to construct a simulation between two implementations of an abstract type, one simply programs a third implementation whose type component carries the representation invariant.
Cites 77 works (7 here)
With notes (7)
A Higher Structure Identity Principle ahrens-2020-a
Cubical Agda: A Dependently Typed Programming Language with Univalence and Higher Inductive Types VezzosiMortbergAbel2019
Semantics of higher inductive types lumsdaine-2019-semantics
Ornaments for Proof Reuse in Coq ringer-2019-ornaments
Cartesian Cubical Computational Type Theory: Constructive Reasoning with Paths and Equalities angiuli-2018-cartesian
Homotopical patch theory angiuli-2016-homotopical
External (70)
- Leibniz equality is isomorphic to Martin-Löf identity, parametrically (2020)
- Three equivalent ordinal notation systems in cubical Agda (2020)
- Internal Parametricity for Cubical Type Theory (2020)
- The law of excluded middle in the simplicial model of type theory (2020)
- The Agda Programming Language (2020)
- The Coq Proof Assistant (2020)
- The Mathematical Components library (2020)
- UniMath: a computer-checked library of univalent mathematics (2020)
- Case Study: BatchedQueue (2019)
- Multisets in type theory (2019)
- The Marriage of Univalence and Parametricity (2019)
- Higher inductive types in cubical computational type theory (2019)
- Introduction to Univalent Foundations of Mathematics with Agda (2019)
- Syntax and Models of Cartesian Cubical Type Theory (preprint) (2019)
- The finite-multiset construction in HoTT (HoTT 2019 talk) (2019)
- Vectors and Matrices in Agda (blog post) (2019)
- On Higher Inductive Types in Cubical Type Theory (2018)
- Finite sets in homotopy type theory (2018)
- Degrees of Relatedness (2018)
- Equivalences for free: univalent parametricity for effective transport (2018)
- Homotopy Type Theory in Agda (HoTT-Agda library) (2018)
- Parametric quantifiers for dependent type theory (2017)
- Homotopy Type Theory in Lean (2017)
- HoTTSQL: proving query rewrites with univalent SQL semantics (2017)
- Higher Inductive Types in Programming (2017)
- Notions of Anonymous Existence in Martin-Löf Type Theory (2017)
- Revisiting Parametricity: Inductives and Uniformity of Propositions (2017)
- Displayed Categories (FSCD 2017) (2017)
- Modules, abstraction, and parametric polymorphism (2016)
- The next 700 syntactical models of type theory (2016)
- The HoTT library: a formalization of homotopy type theory in Coq (2016)
- Weak univalence with 'beta' implies full univalence (HoTT mailing list) (2016)
- The Lean Theorem Prover (System Description) (2015)
- Fiat: Deductive Synthesis of Abstract Data Types in a Proof Assistant (2015)
- An experimental library of formalized Mathematics based on the univalent foundations (2015)
- Cubical Type Theory: A Constructive Interpretation of the Univalence Axiom (2015)
- A Presheaf Model of Parametric Type Theory (2015)
- A Computer-Algebra-Based Formal Proof of the Irrationality of ζ(3) (2014)
- Realms: A Structure for Consolidating Knowledge about Mathematical Theories (2014)
- Data Refinement in Isabelle/HOL (2013)
- Automatic Data Refinement (2013)
- Idris, a general-purpose dependently typed programming language: Design and implementation (2013)
- Structuralism, Invariance, and Univalence (2013)
- Refinements for Free! (2013)
- Internalizing Relational Parametricity in the Extensional Calculus of Constructions (2013)
- Isomorphism is equality (2013)
- Bag Equivalence via a Proof-Relevant Membership Relation (2012)
- Homotopy Type Theory (2012)
- Proofs for free (2012)
- Parametricity in an Impredicative Sort (2012)
- The equivalence axiom and univalent models of type theory (talk notes) (2010)
- Univalent Foundations (Bonn talk notes) (2010)
- Changing Data Representation within the Coq System (2003)
- Setoids in type theory (2003)
- Changing Data Structures in Type Theory: A Study of Natural Numbers (2002)
- A coherence theorem for Martin-Löf's type theory (1998)
- Purely Functional Data Structures (1998)
- The definition of Extended ML: A gentle introduction (1997)
- Applicative functors and fully transparent higher-order modules (1995)
- Parametricity as isomorphism (1994)
- Investigations Into Intensional Type Theory (Habilitation thesis) (1993)
- Theorems for free! (1989)
- On observational equivalence and algebraic specification (1987)
- Representation independence and data abstraction (1986)
- Miranda: A non-strict functional language with polymorphic types (1985)
- Types, Abstraction and Parametric Polymorphism (1983)
- On the Role of Scientific Thought (1982)
- An Intuitionistic Theory of Types: Predicative Part (1975)
- What Numbers Could not Be (1965)
- 10.4230/lipics.itp