Parametric quantifiers for dependent type theory
Journal article, 2017
We attribute this to the fact that MLTT uses a single type former Π to generalize both the parametric quantifier ∀ and the type former → which is non-parametric in the sense that its elements may use their argument as a value. We equip MLTT with parametric quantifiers ∀ and ∃ alongside the existing Π and Σ, and provide relation type formers for proving parametricity theorems internally. We show internally the existence of initial algebras and final co-algebras of indexed functors both by Church encoding and, for a large class of functors, by using sized types.
We prove soundness of our type system by enhancing existing iterated reflexive graph (cubical set) models of dependently typed parametricity by distinguishing between edges that express relatedness of objects (bridges) and edges that express equality (paths). The parametric functions are those that map bridges to paths.
We implement an extension to the Agda proof assistant that type-checks proofs in our type system.
cubical type theory
Agda
presheaf semantics
Parametricity
sized types
Author
Andreas Nuyts
KU Leuven
Andrea Vezzosi
Chalmers, Computer Science and Engineering (Chalmers), Computing Science (Chalmers)
Dominique Devriese
KU Leuven
Proceedings of the ACM on Programming Languages
24751421 (eISSN)
Vol. 1 ICFP 32:1--32:29-Roots
Basic sciences
Subject Categories
Computer Science
DOI
10.1145/3110276