I titled this website topos.place, because a topos is sometimes referred to as a “place where one does mathematics.” Given the name, I thought it appropriate to dedicate my first blog post to topoi.

From the nLab, a topos is:

- “a category of sheaves on a site”
- “a generalized space”
- “a semantics for intuitionistic formal systems”

These are fairly unenlightening descriptions, but the key property of a topos is quite intuitive. In this post, I’ll try to break down the notion of a *subobject classifier*, the key property that distinguishes topoi from other “nice” categories. In future posts, I’ll do my best at explaining how topoi are relevant in both geometry and logic.

## Subobjects

What’s a subobject? That depends on what category we’re working in. In the category $\mathrm{\mathbf{Set}}$ of sets and functions, a subobject of a given object $X$ better be a subset of $X$. So a “subobject classifier” should be some tool inside a category whose purpose is to classify subobjects of the objects in the category.

But categories don’t see subsets - they only see objects and arrows. So how are we supposed to classify subsets? Again, we’re in luck, as there’s a very nice interpretation of what a subset is, in terms of an arrow: simply the inclusion map $\iota: A\hookrightarrow X$. Now, this doesn’t quite work, since we could have two different sets $A$ and $B$ with inclusions $A\hookrightarrow X$ and $B\hookrightarrow X$ with the same image. To give a precise definition of a subobject, we need to take equivalence classes of pairs $(A,p)$ where $A\stackrel{p}{\hookrightarrow} X$: we say that $(A,p)$ and $(B,q)$ describe the same subobject if there exists an isomorphism $h:A \cong B$ such that the following diagram commutes:

## Subobject Classifiers

Let’s take a look at a cleaner representation of subobjects in $\mathrm{\mathbf{Set}}$: take your favorite subset $A\subseteq X$, and construct a map $\chi_A:X\rightarrow{0,1}$, given by

This is called the *indicator function*, or *characteristic map*, of $A$. There exists a unique such map $X\rightarrow\lbrace0,1\rbrace$ for every subset of $X$. Since the set $\lbrace0,1\rbrace$ has such a nice property as this one, maybe let’s give it a name, $\mathbf2$. If we let $\mathbf2^X$ be the set of all functions $X\rightarrow\mathbf2$, then we may describe this correspondence between subsets and maps as a bijection (or set-isomorphism) of the form

Now, there’s still a problem: the category $\mathrm{\mathbf{Set}}$ can’t tell the difference between elements of $\mathrm2$, so to obtain a purely categorical perspective, we’ll have to replace references to the distinguished element $1\in\mathbf2$. Again, luckily for us, we can always replace an element with a fixed map $\mathbf1\rightarrow\mathbf2$ from the terminal object $\mathbf1=\lbrace0\rbrace$. Let’s define $\top:\mathbf1\rightarrow\mathbf2$ by $\top(0)=1$ (maps of this form are sometimes called “truth morphisms”).

With this out of the way, we now have the language to say what exactly the subobject classifier in $\mathrm{\mathbf{Set}}$ is: it’s the pair $(\mathbf2,\top)$ as described above. The main idea, heuristically, is to say that subobjects $A\hookrightarrow X$ correspond to maps $X\rightarrow\mathbf2$. This is given by the condition that, for any subobject $A\stackrel{\iota}{\hookrightarrow}X$, there exists a map $\chi_A:X\rightarrow\mathbf2$ such that the following diagram commutes, and is a pullback square:

where the map $!$ is the unique map from $A$ to the set $\mathbf1$, which has one element. To say that the diagram commutes means that for any $a\in A$, $\chi_A(\iota(a))$ agrees with $\top(!(a))=1$. Well that’s certainly the case, since $\iota(a)=a$, and $\chi_A(a)=1$. To say this is a pullback square means that, whenever there is a map $B\stackrel{f}{\rightarrow}X$ such that $\chi_A(f(b))=1$ for all $b\in B,$ then there is a map $B\stackrel{g}{\rightarrow} A$ such that the diagram

commutes. In other words, any $B\stackrel{f}{\rightarrow}X$ for which this holds has $\mathrm{im}f\subseteq A$ (mind the conflation: $A=\mathrm{im}\,\iota$).

We may export this diagram to other categories, and obtain a nice categorical definition for what a subobject classifier is: if $\mathscr{C}$ is a (nice enough) category, a subobject classifier in $\mathscr{C}$ is a pair $(\Omega,\top)$ where $\Omega$ is an object in $\mathscr{C}$, and $\top:\mathbf{1}\rightarrow\Omega$ is a distinguished (mono)morphism from the terminal object, subject to the following condition:

For every object $X$ in $\mathscr{C}$ and every monomorphism $A\stackrel{f}{\rightarrow}X$, there exists a unique morphism $\chi_A:X\rightarrow\Omega$ such that the following diagram commutes, and is a pullback square:

By “nice enough” it suffices to consider categories with finite limits. It’s probably appropriate now to state the formal definition of a Topos: it’s just any

- cartesian closed category,
- with finite limits, and
- a subobject classifier

If you know what those first two things are, then the above discussion shows that $\mathbf{\mathrm{Set}}$ is a topos.

That does it for this post, but I plan on making a few follow-up posts. One will be a short hike through a garden of examples of topoi. The other two I have in mind are about how topoi relate to geometry and logic. Stay tuned for those!

… But if you’re just itching to learn more about these funky little categories on your own, a very accessible introduction to them can be found in Robert Goldblatt’s “Topoi: The Categorial Analysis of Logic” (Project Euclid). A slightly more advanced introduction can be found in Mac Lane, Moerdijk “Sheaves in Geometry and Logic” (Springer).