Reference. A relationally parametric model of dependent type theory
Cite
Cited by (3)
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.
Gluing for Type Theory GluingForTypeTheory
From parametricity to conservation laws, via Noether’s theorem atkey-2014-from
Cites 35 works (2 here)
With notes (2)
Categorical Logic and Type Theory jacobs-1999
This book is an attempt to give a systematic presentation of both logic and type theory from a categorical perspective, using the unifying concept of fibred category. Its intended audience consists of logicians, type theorists, category theorists and (theoretical) computer scientists.
Syntax and semantics of dependent types Hofmann_1997
External (33)
- Abstraction and invariance for algebraically indexed types (2013)
- Internalizing Relational Parametricity in the Extensional Calculus of Constructions (2013)
- Dependent Type Theory for Verification of Information Flow and Access Control Policies (2013)
- Homotopy Type Theory (2013)
- Relational Parametricity for Higher Kinds (2012)
- Proofs for free: Parametricity for dependent types (2012)
- Parametricity, type equality, and higher-order polymorphism (2010)
- A Deep Embedding of Parametric Polymorphism in Coq (2009)
- A Brief Overview of Agda – A Functional Language with Dependent Types (2009)
- Parametric higher-order abstract syntax for mechanized semantics (2008)
- The Girard–Reynolds isomorphism (second edition) (2007)
- The Coq proof assistant reference manual, Version 8.0 (2004)
- Parametric limits (2004)
- A lightweight implementation of generics and dynamics (2002)
- Short Cut Fusion: Proved and Improved (2001)
- The Theory of Parametricity in the Lambda Cube (Kyoto TR 1217) (2001)
- Parametric polymorphism and operational equivalence (2000)
- Categories for the Working Mathematician (2nd ed.) (1998)
- Internal Type Theory (1996)
- Parametricity as isomorphism (1994)
- Reflexive Graphs and Parametric Polymorphism (1994)
- Categorical Data Types in Parametric Polymorphism (1994)
- Relational Limits in General Polymorphism (1994)
- A Logic for Parametric Polymorphism (1993)
- Outline of a Proof Theory of Parametricity (1991)
- Functorial polymorphism (1990)
- Theorems for free! (1989)
- The calculus of constructions (1988)
- Polymorphism is not set-theoretic (1984)
- Intuitionistic Type Theory (1984)
- Types, Abstraction and Parametric Polymorphism (1983)
- Lambda Definability and Logical Relations (Edinburgh tech report) (1973)
- Lifting Grothendieck Universes (unpublished manuscript)