Reference. Computational higher-dimensional type theory
Cite
Cited by (8)
Proof Repair across Quotient Type Equivalences viola-2025-proof
Proofs in proof assistants like Rocq can be brittle, breaking easily in response to changes. To address this, recent work introduced an algorithm and tool in Rocq to automatically repair broken proofs in response to changes that correspond to type equivalences. However, many changes remained out of the scope of this algorithm and tool—especially changes in underlying behavior . We extend this proof repair algorithm so that it can express certain changes in behavior that were previously out of scope. We focus in particular on equivalences between quotient types —types equipped with a relation that describes what it means for any two elements of that type to be equal. Quotient type equivalences can be used to express interesting changes in representations of mathematical structures, as well as changes in the implementations of data structures. We extend this algorithm and tool to support quotient type equivalences in Rocq. Notably, since Rocq lacks quotient types entirely, our extensions use Rocq’s setoid machinery in place of quotients. Specifically, (1) our extension to the algorithm supports new changes corresponding to setoids, and (2) our extension to the tool supports this new class of changes and further automates away some of the new proof obligations. We demonstrate our extensions on proof repair case studies for previously unsupported changes. We also perform manual proof repair in Cubical Agda, a language with a univalent metatheory, which allows us to construct the first ever internal proofs of correctness for proof repair.
Syntax and models of Cartesian cubical type theory angiuli-2021-syntax
We present a cubical type theory based on the Cartesian cube category (faces, degeneracies, symmetries, diagonals, but no connections or reversal) with univalent universes, each containing Π, Σ, path, identity, natural number, boolean, suspension, and glue (equivalence extension) types. The type theory includes a syntactic description of a uniform Kan operation, along with judgmental equality rules defining the Kan operation on each type. The Kan operation uses both a different set of generating trivial cofibrations and a different set of generating cofibrations than the Cohen, Coquand, Huber, and Mörtberg (CCHM) model. Next, we describe a constructive model of this type theory in Cartesian cubical sets. We give a mechanized proof, using Agda as the internal language of cubical sets in the style introduced by Orton and Pitts, that glue, Π, Σ, path, identity, boolean, natural number, suspension types, and the universe itself are Kan in this model, and that the universe is univalent. An advantage of this formal approach is that our construction can also be interpreted in a range of other models, including cubical sets on the connections cube category and the De Morgan cube category, as used in the CCHM model, and bicubical sets, as used in directed type theory.
Normalization for Cubical Type Theory sterling_angiuli_2021
We prove normalization for (univalent, Cartesian) cubical type theory, closing the last major open problem in the syntactic metatheory of cubical type theory. Our normalization result is reduction-free, in the sense of yielding a bijection between equivalence classes of terms in context and a tractable language of β/η-normal forms. As corollaries we obtain both decidability of judgmental equality and the injectivity of type constructors.
Constructing Higher Inductive Types as Groupoid Quotients vanderweide-2020-constructing
The RedPRL Proof Assistant (Invited Paper) angiuli-2018-the
RedPRL is an experimental proof assistant based on Cartesian cubical computational type theory, a new type theory for higher-dimensional constructions inspired by homotopy type theory. In the style of Nuprl, RedPRL users employ tactics to establish behavioral properties of cubical functional programs embodying the constructive content of proofs. Notably, RedPRL implements a two-level type theory, allowing an extensional, proof-irrelevant notion of exact equality to coexist with a higher-dimensional proof-relevant notion of paths.
Meaning explanations at higher dimension angiuli-2018-meaning
Cartesian Cubical Computational Type Theory: Constructive Reasoning with Paths and Equalities angiuli-2018-cartesian
We present a dependent type theory organized around a Cartesian notion of cubes (with faces, degeneracies, and diagonals), supporting both fibrant and non-fibrant types. The fibrant fragment validates Voevodsky’s univalence axiom and includes a circle type, while the non-fibrant fragment includes exact (strict) equality types satisfying equality reflection. Our type theory is defined by a semantics in cubical partial equivalence relations, and is the first two-level type theory to satisfy the canonicity property: all closed terms of boolean type evaluate to either true or false.
A Specification for Dependent Types in Haskell weirich_etal_2017
Cites 47 works (3 here)
With notes (3)
Nominal Sets: Names and Symmetry in Computer Science pitts_nominal_sets
Observational equality, now! altenkirch-2007-observational
External (44)
- Cubical type theory: a constructive interpretation of the univalence axiom (2016)
- The intrinsic topology of Martin-Löf universes (2016)
- Practical Foundations for Programming Languages (2nd ed.) (2016)
- A nominal exploration of intuitionism (2016)
- The Coq proof assistant (2016)
- The UniMath project (2016)
- Computational higher type theory II: Dependent cubical realizability (2016)
- Computational higher type theory I: Abstract cubical realizability (2016)
- Cubical Interpretations of Type Theory (PhD thesis) (2016)
- Guarded cubical type theory: Path equality for guarded recursion (2016)
- RedPRL - the People's Refinement Logic (2016)
- PRL project (NuPRL website) (2016)
- A Cubical Approach to Synthetic Homotopy Theory (2015)
- Nominal Presentation of Cubical Sets Models of Type Theory (2015)
- Coq as a Metatheory for Nuprl with Bar Induction (2015)
- Uniform fibrations and the Frobenius condition (2015)
- A note on the uniform Kan condition in nominal cubical sets (2015)
- Homotopical patch theory (2014)
- A model of type theory in cubical sets (2014)
- A cubical type theory (Licata-Brunerie talk notes) (2014)
- Verificationism then and now (2013)
- A simple type system with two identity types (lecture notes) (2013)
- Combinatorial homotopy theory (lecture notes) (2012)
- Univalent foundations of mathematics (WoLLIC 2011 invited talk) (2011)
- Types are weak ω -groupoids (2010)
- Homotopy Theoretic Models of Identity Types (2009)
- Homotopy Theoretic Aspects of Constructive Type Theory (PhD thesis) (2008)
- Towards a practical programming language based on dependent type theory (PhD thesis) (2007)
- Natural weak factorization systems (2006)
- Introduction to the Theory of Computation (2nd ed.) (2006)
- A very short note on homotopy lambda-calculus (2006)
- Innovations in computational type theory using Nuprl (2005)
- Introduction to Lattices and Order (2002)
- The groupoid interpretation of type theory (1998)
- Computational foundations of basic recursive function theory (1993)
- Constructing type systems over an operational semantics (1992)
- A Non-Type-Theoretic Semantics for Type-Theoretic Language (PhD thesis) (1987)
- Implementing Mathematics with the Nuprl Proof Development System (1986)
- Constructive mathematics as a programming logic I: Some principles of theory (1985)
- Recursive definitions in type theory (1985)
- Constructive mathematics and computer programming (1984)
- Intuitionistic type theory (1984)
- About Models for Intuitionistic Type Theories and the Notion of Definitional Equality (1975)
- Abstract homotopy. I (1955)