Maths - Internal Language of a Topos

A subobject classifier is an arrow from 1 (terminal object) to Ω. diagram subobject classifier

This is an extension. It can be thought of like a comprhension where the variables are before the '|' and the classifier (which specifies a sub-object) is after it.

[x.X | χq(x) /\ χr(x) ] diagram
[x.X,y.Y | χq(x) /\ χr(y) ]

Model Theory

All the flavours of model theory rest on one fundamental notion, and that is the notion of a formula φ being true under an interpretation I. (Wilfrid Hodges)


In model theory a 'theory' is a set of first-order sentences, for instance:

Model of Theory

There can be multiple models of any given theory


The variables are given values which make the sentances true.

Define a structure B using structure A.


Internal Logic

See ncatlab:

large parts of mathematics can be internalized in any category with sufficient structure

The idea is to exploit the fact that all mathematics can be written in the language of logic, and seek a way to internalize logic in a category with sufficient structure.

The basic ideas of the internal logic induced by a given category C are:

The objects A of C are regarded as collections of things of a given type A: diagram internal logic
The morphisms A->B of C are regarded as terms of type B containing a free variable of type A (i.e. in a context x:A) diagram internal morphism
A subobject phi hook arrow A is regarded as a proposition (predicate): by thinking of it as the sub-collection of all those things of type A for which the statement φ is true
  • the maximal subobject is hence the proposition that is always true; this is the logical object of truth top hook arrowA
  • the minimal subobject is hence the proposition that is always false; this is the logical object of falsity bottom hook arrowA
  • one proposition implies another if as subobjects of A they are connected by a morphism in the poset of subobjects: φ=>ψ means phi hook arrowψ
diagram internal subobject
Logical operations are implemented by universal constructions on subobjects.
  • the conjunction and is the product of subobjects (their meet)
  • the conjunction or is the coproduct of subobjects (their join)
A dependent type over an object A of C may be interpreted as a morphism B->A whose “fibers” represent the types B(x)for x:A. This morphism might be restricted to be a display map or a fibration.  


Alternative Version of Expression

variables -> truth value

x1,x2,x3...xn -> Ω

Mitchell-Bénabou Language

see ncatlab

A simple form of the internal language of an elementary topos E. 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 Ω.

Term Interpretation


free or bound

I1 Variable xi in list x=(x1,x2,x3...xn)


f: x->y



c: 1->a



For a term:

  • s1 of type A
  • s2 of type B

there is <s1,s2> of type A×B.

T5   I5  



metadata block
see also:
Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.


Terminology and Notation

Specific to this page here:


This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.