Reference. Internalizing Indistinguishability with Dependent Types
Cite
Cited by (3)
Internalizing Extensions in Lattices of Type Theories chan-2025-internalizing
Structural Information Flow: A Fresh Look at Types for Non-interference gouni-2025-structural
Consistency of a Dependent Calculus of Indistinguishability liu-2025-consistency
Cites 33 works (3 here)
With notes (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.
Syntax and Semantics of Quantitative Type Theory atkey-2018-syntax
I Got Plenty o’ Nuttin’ mcbride-2016-i
External (30)
- Artifact associated with Internalizing Indistinguishability with Dependent Types (2024)
- Two-level type theory and applications (2023)
- A dependent dependency calculus (2022)
- Staged compilation with two-level type theory (2022)
- Idris 2: Quantitative Type Theory in Practice (2021)
- An existential crisis resolved: type inference for first-class existential types (2021)
- A unified view of modalities in type systems (2020)
- A graded dependent type system with a usage-aware semantics (2020)
- Graded Modal Dependent Type Theory (2020)
- Definitional proof-irrelevance without K (2019)
- On Irrelevance and Algorithmic Equality in Predicative Type Theory (2012)
- Erasure and Polymorphism in Pure Type Systems (2008)
- Proving noninterference by a fully complete translation to the simply typed λ-calculus (2007)
- Practical implementation of a dependently typed functional programming language (2005)
- Translating dependency into parametricity (2004)
- Language-based information-flow security (2003)
- 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)
- Multi-stage programming with explicit annotations (1997)
- A computational formalization for partial evaluation (1996)
- Some extensions of Automath : the AUT-4 family (1994)
- Lambda Calculi with Types (1993)
- Introduction to generalized type systems (1991)
- Inductively defined types (1990)
- Extracting ω's programs from proofs in the calculus of constructions (1989)
- Certification of programs for secure information flow (1977)
- An Intuitionistic Theory of Types: Predicative Part (1975)
- Interprétation fonctionnelle et élimination des coupures de l’arithmétique d’ordre supérieur (1972)
- Type safe abstractions using program generators