Abstract

Type theory is a formal framework in mathematical logic and computer science where every term is assigned a type. It serves as a foundation for mathematics, an alternative to set theory, and the theoretical basis for functional programming languages and proof assistants.

Definition

A type system consists of a set of rules for assigning a type to terms. Formally, we express that a term has type under a context using the typing judgment .

Core Concepts

Basic Types and Constructors

Most type theories include base types (e.g., ) and type constructors:

Dependent Types

In dependent type theory, types may depend on terms. This is essential for representing mathematical predicates:

  • Pi-types: Dependent function types .
  • Sigma-types: Dependent pair types .

The Curry-Howard Correspondence

This principle establishes a structural isomorphism between logic and type theory. Propositions are treated as types, and proofs are treated as programs.

LogicType Theory
PropositionType
ProofTerm/Program
ImplicationFunction type
ConjunctionProduct type
DisjunctionSum type

See Curry-Howard Correspondence for details.

Notable Type Theories

Intuitionistic Type Theory (ITT)

Developed by Per Martin-Löf, ITT introduces a predicative foundation for constructive mathematics based on the internal meaning of intuitionistic logic.

Intensional vs Extensional

Calculus of Constructions (CoC)

A higher-order typed lambda calculus that forms the basis of the Coq proof assistant. It extends the Lambda Cube to its most expressive vertex.

Homotopy Type Theory (HoTT)

Homotopy Type Theory interprets types as spaces and identity types as paths. It introduces the Univalence Axiom, stating that equivalent types are equal.

Cubical Type Theory

Cubical Type Theory adds computational content to the univalence axiom, making HoTT constructive with canonical forms.

Other Variants

Models

Key Concepts

History

The formal development of type theory spans over a century, evolving from a tool for resolving logical paradoxes to a constructive foundation for mathematics and computer science.

References

church1940-simple-types howard1980-curry-howard coquand1988 russell1908-type-theory martin-lof1984-mltt nordstrom-petersson-smith1990-mltt hott2013-book sorensen2006-curry-howard

Type Theory where all types are constructive.

A kind of type theory without:

See also

Extensionality

Source

https://www.youtube.com/watch?v=u92V0OMgvhM&list=PL1-2D_rCQBarjdqnM21sOsx09CtFSVO6Z