Reference. Consistency of a Dependent Calculus of Indistinguishability
Cite
Cited by (1)
Internalizing Extensions in Lattices of Type Theories chan-2025-internalizing
Cites 43 works (5 here)
With notes (5)
Internalizing Indistinguishability with Dependent Types liu-2024-internalizing
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.
Syntax and Semantics of Quantitative Type Theory atkey-2018-syntax
I Got Plenty o’ Nuttin’ mcbride-2016-i
Complete and easy bidirectional typechecking for higher-rank polymorphism dunfield-2013-complete
External (38)
- Artifact associated with Consistency of a Dependent Calculus of Indistinguishability (2024)
- A Graded Modal Dependent Type Theory with a Universe and Erasure, Formalized (2023)
- Dependently-Typed Programming with Logical Equality Reflection (2023)
- Martin-Löf à la Coq (2023)
- A dependent dependency calculus (2022)
- Observational equality: now for good (2022)
- Sheaf Semantics of Termination-Insensitive Noninterference (2022)
- Failure of Normalization in Impredicative Type Theory with Proof-Irrelevant Propositional Equality (2020)
- A graded dependent type system with a usage-aware semantics (2020)
- Graded Modal Dependent Type Theory (2020)
- A dependently typed calculus with pattern matching and erasure inference (2020)
- POPLMark reloaded: Mechanizing proofs by logical relations (2019)
- Factorization and Normalization, Essentially (2019)
- Definitional proof-irrelevance without K (2019)
- The Coq proof assistant (2019)
- A Coq formalization of normalization by evaluation for Martin-Löf type theory (2018)
- Decidability of Conversion for Type Theory in Type Theory (2017)
- The Lean Theorem Prover (System Description) (2015)
- Towards a Formally Verified Proof Assistant (2014)
- Type-theory in color (2013)
- On Irrelevance and Algorithmic Equality in Predicative Type Theory (2012)
- Pure Type System conversion is always typable (2012)
- The implicit calculus of constructions as a programming language with dependent types (2008)
- Erasure and Polymorphism in Pure Type Systems (2008)
- On the strength of proof-irrelevant type theories (2008)
- Pure type systems with judgemental equality (2006)
- Propositions as [types] (2004)
- The implicit calculus of constructions: extending pure type systems with an intersection type binder and subtyping (2001)
- Intensionality, extensionality, and proof irrelevance in modal type theory (2001)
- A core calculus of dependency (1999)
- Coq en Coq (1996)
- Parallel reductions in λ-calculus (1995)
- A short and flexible proof of Strong Normalization for the Calculus of Constructions (1994)
- Introduction to generalized type systems (1991)
- Quotient types via coequalizers in Martin-Löf type theory (1990)
- Extracting ω's programs from proofs in the calculus of constructions (1989)
- Proofs and types (1989)
- Implementing Mathematics with the Nuprl Proof Development System (1986)