What is a Topos?

Charlie Conneen · May 16, 2022

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

$\chi_A(x)=\displaystyle\begin{cases}1 & x\in A\\0 & x\not\in A\end{cases}$

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

$\mathcal{P}(X)\cong\mathbf2^X$

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

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).