|logic||category theory||type theory|
|true||terminal object/(-2)-truncated object||h-level 0-type/unit type|
|false||initial object||empty type|
|proposition||(-1)-truncated object||h-proposition, mere proposition|
|cut rule||composition of classifying morphisms / pullback of display maps||substitution|
|cut elimination for implication||counit for hom-tensor adjunction||beta reduction|
|introduction rule for implication||unit for hom-tensor adjunction||eta conversion|
|disjunction||coproduct ((-1)-truncation of)||sum type (bracket type of)|
|implication||internal hom||function type|
|negation||internal hom into initial object||function type into empty type|
|universal quantification||dependent product||dependent product type|
|existential quantification||dependent sum ((-1)-truncation of)||dependent sum type (bracket type of)|
|equivalence||path space object||identity type|
|equivalence class||quotient||quotient type|
|induction||colimit||inductive type, W-type, M-type|
|higher induction||higher colimit||higher inductive type|
|completely presented set||discrete object/0-truncated object||h-level 2-type/preset/h-set|
|set||internal 0-groupoid||Bishop set/setoid|
|universe||object classifier||type of types|
|modality||closure operator, (idemponent) monad||modal type theory, monad (in computer science)|
|linear logic||(symmetric, closed) monoidal category||linear type theory/quantum computation|
|proof net||string diagram||quantum circuit|
|(absence of) contraction rule||(absence of) diagonal||no-cloning theorem|
|synthetic mathematics||domain specific embedded programming language|
The Mitchell–Bénabou language is a particuarly simple form of the internal language of an elementary topos . It makes use of the fact that in the presence of a subobject classifier , there is no need to treat formulas separately from terms, since a formula or proposition can be identified with a term of type .
Specifically, the language is a type theory where:
for each type there are also two binary relations (defined applying the diagonal map to the product term of the arguments) and (defined applying the evaluation map to the product of the term and the power term of the arguments);
a formula is true if the arrow which interprets it factors through the arrow .
one can also construct type families and dependent types, just as in any locally cartesian closed category: the types indexed by elements of some closed type are the objects of the slice category over ; sums and products of type families (i.e., - and -types) are given by the left and right adjoints to change-of-base functors, respectively. As these slice categories will be topoi themselves, all the above structure can be interpreted for type families as well.
The Mitchell–Bénabou language, like the internal logic of any category, is a powerful way to describe various objects in a topos as if they were sets. It can be viewed as making the topos into a generalized set theory or a type theory, so that we can write and prove statements in a topos, and properties of a topos, using first order intuitionistic predicate logic.
As is usual for type theories, we can conversely generate a syntactic or free topos from any suitable theory phrased in the above language. The universal property of this topos says that logical functors , for any other topos , are equivalent to models of the theory in .