This entry is about the notion in logic. For the notion of the same name in physics see at theory (physics).


Type theory

natural deduction metalanguage, practical foundations

  1. type formation rule
  2. term introduction rule
  3. term elimination rule
  4. computation rule

type theory (dependent, intensional, observational type theory, homotopy type theory)

syntax object language

computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory

logiccategory theorytype theory
trueterminal object/(-2)-truncated objecth-level 0-type/unit type
falseinitial objectempty type
proposition(-1)-truncated objecth-proposition, mere proposition
proofgeneralized elementprogram
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
cut elimination for implicationcounit for hom-tensor adjunctionbeta reduction
introduction rule for implicationunit for hom-tensor adjunctioneta conversion
logical conjunctionproductproduct type
disjunctioncoproduct ((-1)-truncation of)sum type (bracket type of)
implicationinternal homfunction type
negationinternal hom into initial objectfunction type into empty type
universal quantificationdependent productdependent product type
existential quantificationdependent sum ((-1)-truncation of)dependent sum type (bracket type of)
equivalencepath space objectidentity type/path type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
-0-truncated higher colimitquotient inductive type
coinductionlimitcoinductive type
completely presented setdiscrete object/0-truncated objecth-level 2-type/preset/h-set
setinternal 0-groupoidBishop set/setoid
universeobject classifiertype of types
modalityclosure operator, (idempotent) monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem
synthetic mathematicsdomain specific embedded programming language

homotopy levels




In mathematical logic, a theory is a formal language used to precisely axiomatize a certain class of models.

In principle also all other notions of theory, such as in the sense of physics should be special cases of this, but in practice of course there are many systems called “theories” which are not (yet) as fully formalized as in mathematical logic.


There are several different viewpoint on theories:

Hm, is that the way it should be said?

In fact, the notion of model can be generalized away from SetSet to more general categories, namely those that have enough structure to “internalize” the fragment of logic at hand. From this very general point of view on model, the syntactic category C 𝒯C_{\mathcal{T}} is the generic or universal model for 𝒯\mathcal{T}, and if we simply call C 𝒯C_{\mathcal{T}} the theory, then models and theories are placed on the same footing.

In this article we mostly consider the categorical view on “theory”.

Syntactic view


In first-order logic, a theory 𝒯\mathcal{T} is presented by

  1. a signature Σ\Sigma, specifying the allowed types of variables and the functions and relations between these;

  2. a set AA of sequents of formulas in this signature, called the axioms of the theory: expressed in the first-order language Lang(Σ)Lang(\Sigma) with equality generated by Σ\Sigma

For instance (Johnstone, def. D1.1.6).

Semantic view


Categorical view




Classes of theories

There are many different kinds of “theory” depending on the strength of the “logic”: a by-no-means complete list includes

and corresponding theories for these logics.

Hierarchy of theories: cartesian, regular, coherent, geometric

There is a hierarchy of theories that can be interpreted in the internal logic of a hierarchy of types of categories. Since predicates in the internal logic are represented by subobjects, in order to interpret any connective or quantifier in the internal logic, one needs a corresponding operation on subobjects to exist in the category in question, and be well-behaved. For instance:

Note that the axioms of one of these theories are actually of the form

φ xψ \varphi \vdash_{\vec{x}} \psi

where φ\varphi and ψ\psi are formulas involving only the specified connectives and quantifiers, \vdash means entailment, and x\vec{x} is a context. Such an axiom can also be written as

x.(φψ) \forall \vec{x}. (\varphi \Rightarrow \psi)

so that although \Rightarrow and \forall are not strictly part of any of the above logics, they can be applied “once at top level.” In an axiom of this form for geometric logic, the formulas φ\varphi and ψ\psi which must be built out of \top, \wedge, \bot, \bigvee, and \exists are sometimes called positive formulas.

Abelian theories

Interestingly, one form of logic which made an early appearance but is not ordinarily thought of as logic at all is the logic of abelian categories, which is characterized by certain exactness properties. Here a small abelian category AA can be thought of as a syntactic site for some “abelian theory”; models of the theory are exact additive functors with domain AA. The classical models would in fact be exact additive functors AAbA \to Ab, or exact additive functors to a category of modules. A “Freyd-Heron-Lubkin-Mitchell” embedding theorem is then a completeness theorem with respect to the classical models, and assures us that a statement in the language of abelian category theory is provable if and only if it is true when interpreted in any module category.

Specific examples

The simplest nontrivial theory is the

A still pretty simple but very nontrivial theory is

The theories

are discussed at fully formal ETCS.

Models for a theory

Set-theoretic models for a first-order theory in syntactic approach

The basic concept is of a structure for a first-order language LL: a set MM together with an interpretation of LL in MM. A theory is specified by a language and a set of sentences in LL. An LL-structure MM is a model of TT if for every sentence ϕ\phi in TT, its interpretation in MM, ϕ M\phi^M is true (“ϕ\phi holds in MM”). We say that TT is consistent or satisfiable (relative to the universe in which we do model theory) if there exist at least one model for TT (in our universe). Two theories, T 1T_1, T 2T_2 are said to be equivalent if they have the same models.

Given a class KK of structures for LL, there is a theory Th(K)Th(K) consisting of all sentences in LL which hold in every structure from KK. Two structures MM and NN are elementary equivalent (sometimes written by equality M=NM=N, sometimes said “elementarily equivalent”) if Th(M)=Th(N)Th(M)=Th(N), i.e. if they satisfy the same sentences in LL. Any set of sentences which is equivalent to Th(K)Th(K) is called a set of axioms of KK. A theory is said to be finitely axiomatizable if there exist a finite set of axioms for KK.

A theory is said to be complete if it is equivalent to Th(M)Th(M) for some structure MM.

Categorical point of view and models in topoi

From the categorical point of view, for every theory TT there exists a category C TC_T – the syntactic category C TC_T – such that a model for TT is a functor C T𝒯C_T \to \mathcal{T} into some topos TT, satisfying certain conditions.

For instance the syntactic categories of Lawvere theories are precisely those categories that have finite cartesian products and in which every object is isomorphic to a finite cartesian power x nx^n of a distinguished object xx. A model for a Lawvere theory is precisely a finite product preserving functor C T𝒯C_T \to \mathcal{T}.

We say a functor 𝒯 1𝒯 2\mathcal{T}_1 \to \mathcal{T}_2 of toposes (for instance a logical morphism or a geometric morphism) preserves a theory TT if for every model C T𝒯 1C_T \to \mathcal{T}_1 of TT in 𝒯 1\mathcal{T}_1, the composite C T𝒯 1𝒯 2C_T \to \mathcal{T}_1 \to \mathcal{T}_2 is a model of TT in 𝒯 2\mathcal{T}_2.

For instance, every geometric morphism preserves every Lawvere theory since, being a right adjoint, it preserves limits, hence finite products.


A standard textbook reference for the categorical semantics is section D of

A discussion of the relation between theories and their syntactic categories is at

Other references include

In Coq theories are specified with the