dependent type theory in nLab
Context
Type theory
Contents
Idea
Dependent type theory is the flavor of type theory that admits dependent types.
Its categorical semantics is in locally cartesian closed categories CC, where a dependent type
x:X⊢E(x)type x : X \vdash E(x) \; \mathrm{type}
is interpreted as a morphism E→XE \to X, hence an object in the slice category C /XC_{/X}.
Then change of context corresponds to base change in CC. See also dependent sum and dependent product.
Dependent type systems are heavily used for software certification.
In the foundations of mathematics
Dependent type theory itself support various foundations of mathematics via the propositions as some types interpretation of dependent type theory, where propositions are the types where every two elements are equal
isProp(A)≔∏ x:A∏ y:Ax= Ay\mathrm{isProp}(A) \coloneqq \prod_{x:A} \prod_{y:A} x =_A y
Suppose that a dependent type theory has a separate type judgment as well as dependent product types, dependent sum types, identity types, weak function extensionality, propositional truncations, empty type, unit type, sum types. All the operations in predicate logic are derivable from said type formers:
-
universal quantification is the dependent product type of families of propositions due to weak function extensionality
-
similarly, implication is the function type of two propositions due to weak function extensionality, and function types are just dependent product types of a constant family of types
-
logical conjunction is the product type of two propositions, and product types are just dependent sum types of a constant family of types
-
existential quantification is the propositional truncation of dependent sum types
-
logical disjunction is the propositional truncation of sum types
-
falsehood is the empty type
-
truth is the unit type
-
excluded middle and the law of double negation is stated as an inference rule about propositions
Then
-
One can add a cumulative hierarchy to the dependent type theory and work entirely in the cumulative hierarchy for material set theory
-
One can add a category of sets to the dependent type theory and work entirely in the category of sets for structural set theory
-
One can add a type universe satisfying certain axioms and axiom schemata, such as universe extensionality, closure under identity types, closure under dependent sum types, closure under dependent product types, propositional resizing, replacement, infinity, and choice, to the dependent type theory and work entirely in the universe for univalent type theory or univalent foundations. Adding internal universe types as small object classifiers as well as all higher inductive and coinductive types to the universe results in homotopy type theory.
-
One can add a Russell type of all propositions and a natural numbers type and work in the dependent type theory itself for higher-order logic.
Description
Judgments for types and terms
Properties
This (Seely, theorem 6.3). It is somewhat more complicated than this, because we need to strictify the category theory to match the category theory; see categorical model of dependent types. For a more detailed discussion see at relation between type theory and category theory.
Examples
- objective type theory
- weak type theory
- book HoTT
- Martin-Löf type theory
- cubical type theory
- higher observational type theory
- univalent type theory
- propositional logic as a dependent type theory
- higher order logic as a dependent type theory
- impredicative dependent type theory
- dependent type theory with type variables
- strongly predicative dependent type theory
-
dependent type theoretic methods in natural language semantics
-
spartan type theory?
References
For original references see at Martin-Löf dependent type theory, such as:
- Martin Hofmann, Syntax and semantics of dependent types, Chapter 2 in: Extensional concepts in intensional type theory, Ph.D. thesis, University of Edinburgh (1995), Distinguished Dissertations, Springer (1997) [ECS-LFCS-95-327, pdf, doi:10.1007/978-1-4471-0963-1]
also published as:
- Martin Hofmann, Syntax and semantics of dependent types, in Semantics and logics of computation, Publ. Newton Inst. 14, Cambridge Univ. Press (1997) 79-130 [doi:10.1017/CBO9780511526619.004]
Gentle exposition of the basic principles:
- Thomas Kehrenberg, Introduction to dependent type theory (2022-23) [blog series]
Introductory accounts:
-
Simon Thompson, §6.3 in: Type Theory and Functional Programming, Addison-Wesley (1991) [ISBN:0-201-41667-0, webpage, pdf]
-
Bart Jacobs, Chapter 10 in: Categorical Logic and Type Theory, Studies in Logic and the Foundations of Mathematics 141, Elsevier (1998) [ISBN:978-0-444-50170-7, pdf, webpage]
(emphasis on the categorical model of dependent types)
Introduction with parallel details on using proof assistants:
for Coq:
-
Adam Chlipala, Certified programming with dependent types, MIT Press 2013 [ISBN:9780262026659, pdf, book webpage]
-
Théo Winterhalter, Formalisation and Meta-Theory of Type Theory, Nantes (2020) [pdf, github]
for Agda:
-
Ulf Norell, Dependently Typed Programming in Agda, p. 230-266 in: Advanced Functional Programming AFP 2008. Lecture Notes in Computer Science 5832 (2009) [doi:10.1007/978-3-642-04652-0_5, pdf]
-
Agda Tutorial: Introduction to dependent type theory (webpage)
Original discussion of dependent type theory as the internal language of locally cartesian closed categories is in
- R. A. G. Seely, Locally cartesian closed categories and type theory, Math. Proc. Camb. Phil. Soc. (1984) 95 (pdf)
A formal definition of dependent type theories beyond Martin-Löf dependent type theory:
- Andrej Bauer, Philipp G. Haselwarter, Peter LeFanu Lumsdaine, A general definition of dependent type theories [arXiv:2009.05539]
On (essentially algebraic) formulations of dependent type theory (see here at categorical models of dependent type theory):
- Egbert Rijke, An algebraic formulation of dependent type theory, (mailing list discussion)
- Vladimir Voevodsky, B-systems, (arXiv:1410.5389)
- Vladimir Voevodsky, A C-system defined by a universe in a category, (arXiv:1406.7413)
- Vladimir Voevodsky, C-system of a module over a monad on sets, (arXiv:1406.7413)
- Vladimir Voevodsky, Subsystems and regular quotients of C-systems, (arXiv:1406.7413)
For more see the references at Martin-Löf dependent type theory.
Last revised on December 20, 2024 at 17:20:24. See the history of this page for a list of all contributions to it.