Reference. Controlling unfolding in type theory
Cite
Cited by (2)
Mechanizing Synthetic Tait Computability in Istari li_etal_2025
Three non-cubical applications of extension types zhang-2023-three
Cites 49 works (10 here)
With notes (10)
Semantic analysis of normalisation by evaluation for typed lambda calculus fiore-2022-semantic
Strict universes for Grothendieck topoi gratzer-2022-strict
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 models of Cartesian cubical type theory angiuli-2021-syntax
First Steps in Synthetic Tait Computability: The Objective Metatheory of Cubical Type Theory sterling_2021
Normalization for Cubical Type Theory sterling_angiuli_2021
Implementing a modal dependent type theory gratzer-2019-implementing
Cartesian Cubical Computational Type Theory: Constructive Reasoning with Paths and Equalities angiuli-2018-cartesian
A type theory for synthetic -categories riehl-2017-a
External (39)
- Toward a Geometry for Syntax (2025)
- Efficient elaboration with controlled definition unfolding (2024)
- A general framework for the semantics of type theory (2023)
- Consider where we can use opaque mechanism to provide abstraction (agda-stdlib issue 2136) (2023)
- The Cubical Agda library (2023)
- The Coq proof assistant (2022)
- Unfolding control for abstract blocks (Agda PR 6354) (2022)
- The Agda standard library (2022)
- Topo-logie (2021)
- Relative induction principles for type theories (2021)
- Abstract and Concrete Type Theories (2021)
- Agda User Manual, Release 2.6.2 (2021)
- Syntactic categories for dependent type theory: sketching and adequacy (2020)
- Definitional proof-irrelevance without K (2019)
- Canonicity for Cubical Type Theory (2019)
- Natural models of homotopy type theory (2018)
- Constructing quotient inductive-inductive types (2018)
- Algebraic Models of Dependent Type Theory (2018)
- Cubical type theory: a constructive interpretation of the univalence axiom (2017)
- A small scale reflection extension for the Coq system (2016)
- Featherweight VeriFast (2015)
- The biequivalence of locally cartesian closed categories and Martin-Löf type theories (2014)
- A Formal Semantics for Isorecursive and Equirecursive State Abstractions (2013)
- A Cosmology of Datatypes: Reusability and Dependent Types (2013)
- A 2-Categories Companion (2009)
- Locales and Toposes as Spaces (2007)
- Extensional equivalence and singleton types (2006)
- A type system for higher-order modules (2003)
- Semantic analysis of normalisation by evaluation for typed lambda calculus (2002)
- A Type-Theoretic Interpretation of Standard ML (2000)
- Local type inference (2000)
- The Definition of Standard ML (Revised) (1997)
- An Algorithm for Type-Checking Dependent Types (1996)
- Internal type theory (1996)
- Subtyping with singleton types (1995)
- A New Characterization of Lambda Definability (1993)
- Generalised Algebraic Theories and Contextual Categories (1978)
- An Intuitionistic Theory of Types: Predicative Part (1975)
- Aspects of topoi (1972)