# nLab Leinster2010

An informal introduction to topos theory

# An informal introduction to topos theory

This is a changing, editable document. You can also read a peer-reviewed, unchanging, non-editable version.

##### Tom Leinster

School of Mathematics and Statistics, University of Glasgow, Glasgow G12 8QW, UK; Tom.Leinster@glasgow.ac.uk. Supported by an EPSRC Advanced Research Fellowship.

## Introduction

This short text is for readers who are confident in basic category theory but know little or nothing about toposes. It is based on some impromptu talks given to a small group of category theorists. I am no expert on topos theory. These notes are for people even less expert than me.

In keeping with the spirit of the talks, what follows is light on both detail and references. For the reader wishing for more, almost everything here is presented in respectable form in Mac Lane and Moerdijk’s very pleasant introduction to topos theory (1994). Nothing here is new, not even the expository viewpoint (very loosely inspired by Johnstone (2003)).

As a rough indication of the level of knowledge assumed, I will take it that you are totally comfortable with the Yoneda Lemma and the concept of cartesian closed category, but I will not assume that you know the definition of subobject classifier or of topos.

Section 1 explains the definition of topos. The remaining three sections discuss some of the connections between topos theory and other subjects. There are many more such connections than I will mention; I hope it is abundantly clear that these notes are, by design, a quick sketch of a large subject.

Section 2 is on connections between topos theory and set theory. There are two themes here. One is that, using the language of toposes, we can write down an axiomatization of sets that sticks closely to how sets are actually used in mathematics. This provides an appealing alternative to ZFC. The other, related, theme is that

a topos is a generalized category of sets.

Section 3 is on connections with geometry (in a broad sense); there the thought is that

a topos is a generalized space.

Section 4 is on connections with universal algebra:

a topos is a generalized theory.

What this means is that there is one topos embodying the concept of ‘ring’, another embodying the concept of ‘field’, and so on. This is the story of classifying toposes.

Sections 24 can be read in any order, except that ideally §3 (geometry) should come before §4 (universal algebra). You can read §4 without having read §3, but the price to pay is that the notion of ‘geometric morphism’—defined in §3 and used in §4—might seem rather mysterious.

Algebraic geometers beware: the word ‘topos’ is used by mathematicians in two slightly different senses, according to circumstance and culture. There are elementary toposes and Grothendieck toposes. Category theorists tend to use ‘topos’ to mean ‘elementary topos’ by default, although Grothendieck toposes are also important in category theory. But when an algebraic geometer says ‘topos’, they almost certainly mean ‘Grothendieck topos’ (what else?).

Grothendieck toposes are categories of sheaves. Elementary toposes are slightly more general, and the definition is simpler. They are what I will emphasize here. Grothendieck toposes are the subject of Section 3, and appear fleetingly elsewhere; but if you only want to learn about categories of sheaves, this is probably not the text for you.

##### Acknowledgements

I thank Andrei Akhvlediani, Eugenia Cheng, Richard Garner, Nick Gurski, Ignacio Lopez Franco and Emily Riehl for their participation and encouragement. Aspects of Section 4 draw on a vaguely similar presentation of vaguely similar material by Richard Garner. I thank the organizers of Category Theory 2010 for making the talks possible, even though they did not mean to: Francesca Cagliari, Eugenio Moggi, Marco Grandis, Sandra Mantovani, Pino Rosolini, and Bob Walters. I thank Filip Bár, Jon Phillips, Urs Schreiber, Mike Shulman, Alex Simpson, Danny Stevenson and Todd Wilson for suggestions and corrections. I am especially grateful to Todd Trimble for carefully reading an earlier version and suggesting many improvements.

## The definition of topos

The hardest part of the definition of topos is the concept of subobject classifier, so I will begin there. For motivation, I will speak of ‘the category of sets’ (and functions). What exactly this means will be discussed in Section 2, but for now we proceed informally.

In the category of sets, inverse images are a special case of pullbacks. That is, given a map $f\colon X \to Y$ of sets and a subset $B \subseteq Y$, we have a pullback square

\begin{matrix} \mathllap{f^{-1}} B & \begin{svg} [[!include SVG rightarrow]]\end{svg} & B \\ \begin{svg} [[!include SVG hookdownarrow]]\end{svg} \mathrlap{\array{\arrayopts{\align{bottom}}\; \begin{svg} [[!include SVG pullback]]\end{svg}\\ \space{30}{10}{1}}} && \begin{svg} [[!include SVG hookdownarrow]]\end{svg} \\ X & \underset{\scriptsize f}{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & Y. \end{matrix}

In particular, this holds when $B$ is a 1-element subset $\{ y\}$ of $Y$:

\begin{matrix} \mathllap{f^{-1}} \{ y\} & \begin{svg} [[!include SVG rightarrow]]\end{svg} & \{ y\} \\ \begin{svg} [[!include SVG hookdownarrow]]\end{svg} \mathrlap{\array{\arrayopts{\align{bottom}}\;\begin{svg} [[!include SVG pullback]]\end{svg}\\ \space{30}{10}{1}}} && \begin{svg} [[!include SVG hookdownarrow]]\end{svg} \\ X & \underset{\scriptsize f}{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & Y. \end{matrix}

There is no virtue in distinguishing between one-element sets, so we might as well write $1$ instead of $\{ y\}$; then the inclusion $\{ y\} \hookrightarrow Y$ becomes the map $1 \to Y$ picking out $y \in Y$, and we have a pullback square

\begin{matrix} \mathllap{f^{-1}} \{ y\} & \overset{\scriptsize !}{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & 1 \\ \array{\begin{svg} [[!include SVG hookdownarrow]]\end{svg}} \mathrlap{\array{\arrayopts{\align{bottom}}\space{0}{30}{10}\begin{svg} [[!include SVG pullback]]\end{svg}}} && \array{\begin{svg} [[!include SVG downarrow]]\end{svg}} \mathrlap{y} \\ X & \underset{\scriptsize f}{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & Y. \end{matrix}

Next consider characteristic functions of subsets. Fix a two-element set $2 = \{ 𝗍, 𝖿\}$ (‘true’ and ‘false’). Then for any set $X$, the subsets of $X$ are in bijective correspondence with the functions $X \to 2$. In one direction, given a subset $A \subseteq X$, the corresponding function $\chi _{A}\colon X \to 2$ is defined by

$\chi _{A}(x) = \begin{cases} 𝗍&\text{if}\; x \in A \\ 𝖿&\text{if}\; x \notin A \end{cases}$

($x \in X$). In the other, given a function $\chi \colon X \to 2$, the corresponding subset of $X$ is $\chi ^{-1}\{ 𝗍\}$. To say that this latter process $\chi \mapsto \chi ^{-1}\{ 𝗍\}$ is a bijection is to say that for all $A \subseteq X$, there is a unique function $\chi \colon X \to 2$ such that $A = \chi ^{-1}\{ 𝗍\}$. In other words: for all $A \subseteq X$, there is a unique function $\chi \colon X \to 2$ such that

$\begin{matrix} A & \overset{\scriptsize !}{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & 1 \\ \array{\begin{svg} [[!include SVG hookdownarrow]]\end{svg}} && \array{\begin{svg} [[!include SVG downarrow]]\end{svg}} \mathrlap{𝗍} \\ X & \underset{\scriptsize \chi }{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & 2 \end{matrix}$

is a pullback square.

This property of sets can now be stated in purely categorical terms. We use $\rightarrowtail$ to indicate a mono ($=$ monomorphism $=$ monic).

###### Definition

Let $\mathcal{E}$ be a category with finite limits. A subobject classifier in $\mathcal{E}$ is an object $\Omega$ together with a map $𝗍\colon 1 \to \Omega$ such that for every mono $A \stackrel{m}{\rightarrowtail } X$ in $\mathcal{E}$, there exists a unique map $\chi \colon X \to \Omega$ such that

$\begin{matrix} A & \overset{\scriptsize !}{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & 1 \\ \mathllap{m}\array{\begin{svg} [[!include SVG downarrowtail]]\end{svg}} && \array{\begin{svg} [[!include SVG downarrow]]\end{svg}} \mathrlap{𝗍} \\ X & \underset{\scriptsize \chi }{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & \Omega \end{matrix}$

is a pullback square.

So, we have just observed that $\mathbf{Set}$ has a subobject classifier, namely, the two-element set. In the general setting, we may write $\chi$ as $\chi _{A}$ (or properly, $\chi _{m}$) and call it the characteristic function of $A$ (or $m$).

To understand this further, we need two lemmas.

###### Lemma

In any category, the pullback of a mono is a mono. That is, if

$\begin{matrix} \cdot & \begin{svg} [[!include SVG rightarrow]]\end{svg} & \cdot \\ \mathllap{m'}\array{\begin{svg} [[!include SVG downarrow]]\end{svg}} && \array{\begin{svg} [[!include SVG downarrow]]\end{svg}} \mathrlap{m} \\ \cdot & \begin{svg} [[!include SVG rightarrow]]\end{svg} & \cdot \end{matrix}$

is a pullback square and $m$ is a mono, then so is $m'$.

###### Lemma

In any category with a terminal object $1$, every map out of $1$ is a mono.

So, pulling $𝗍\colon 1 \to \Omega$ back along any map $X \to \Omega$ gives a mono into $X$.

It will also help to know the result of the following little exercise (Johnstone (2003), A1.6.1). It says, roughly, that in the definition of subobject classifier, the fact that $1$ is terminal comes for free.

###### Fact

Let $\mathcal{E}$ be a category and let $T \stackrel{𝗍}{\rightarrowtail } \Omega$ be a mono in $\mathcal{E}$. Suppose that for every mono $A \stackrel{m}{\rightarrowtail } X$ in $\mathcal{E}$, there is a unique map $\chi \colon X \to \Omega$ such that there is a pullback square

$\begin{matrix} A & \begin{svg} [[!include SVG rightarrow]]\end{svg} & T \\ \mathllap{m}\array{\begin{svg} [[!include SVG downarrowtail]]\end{svg}} && \array{\begin{svg} [[!include SVG downarrowtail]]\end{svg}} \mathrlap{𝗍} \\ X & \underset{\scriptsize \chi }{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & \Omega . \end{matrix}$

Then $T$ is terminal in $\mathcal{E}$.

This leads to a second description of subobject classifiers. Let $\mathbf{Mono}(\mathcal{E})$ be the category whose objects are monos in $\mathcal{E}$ and whose maps are pullback squares. Then a subobject classifier is exactly a terminal object of $\mathbf{Mono}(\mathcal{E})$.

Here is a third way of looking at subobject classifiers. Given a category $\mathcal{E}$ and an object $X$, a subobject of $X$ is officially an isomorphism class of monos $A \stackrel{m}{\rightarrowtail } X$ (where isomorphism is taken in the slice category $\mathcal{E}/X$). For example, when $\mathcal{E}= \mathbf{Set}$, two monos

$A \stackrel{m}{\rightarrowtail } X, \quad A' \stackrel{m'}{\rightarrowtail } X$

are isomorphic if and only if they have the same image; so subobjects of $X$ correspond one-to-one with subsets of $X$. I say ‘officially’ because half the time people use ‘subobject of $X$’ to mean simply ‘mono into $X$’, or slip between the two meanings without warning. It is a harmless abuse of language, which I will adopt.

For $X \in \mathcal{E}$, let $\mathrm{Sub}(X)$ be the class of subobjects (in the official sense) of $X$. Assume that $\mathcal{E}$ is well-powered, that is, each $\mathrm{Sub}(X)$ is a set rather than a proper class. Assume also that $\mathcal{E}$ has pullbacks. By Lemma 2, every map $X \stackrel{f}{\to } Y$ in $\mathcal{E}$ induces a map $\mathrm{Sub}(Y) \stackrel{f^{*}}{\to } \mathrm{Sub}(X)$ of sets, by pullback. This defines a functor $\mathrm{Sub}\colon \mathcal{E}^{\mathrm{op}}\to \mathbf{Set}$.

Third description: a subobject classifier is a representation of this functor $\mathrm{Sub}$.

This makes intuitive sense, since for $\mathrm{Sub}$ to be representable means that there is an object $\Omega \in \mathcal{E}$ satisfying

$\mathrm{Sub}(X) \cong \mathcal{E}(X, \Omega )$

naturally in $X \in \mathcal{E}$. In the motivating case of the category of sets, this directly captures the thought that subsets of a set $X$ correspond naturally to maps $X \to \{ 𝗍, 𝖿\}$.

Now we show that this is equivalent to the original definition. By the Yoneda Lemma, a representation of $\mathrm{Sub}\colon \mathcal{E}^{\mathrm{op}}\to \mathbf{Set}$ amounts to an object $\Omega \in \mathcal{E}$ together with an element $𝗍\in \mathrm{Sub}(\Omega )$ that is ‘generic’ in the following sense:

for every object $X \in \mathcal{E}$ and element $m \in \mathrm{Sub}(X)$, there is a unique map $\chi \colon X \to \Omega$ such that $\chi ^{*}(𝗍) = m$.

In other words, a representation of $\mathrm{Sub}$ is a mono $T \stackrel{𝗍}{\rightarrowtail } \Omega$ in $\mathcal{E}$ satisfying the condition in Fact 4. In other words, it is a subobject classifier.

###### Definition

A topos (or elementary topos) is a cartesian closed category with finite limits and a subobject classifier.

###### Examples

1. The primordial topos is $\mathbf{Set}$. It has special properties not shared by most other toposes. This is the subject of Section 2.

2. For any set $I$, the category $\mathbf{Set}^{I}$ of $I$-indexed families of sets is a topos. Its subobject classifier is the constant family $(2)_{i \in I}$, where $2$ is a two-element set.

3. For any group $G$, the category $\mathbf{Set}^{G}$ of left $G$-sets is a topos. Its subobject classifier is the set $2$ with trivial $G$-action.

4. Encompassing all the previous examples, if $\mathbb{A}$ is any small category then the category $\widehat{\mathbb{A}} = \mathbf{Set}^{\mathbb{A}^{\mathrm{op}}}$ of presheaves on $\mathbb{A}$ is a topos. We can discover what its subobject classifier must be by a thought experiment: if $\Omega$ is a subobject classifier then by the Yoneda Lemma,

$\Omega (a) \cong \widehat{\mathbb{A}}( \mathbb{A}(-, a), \Omega ) \cong \mathrm{Sub}(\mathbb{A}(-, a))$

for all $a \in \mathbb{A}$. So $\Omega (a)$ must be the set of subfunctors of $\mathbb{A}(-, a)$; and one can check that defining $\Omega (a)$ in this way does indeed give a subobject classifier. A subfunctor of $\mathbb{A}(-, a)$ is called a sieve on $a$; it is a collection of maps into $a$ satisfying a certain condition.

5. For any topological space $S$, the category $\mathbf{Sh}(S)$ of sheaves on $S$ is a topos. This is the subject of Section 3. Modulo a small lie that I will come back to there, the space $S$ can be recovered from the topos $\mathbf{Sh}(S)$. Hence the class of spaces embeds into the class of toposes, and this is why toposes can be viewed as generalized spaces.

Sheaves will be defined and explained in Section 3. To give a brief sketch: denote by $\mathbf{Open}(S)$ the poset of open subsets of $S$; then a presheaf on the space $S$ is a presheaf on the category $\mathbf{Open}(S)$, and a sheaf on $S$ is a presheaf with a further property. I will consistently use ‘sheaf’ to mean what some would call ‘sheaf of sets’. A sheaf of groups, rings, etc. is the same as an internal group, ring etc. in $\mathbf{Sh}(S)$.

6. The category $\mathbf{FinSet}$ of finite sets is a topos. Similarly, $\mathbf{Set}$ can be replaced by $\mathbf{FinSet}$ in all of the previous examples, giving toposes of finite $G$-sets, finite sheaves, etc.

You might ask ‘why is the definition of topos what it is? Why that particular collection of axioms? What’s the motivation?’ I will not attempt to answer, except by explaining several ways in which the definition has been found useful. It is also worth noting that the topos axioms have many non-obvious consequences, giving toposes a far richer structure than most categories. For example, every map in a topos factorizes, essentially uniquely, as an epi followed by a mono. More spectacularly, the axioms imply that every topos has finite colimits. This can be proved by the following very elegant strategy, due to Paré (1974). For every topos $\mathcal{E}$, we have the contravariant power set functor $P = \Omega ^{(-)}\colon \mathcal{E}^{\mathrm{op}}\to \mathcal{E}$. It can be shown that $P$ is monadic. But monadic functors create limits, and $\mathcal{E}$ has finite limits. Hence $\mathcal{E}^{\mathrm{op}}$ has finite limits; that is, $\mathcal{E}$ has finite colimits.

## Toposes and set theory

Here I will describe what makes ‘the’ category of sets special among all toposes, and explain why I just put ‘the’ in quotation marks. This is the stuff of revolution: it can completely change your view of set theory. It also provides an invaluable insight into topos theory as a whole.

We begin by listing some special properties of the topos $\mathbf{Set}$, using only the most commonplace assumptions about how sets and functions behave.

1. The terminal object $1$ is a separator (generator). That is, given maps $X \underoverset{\quad g \quad }{f}{\rightrightarrows } Y$ in $\mathbf{Set}$, if $f \circ x = g \circ x$ for all $x\colon 1 \to X$ then $f = g$.

It is worth dwelling on what this says. Maps $1 \to X$ correspond to elements of $X$, and we make no notational distinction between the two. Moreover, given an element $x \in X$ and a map $f\colon X \to Y$, we can compose the maps

$1 \stackrel{x}{\to } X \stackrel{f}{\to } Y$

to obtain a map $f \circ x\colon 1 \to Y$, and this is the map corresponding to the element $f(x) \in Y$. (We might harmlessly write both $f \circ x$ and $f(x)$ as $f x$.) Thus, elements are a special case of functions, and evaluation is a special case of composition.

The property above says that if $f(x) = g(x)$ for all $x \in X$ then $f = g$. In other words, a function is determined by its effect on elements.

2. Write $0$ for the initial object of $\mathbf{Set}$ (the empty set). Then $0 \ncong 1$. Equivalently, $\mathbf{Set}$ is not equivalent to the terminal category $\mathbb{1}$.

A topos satisfying properties 1 and 2 is called well-pointed.

3. This property says, informally, that there is a set consisting of the natural numbers.

What are the ‘the natural numbers’, though? One way to get at an answer is to use the principle that sequences can be defined recursively. That is, given a set $X$, an element $x \in X$, and a map $r\colon X \to X$, there is a unique sequence $(x_{n})_{n = 0}^{\infty }$ in $X$ such that

(1)$x_{0} = x, \quad x_{n + 1} = r(x_{n}) \quad (n \in \mathbb{N}).$

A sequence $(x_{n})_{n = 0}^{\infty }$ in $X$ is just a map $f\colon \mathbb{N}\to X$, and if we write $s\colon \mathbb{N}\to \mathbb{N}$ for the function $n \mapsto n + 1$ (‘successor’), then (1) says exactly that the diagram

(2) \begin{matrix} 1 & \overset{0}{\begin{svg} <div> 

</div>

\end{svg}} & \mathbb{N} & \stackrel{s}{\begin{svg}

\end{svg}} & \mathbb{N} \ & \mathrlap{\quad x} \array{\begin{svg}

\end{svg}} &\array{\begin{svg}

\end{svg}}\mathrlap{f} & &\array{\begin{svg}

\end{svg}}\mathrlap{f} \ &&X &\stackrel{r}{\begin{svg}

\end{svg}} &X \end{matrix} \end{equation} commutes.

###### Definition ###### Let $\begin{matrix} 1 & \overset{0}{\begin{svg}\mathcal{E}$ be a category with a terminal object, $1$. A natural numbers object in $\mathcal{E}$ is a triple $(N, 0, s)$, with $N \in \mathcal{E}$, $0\colon 1 \to N$, and $s\colon N \to N$, that is initial as such: for any triple $(X, x, r)$ of the same type, there is a unique map $f\colon N \to X$ such that (2) commutes (with $N$ in place of $\mathbb{N}$).

Property 3 is, then, that $\mathbf{Set}$ has a natural numbers object.

1. Epis split. That is, for any epimorphism (surjection) $e\colon X \to Y$ in $\mathbf{Set}$, there exists a map $m\colon Y \to X$ such that $e \circ m = 1_{Y}$. The splitting $m$ chooses for each $y \in Y$ an element of the nonempty set $e^{-1}\{ y\}$. The existence of such splittings is precisely the Axiom of Choice. Generally, a category is said to satisfy the Axiom of Choice (or to ‘have Choice’) if epis split.

In summary,

sets and functions form a well-pointed topos with natural numbers object and Choice.

The category of sets has many other elementary properties (such as the fact that the subobject classifier has exactly two elements), but they are all consequences of the properties just mentioned.

But what is this thing called ‘the category of sets’? What do we have to assume about sets in order to prove that these properties hold?

Many mathematicians do not like to be bothered with such questions, because they know that the standard answer will be something like ‘sets are anything satisfying the axioms of ZFC’—and they feel that ZFC is irrelevant to what they do, and prefer not to hear about it.

The standard answer is valid, in the sense that for every model of ZFC, there is a resulting category of sets satisfying the properties above. But it may seem irrelevant, because at no point in establishing the properties did it feel necessary to call on an axiom system: all the properties are suggested directly by the naive imagery of a set as a bag of dots.

There is, however, another type of answer—and this was Lawvere‘s radical idea. It is this:

we take the properties above as our axioms on sets.

In other words, we do away with ZFC entirely, and ask instead that sets and functions form a well-pointed topos with natural numbers object and Choice. ‘The’ category of sets is any category satisfying these axioms. In fact we should say a category of sets, since there may be many different such categories, as we shall see.

This is Lawvere‘s Elementary Theory of the Category of Sets (ETCS), stated in modern language. (See Lawvere (1964), or Lawvere and Rosebrugh (2003) for a good expository account.) It is nearly fifty years old, but still has not gained the currency it deserves, for reasons on which one can speculate.

##### Digression

You might be thinking that this is circular: that this axiomatization of sets depends on the notion of category, and the notion of category depends on some notion of collection or set. But in fact, ETCS does not depend on the general notion of category. It can be stated without using the word ‘category’ once.

To see this, we need to back up a bit. The ZFC axiomatization of sets looks, informally, like this:

• there are some things called ‘sets

• there is a binary relation$\in$’ on sets

• some axioms hold.

People seeing this (or the formal version) often ask certain questions. What does ‘some things’ mean? Do you mean that there is a set of sets? (No.) What exactly is meant by ‘binary relation’? (It means that for each set $X$ and set $Y$, the statement ‘$X \in Y$’ is deemed to be either true or false.) What do you mean, ‘deemed’? Etc. This is not a logic course, and I will not attempt to answer the questions except to say that there is an assumed common understanding of these terms. To hide behind jargon, ZFC is a first-order theory.

The ETCS axiomatization of sets looks like this:

• there are some things called ‘sets

• for each set $X$ and set $Y$, there are some things called ‘functions from $X$ to $Y$

• for each set $X$, set $Y$ and set $Z$, there is a binary operation assigning to each pair of functions

$f\colon X \to Y, \quad g\colon Y \to Z$

a function $g \circ f\colon X \to Z$

• some axioms hold.

You can ask the same kind of logical questions as for ZFC—what exactly is meant by ‘binary operation’? etc.—which again I will not attempt to answer. The difficulties are no worse than for ZFC, and again, in the jargon, ETCS is a first-order theory.

Stated in this way, the ETCS axioms begin by saying that composition is associative and has identities (so that sets, functions and composition of functions define a category); then they say that binary products and equalizers of sets exist, and there is a terminal set (so that the category of sets has finite limits); and so on, until we have said that sets and functions form a well-pointed topos with natural numbers object and Choice. You can do it in about ten axioms.

Here ends the digression.

ZFC axiomatizes sets and membership, whereas ETCS axiomatizes sets and functions. Anything that can be expressed in one language can be expressed in the other: in the usual implementation of ZFC, a function $X \to Y$ is defined as a suitable subset of $X \times Y$, and in ETCS, an element of $X$ is defined as a function from the terminal set to $X$. But an advantage of the categorical approach is that it avoids the chains of elements of elements of elements that are so important in traditional set theory, yet seem so distant from most of mathematics.

ZFC is slightly stronger than ETCS. ‘Stronger’ means that everything that can be deduced about sets from the ETCS axioms can also be deduced in ZFC, but not vice versa. ‘Slightly’ is meant in a sociological sense. I believe it has been said that the mathematics in an ordinary undergraduate syllabus (excluding, naturally, any course in ZFC) makes no more assumptions about sets than are made by ETCS. If that is so, it must also be the case that for many mathematicians, nothing in their entire research career requires more than ETCS.

The technical relationship between ZFC and ETCS is well understood. It is known exactly which fragment of ZFC is equivalent to ETCS (namely, ‘bounded’ or ‘restricted’ Zermelo with Choice; see Mac Lane and Moerdijk (1994)). It is also known what needs to be added to ETCS in order to obtain a system of equal strength to ZFC. This extra ingredient is an axiom scheme (a countably infinite family of axioms) that set theorists in the traditional mould would call Replacement, and category theorists would call a form of cocompleteness. It says, informally, that given any set $I$ and family $(X_{i})_{i \in I}$ of sets specified by a first-order formula, the coproduct $\sum _{i \in I} X_{i}$ exists. The existence of this coproduct is expressed by saying that there exist a set $X$ and a map $p\colon X \to I$ (to be thought of as the projection $\sum _{i \in I} X_{i} \to I$) such that for each $i \in I$, the inverse image $p^{-1}\{ i\}$ is isomorphic to $X_{i}$. See Section 8 of McLarty (2004) for details.

Topos theory therefore provides a different viewpoint on set theory. Let us take a brief look from this new viewpoint at a famous theorem of set theory: that the Continuum Hypothesis is independent of the usual set-theoretic axioms, as proved by Gödel and Cohen.

Temporarily, let us say that a ‘category of sets’ is a well-pointed topos with natural numbers object and Choice, satisfying the axiom scheme of Replacement. A category of sets is said to satisfy the Continuum Hypothesis if for all objects $X$,

\begin{aligned} &\text{there exist monos}\; N \rightarrowtail X \rightarrowtail 2^{N} \\ \implies &X \cong N \;\text{or}\; X \cong 2^{N}. \end{aligned}

(As usual, $N$ denotes the natural numbers object; $2$ is the subobject classifier.) Stated categorically, the theorem is this: given any category of sets, you can build one that satisfies the Continuum Hypothesis and one that does not. This is only a rephrasing of the standard statement, but if you are more at home with the term ‘category’ than with ‘model of a first-order theory’, you might find it less mysterious.

So far we have seen the benefits of viewing the/a category of sets as a special topos. But the other way round, there are great benefits to viewing a topos as a generalized category of sets. For example, we might view $\mathbf{Set}^{\mathbb{N}}$ as the category of sets varying through (discrete) time. The set of human beings alive today is an object of $\mathbf{Set}^{\mathbb{N}}$: as the meaning of ‘today’ changes, the set changes. A sheaf can similarly be understood as a set varying through space.

People (especially Lawvere) sometimes refer to the category of sets as the (or a) topos of constant sets, to contrast it with toposes of variable sets. There are also toposes whose objects can informally be thought of as ‘cohesivesets, which means the following. In an ordinary set, the points have no relation or attachment to each other: they do not ‘cohere’. But a cohesive set carries something like a topology or smooth structure, so that the points are in some sense stuck together. For example, there are toposes of smooth spaces, which are the setting for synthetic differential geometry. From this point of view, the category of ordinary sets is extreme among all toposes: its objects are sets with no variation or cohesion at all.

Viewing the objects of a topos as generalized sets is much more than a useful mental technique. In fact, it is valid to use set-like language and reasoning in any topos, provided that we stick to certain rules. This language is called the ‘internal language’ of the topos.

Many of the central ideas of topos theory are simple, but that simplicity can easily be obscured by the richness of structure available in a topos. Such is the case for the internal language. I will therefore describe the idea in a much more basic setting.

First let $\mathcal{E}$ be any category whatsoever, and let $X$ be an object of $\mathcal{E}$. A generalized element of $X$ is simply a map in $\mathcal{E}$ with codomain $X$. A generalized element $x\colon S \to X$ may be said to be of shape $S$, or to be an $S$-element of $X$. In the special case that $S$ is terminal, $S$-elements are called global elements. (See Example 9(3) for a hint on the reason for the name.) In the category of sets, the global elements are the ordinary elements, but in other categories, the global elements might be very uninteresting: consider the category of groups, for instance.

Given a map $f\colon X \to Y$ in $\mathcal{E}$, any generalized element $x$ of $X$ gives rise to a generalized element $f x$ of $Y$. This is the composite $f \circ x$, but can also be thought of as ‘$f(x)$’: see the remarks on property 1 at the beginning of this section. For maps $X \underoverset{\quad g \quad }{f}{\rightrightarrows } Y$, we have

$f = g \iff f x = g x \;\text{for all generalized elements}\; x \;\text{of}\; X.$

(Proof of $\Leftarrow$: take $x = 1_{X}$.) This is emphatically not true if we replace ‘generalized’ by ‘global’: again, consider groups.

This language of generalized elements is the internal language of the category. It fits well with ordinary categorical terminology and notation. For example, let $\mathcal{E}$ be a category with finite products. In the internal language, the definition of product reads, informally: an $S$-element of $X \times Y$ consists of an $S$-element of $X$ together with an $S$-element of $Y$. Apart from the ‘$S$-’ prefixes, this is identical to the ordinary description of the cartesian product of sets $X$ and $Y$. And in standard categorical notation, the map $S \to X \times Y$ with components $x\colon S \to X$ and $y\colon S \to Y$ is denoted by $(x, y)$, thus extending the set-theoretic notation for a (global) element of a cartesian product.

To see why the internal language is useful, consider, for instance, internal groups in a finite product category $\mathcal{E}$. A group in $\mathcal{E}$ is an object $X$ together with maps

$m\colon X \times X \to X, \quad i\colon X \to X, \quad e\colon 1 \to X$

satisfying some axioms. Those axioms are usually expressed as commutative diagrams, which have been obtained by translating the classical axioms into diagrammatic form. But there is no need to translate them: the classical axioms can simply be repeated verbatim and interpreted as statements about generalized elements. This is equivalent. For example, it is easy to show that the commutative diagram for associativity is equivalent to the statement that

(3)$m(m(x, y), z) = m(x, m(y, z))$

for all generalized elements $x, y, z$ of $X$ of the same shape. (They have to be the same shape in order for expressions such as $(x, y)$ to make sense.) And just as for ordinary elements in $\mathbf{Set}$, there is no harm in writing $xy$ instead of $m(x, y)$, and similarly $x^{-1}$ instead of $i(x)$.

More valuably still, proofs written down in the classical set-theoretic scenario will actually be valid in an arbitrary finite product category $\mathcal{E}$, as long as whatever was said about elements in $\mathbf{Set}$ is also true for generalized elements in $\mathcal{E}$. For example, whenever $X$ is a group in $\mathbf{Set}$ and $x, y, a \in X$, we have

(4)$x a = y a \implies x = y.$

Proof:

\begin{aligned} x a = y a & \implies (x a)a^{-1} = (y a)a^{-1} \implies x(a a^{-1}) = y(a a^{-1}) \\ & \implies x e = y e \implies x = y. \end{aligned}

We can immediately conclude that the implication (4) holds whenever $X$ is a group in an arbitrary finite product category $\mathcal{E}$ and $x, y, a$ are generalized elements of $X$ of the same shape. Indeed, each step in the proof is an application of an axiom such as (3) valid in the general setting.

The internal language is a massively labour-saving device. To prove that an equation valid in ordinary groups is also valid for internal groups, you merely need to cast an eye over the proof and convince yourself that it holds for generalized elements too. In contrast, try proving the internal version of the equation

(5)$y^{-1} x^{-1} = (x y)^{-1}$

by diagrammatic methods. First it has to be stated diagrammatically. It says that the diagram

$\begin{matrix} X \times X & \overset{\text{sym}}{\begin{svg} [[!include SVG rightarrow]]\end{svg}}\; X \times X\; \overset{i \times i}{\begin{svg} [[!include SVG rightarrow]]\end{svg}} & X \times X \\ \mathllap{\quad m} \array{\begin{svg} [[!include SVG downarrow]]\end{svg}} && \array{\begin{svg} [[!include SVG downarrow]]\end{svg}} \mathrlap{m} \\ X & \underset{i}{\begin{svg} [[!include SVG triplelengthrightarrow]]\end{svg}} & X \end{matrix}$

commutes. Then it has to be proved, by filling the inside of this diagram with instances of the diagrams encoding the group axioms. (It seems to need at least ten or so inner diagrams.) But once you have an elementwise proof, all this effort is unnecessary. And the example (5) chosen was very simple: for more complex statements, the benefits of the internal language become clearer still.

The internal language of toposes is similar to that of finite product categories, but much richer. As well as being able to form pairs $(x, y)$ of generalized elements, we can take generalized elements of exponentials $Y^{X}$ (to be thought of as families of maps $X \to Y$), form subobjects such as

$\{ x \in X \:|\:f x = g x \}$

(the equalizer of $X \underoverset{\quad g \quad }{f}{\rightrightarrows } Y$), and so on. Almost anything that can be expressed or proved in the category of sets can be reproduced in an arbitrary topos. The only sticking points are the law of the excluded middle and the axiom of choice. Any proof that avoids those—any constructive proof, in a sense that can be made precise—generalizes to an arbitrary topos.

Phrases with more or less the same meaning as ‘internal language’ are ‘Mitchell–Bénabou language’ and ‘internal logic’. See, for instance, Mac Lane and Moerdijk (1994) or Johnstone (2003). There you can also find more spectacular applications of topos theory to set theory, including topics such as forcing.

## Toposes and geometry

This section covers concepts such as sheaf, geometric morphism (map of toposes), Grothendieck topos, and locale. But the most important thing I want to explain is how and why geometry has inspired so much of topos theory.

### Sheaves

Let $X$ be a topological space. (Following tradition, I will switch from my previous convention of using $X$ to denote an object of a topos.) Write $\mathbf{Open}(X)$ for its poset of open subsets. A presheaf on $X$ is a functor $F\colon \mathbf{Open}(X)^{\mathrm{op}}\to \mathbf{Set}$. It assigns to each open subset $U$ a set $F(U)$, whose elements are called sections over $U$ (for reasons to be explained). It also assigns to each open $V \subseteq U$ a function $F(U) \to F(V)$, called restriction from $U$ to $V$ and denoted by $s \mapsto s\vert _{V}$. I will write $\mathbf{Psh}(X)$ for the category of presheaves on $X$.

###### Examples

1. Let $F(U) = \{ \text{[[nlab:continuous functions]]}\; U \to \mathbb{R}\}$; restriction is restriction.

2. The same, but with ‘bounded’ in place of ‘continuous’.

Examples 1 and 2 are qualitatively different: continuity is a local property, but boundedness is not. This difference can be captured by asking the following question. Let $(U_{i})_{i \in I}$ be a family of open subsets of $X$, and take, for each $i \in I$, a section $s_{i} \in F(U_{i})$. Might there be some $s \in F(\bigcup _{i \in I} U_{i})$ such that $s\vert _{U_{i}} = s_{i}$ for all $i$?

For this to stand a chance of being true, functoriality demands that the sections $s_{i}$ must satisfy a ‘matching condition’: $s_{i}\vert _{U_{i} \cap U_{j}} = s_{j}\vert _{U_{i} \cap U_{j}}$ for all $i$ and $j$. A sheaf is a presheaf such that for every family $(U_{i})_{i \in I}$ of open sets and every matching family $(s_{i})_{i \in I}$, there is a unique $s \in F(\bigcup _{i \in I} U_{i})$ such that $s\vert _{U_{i}} = s_{i}$ for all $i \in I$.

###### Examples

1. The first example above, with continuous functions, is a sheaf. The proof can be split into two parts. Given $(U_{i})$ and $(s_{i})$, there is certainly a unique function $s\colon \bigcup U_{i} \to \mathbb{R}$ (continuous or not) such that $s\vert _{U_{i}} = s_{i}$ for all $i$. The question now is whether $s$ is continuous; and because continuity is a local property, it is.

2. The second example above, with bounded functions, is not a sheaf (for a general space $X$). This is because boundedness is not a local property.

3. The sheaf of continuous real-valued functions is rather floppy, in the sense that there are usually many ways to extend a continuous function from a smaller set to a larger one. Often people consider sheaves made up of holomorphic or rational functions, which are much more rigid: there are typically few or no ways to extend. It is quite normal for there to be no global sections (sections over $X$) at all.

4. Take any continuous map $Y \stackrel{p}{\to } X$ of topological spaces (which can be thought of as a kind of bundle over $X$). Then there arises a sheaf $F$ on $X$, in which $F(U)$ is the set of continuous maps $s\colon U \to Y$ such that the triangle on the left commutes:

$U$

Such an $s$ is precisely a right inverse, or ‘section’, of the map $p^{-1}U \to U$ induced by $p$.

There is also an abstract categorical explanation of where the concept of sheaf comes from. Fix a space $X$. We have a functor

$I\colon \mathbf{Open}(X) \to \mathbf{TopSp}/X$

where $\mathbf{TopSp}$ is the category of topological spaces, $\mathbf{TopSp}/X$ is the slice category, and $I(U) = (U \hookrightarrow X)$. This functor $I$ embodies the simple thought that an open subset of a topological space can be treated as a space in its own right. We now apply to $I$ two very general categorical constructions, from which the sheaf concept will appear automatically.

First, purely because the domain of $I$ is small and the codomain has small colimits, there is an induced adjunction

$\mathbf{Psh}(X) = \mathbf{Set}^{\mathbf{Open}(X)^{\mathrm{op}}} \underoverset{Hom(I,-)}{-\otimes I}{\underoverset{\leftarrow }{\rightarrow }{\quad \perp \quad }} \mathbf{TopSp}/X.$

The right adjoint is given by

$(\mathrm{Hom}(I, Y))(U) = \mathbf{TopSp}/X \, (I(U), Y)$

where $Y = \left ( \begin{matrix} Y\\ \downarrow \mathrlap{p}\\ X\end{matrix}\;\right ) \in \mathbf{TopSp}/X$ and $U \in \mathbf{Open}(X)$. This is, in fact, the process described in Example 9(4): the sheaf $F$ defined there is $\mathrm{Hom}(I, Y)$. The left adjoint can be described as a coend or colimit: for $F \in \mathbf{Psh}(X)$,

$F \otimes I = \int ^{U} F(U) \times I(U) = \Bigl ( \bigl ( \displaystyle \lim _{\rightarrow U, s}\, U \bigr ) \to X \Bigr )$

where the colimit is over all $U \in \mathbf{Open}(X)$ and $s \in F(U)$, and the map from the colimit to $X$ is the canonical one.

Second, every adjunction restricts canonically to an equivalence between full subcategories: one consists of the objects at which the unit of the adjunction is an isomorphism, and the other of the objects at which the counit is an isomorphism. Write the equivalence obtained from the adjunction above as

$\mathbf{Sh}(X) \underoverset{\leftarrow }{\rightarrow }{\quad \simeq \quad } \mathbf{Et}(X).$

It can be shown that this $\mathbf{Sh}(X)$ is the same category of sheaves as before. In this way, the notion of sheaf arises canonically from the very simple functor $I\colon \mathbf{Open}(X) \to \mathbf{TopSp}/X$. The notion of étale bundle also arises canonically: étale bundles over $X$ are (by definition, if you like) the objects of $\mathbf{Et}(X)$. Among other things, this equivalence shows that every sheaf is of the form described in Example 9(4). See Mac Lane and Moerdijk (1994) for details.

One way or another, we have the category $\mathbf{Sh}(X)$ of sheaves on $X$. It is a topos. Its subobject classifier $\Omega$ is given by

$\Omega (U) = \{ \text{open subsets of } U \} .$

The crucial fact about $\mathbf{Sh}(X)$ is that—modulo a small lie that I will repair later—

$X$ can be recovered from $\mathbf{Sh}(X)$.

So the class of topological spaces embeds into the class of toposes. We can think of toposes as generalized spaces.

A common technique in topos theory is to take a concept from topology or geometry and extend it to toposes. For example, suppose you hear someone talking about ‘connected toposes’. You may have no idea what one is, but you can bet that the definition has been obtained by determining what property of the topos $\mathbf{Sh}(X)$ corresponds to connectedness of the space $X$, then taking that as the definition of connectedness for all toposes.

The next few subsections are all examples of this generalization process.

### Geometric morphisms

So far I have said nothing about maps between toposes. There is an obvious candidate for what a map of toposes should be: a functor preserving finite limits, exponentials, and subobject classifiers. Such a functor is called a logical morphism. They have a part to play, but there is another notion of map of toposes that has been found much more useful. It can be derived by generalizing from topology.

Every map $f\colon X \to Y$ in $\mathbf{TopSp}$ induces an adjunction

(6)$\mathbf{Sh}(X) \underoverset{f_{*}}{f^{*}}{\underoverset{\rightarrow }{\leftarrow }{\quad \scriptsize \scriptsize \bot \quad }} \mathbf{Sh}(Y).$

This is not obvious. The right adjoint $f_{*}$ is easy to construct—

$(f_{*} F)(V) = F(f^{-1} V)$

($F \in \mathbf{Sh}(X)$, $V \in \mathbf{Open}(Y)$)—but the left adjoint $f^{*}$ is harder. It can be made easy by invoking the equivalence between sheaves and étale bundles; but I will not go into that, or give any other description of $f^{*}$.

It is a fact that $f^{*}$ preserves finite limits. It is also a fact (modulo the usual small lie) that there is a natural correspondence between continuous maps $X \to Y$ and adjunctions (6) in which the left adjoint preserves finite limits. So now we know what continuous maps look like in topos-theoretic terms. We duly generalize:

###### Definition

Let $\mathcal{E}$ and $\mathcal{F}$ be toposes. A geometric morphism $f\colon \mathcal{E}\to \mathcal{F}$ is an adjunction

$\mathcal{E} \underoverset{f_{*}}{f^{*}}{\underoverset{\rightarrow }{\leftarrow }{\quad \scriptsize \scriptsize \bot \quad }} \mathcal{F}$

in which the left adjoint $f^{*}$ preserves finite limits. (People often say ‘left exact left adjoint’.) The right adjoint $f_{*}$ is called the direct image part of $f$, and $f^{*}$ is the inverse image part.

I will write $\mathbf{Topos}$ for the category of toposes and geometric morphisms. (Really it’s a 2-category, in an obvious way.) By construction, we have a functor

$\mathbf{Sh}\colon \mathbf{TopSp}\to \mathbf{Topos}$

which is (2-categorically) full and faithful, modulo the usual small lie.

###### Examples

1. Every functor $f\colon \mathbb{C} \to \mathbb{D}$ induces a string of adjoint functors

$\widehat{\mathbb{C}} \, \underoverset{\underoverset{f_{*}}{\perp }{\rightarrow }}{ \underoverset{\perp }{f_{!}}{\rightarrow }}{ \longleftarrow {\scriptsize f^{*}} - } \, \widehat{\mathbb{D}}$

between presheaf categories. Here $f^{*} = -\circ f$, and $f_{!}$ and $f_{*}$ are left and right Kan extension along $f$, respectively. Since $f^{*}$ has a left adjoint, it preserves limits. Hence $(f^{*}, f_{*})$ is a geometric morphism $\widehat{\mathbb{C}} \to \widehat{\mathbb{D}}$.

2. It turns out that, for any topological space $X$, the inclusion $\mathbf{Sh}(X) \hookrightarrow \mathbf{Psh}(X)$ has a finite-limit-preserving left adjoint. It is called sheafification or the associated sheaf functor. So the inclusion of sheaves into presheaves is a geometric morphism.

Since $\mathbf{Sh}(X)$ is a full subcategory, the inclusion is full and faithful; and for totally general reasons, this is equivalent to the counit of the adjunction being an isomorphism. In other words, sheafifying a sheaf does not change it.

### Points

Let us generalize another concept of topology. The points of a topological space $X$ correspond to the maps $1 \to X$ (where $1$ is the one-point space), which correspond to the geometric morphisms $\mathbf{Sh}(1) \to \mathbf{Sh}(X)$. But $\mathbf{Sh}(1) = \mathbf{Psh}(1) = \mathbf{Set}$, so we make the following definition.

###### Definition

A point of a topos $\mathcal{E}$ is a geometric morphism $\mathbf{Set}\to \mathcal{E}$.

### Embeddings and Grothendieck toposes

For any subspace $Y$ of a space $X$, the inclusion $Y \hookrightarrow X$ is an embedding, that is, a homeomorphism to its image. It can be shown that a map $f\colon Y \to X$ of spaces is an embedding if and only if the direct image part $f_{*}$ of the corresponding geometric morphism $f\colon \mathbf{Sh}(Y) \to \mathbf{Sh}(X)$ is full and faithful. So, as usual, we generalize:

###### Definition

A geometric morphism $f\colon \mathcal{F}\to \mathcal{E}$ is an embedding (or inclusion) if the direct image functor $f_{*}$ is full and faithful.

We then say that $\mathcal{F}$ is a subtopos of $\mathcal{E}$. At least, this is the right thing to say up to equivalence. Perhaps we should reserve that word for when $\mathcal{F}$ is actually a (full) subcategory of $\mathcal{E}$ and $f_{*}$ is the inclusion $\mathcal{F}\hookrightarrow \mathcal{E}$, rather than allowing $f_{*}$ to be any old full and faithful functor. But a full and faithful functor induces an equivalence to its image, so it makes no real difference.

Probably the easiest toposes are the presheaf toposes: those equivalent to $\widehat{\mathbb{C}} = \mathbf{Set}^{\mathbb{C}^{\mathrm{op}}}$ for some small category $\mathbb{C}$. So maybe subtoposes of presheaf toposes are relatively easy too. They have a special name:

###### Definition

A topos is Grothendieck if it is (equivalent to) a subtopos of some presheaf topos.

For instance, we saw in Example 11(2) that $\mathbf{Sh}(X)$ is a subtopos of $\mathbf{Psh}(X) = \widehat{\mathbf{Open}(X)}$, for any topological space $X$. Hence $\mathbf{Sh}(X)$ is a Grothendieck topos.

Being Grothendieck is generally thought of as a mild condition on a topos. A Grothendieck topos has all small limits, which immediately disqualifies toposes such as $\mathbf{FinSet}$, $\mathbf{FinSet}^{\mathbb{C}^{\mathrm{op}}}$, etc. But other than toposes arising from finite sets (or sets subject to some other cardinality bound), most of the toposes that people have worked with are Grothendieck. A notable exception is the effective topos, the maps in which can be thought of as computable functions. Other non-Grothendieck toposes occur in the topos-theoretic approach to non-standard analysis.

There is a theorem of Giraud giving a list of conditions on a category equivalent to it being a Grothendieck topos. It includes non-elementary axioms such as ‘there is a small generating set’. (‘Non-elementary’ means that it refers to a pre-existing notion of set.) The Grothendieck toposes are sometimes regarded as the nice toposes, but perhaps the definition of Grothendieck topos is not as nice as the definition of elementary topos.

Definition 14 is not the definition of Grothendieck topos that you will find in most books. I will now give a brief indication of what the standard definition is and why it is equivalent to the one above.

Fix a small category $\mathbb{C}$. There is a one-to-one correspondence between the subtoposes of $\widehat{\mathbb{C}}$ and the Grothendieck topologies on $\mathbb{C}$. A Grothendieck topology is a kind of explicit, combinatorial structure; it specifies which diagrams

in $\mathbb{C}$ are to be thought of as ‘covering families’ and which are not. (There are axioms.) The motivating example is that given a topological space $X$, there is a canonical Grothendieck topology on $\mathbf{Open}(X)$: a family $(U_{i} \hookrightarrow U)_{i \in I}$ of subsets of $U \in \mathbf{Open}(X)$ is covering if and only if $U = \bigcup _{i \in I} U_{i}$.

The bijection

$\{ \text{Grothendieck topologies on}\; \mathbb{C} \} \cong \{ \text{[[nlab:subtoposes]] of}\; \widehat{\mathbb{C}} \}$

is written

$J \leftrightarrow \mathbf{Sh}(\mathbb{C}, J).$

A pair $(\mathbb{C}, J)$, consisting of a small category $\mathbb{C}$ equipped with a Grothendieck topology $J$, is called a site, and $\mathbf{Sh}(\mathbb{C}, J)$ is the category of sheaves on that site. For example, let $X$ be a topological space, take $\mathbb{C} = \mathbf{Open}(X)$, and take $J$ to be the Grothendieck topology mentioned above; then $\mathbf{Sh}(\mathbb{C}, J) = \mathbf{Sh}(X)$. Most books proceed as follows: define Grothendieck topology, define site, define the category of sheaves on a site, then define a Grothendieck topos to be a category equivalent to the category of sheaves on some site.

I do not know a short way to explain why the subtoposes of $\widehat{\mathbb{C}}$ correspond to the Grothendieck topologies on $\mathbb{C}$. The following two paragraphs may make it seem easier, or harder.

First, there is an explicit classification of the subtoposes of any topos $\mathcal{E}$. Indeed, it can be shown that the subtoposes of $\mathcal{E}$ correspond to the maps $j\colon \Omega \to \Omega$ satisfying certain equations. (Such a $j$ is called a Lawvere–Tierney topology on $\mathcal{E}$, although this is so distant from the original usage of the word ‘topology’ that some people object; Peter Johnstone, for instance, uses local operator instead.) By definition of subobject classifier, it is equivalent to say that a subtopos of $\mathcal{E}$ amounts to a subobject of $\Omega$ satisfying certain axioms.

Second, take $\mathcal{E}= \widehat{\mathbb{C}}$. We know (Example 6(4)) that $\Omega \in \widehat{\mathbb{C}}$ is given by $\Omega (c) = \{ \text{sieves on}\; c \}$. Hence a subtopos of $\widehat{\mathbb{C}}$ corresponds to a collection of sieves in $\mathbb{C}$, satisfying certain axioms. Calling these the ‘covering sieves’ gives the notion of Grothendieck topology.

### Locales

Here I will explain the ‘small lie’ mentioned several times above, and make amends. I will also explain why topos theorists are fond of jokes about pointless topology.

The definition of sheaf on a topological space $X$ does not mention the points of $X$. It mentions only the open sets and inclusions between them, and uses the fact that it is possible to take arbitrary unions and finite intersections of open sets. Having observed this, you can see why the space $X$ cannot always be recovered from the topos $\mathbf{Sh}(X)$. For instance, if $X$ is indiscrete (has no open sets except $\emptyset$ and $X$) and nonempty, then $\mathbf{Sh}(X)$ is the same no matter how many points $X$ has.

The idea now is to split the process $X \mapsto \mathbf{Sh}(X)$ into two steps. First, we forget the points of $X$, leaving just the set of open sets, ordered by inclusion. Then, we form the category of ‘sheaves’ on that ordered set (defined as for topological spaces, almost verbatim).

###### Definition

A frame is a partially ordered set such that every subset has a join ($=$ least upper bound $=$ sup), every finite subset has a meet ($=$ greatest lower bound $=$ inf), and finite meets distribute over joins. A map of frames is a map preserving order, joins and finite meets.

A topological space $X$ has a frame $\mathbf{Open}(X)$ of open subsets, and a continuous map $f\colon X \to Y$ induces a map $f^{-1}\colon \mathbf{Open}(Y) \to \mathbf{Open}(X)$ of frames. This gives a functor

$\mathbf{Open}\colon \mathbf{TopSp}\to \mathbf{Frame}^{\mathrm{op}}.$

We now perform a linguistic manoeuvre. $\mathbf{Frame}^{\mathrm{op}}$ is the desired category of ‘pointless spaces’. But we cannot wholeheartedly say that a frame is a pointless space, because the maps of frames are the wrong way round. So we introduce a new word—locale—and define the category $\mathbf{Loc}$ of locales by $\mathbf{Loc}= \mathbf{Frame}^{\mathrm{op}}$. We can wholeheartedly say that a locale is a pointless space.

There is a functor $\mathbf{Sh}\colon \mathbf{Loc}\to \mathbf{Topos}$, defined just as for topological spaces except that unions become joins and intersections become meets. The functor $\mathbf{Sh}\colon \mathbf{TopSp}\to \mathbf{Topos}$ factorizes as

$\mathbf{TopSp}\stackrel{\mathbf{Open}}{\to } \mathbf{Loc}\stackrel{\mathbf{Sh}}{\to } \mathbf{Topos}.$

This is the two-step process mentioned above.

Whenever I have said ‘modulo a small lie’, you can interpret that as ‘use locales instead of topological spaces’. For example, $\mathbf{Sh}\colon \mathbf{Loc}\to \mathbf{Topos}$ really is full and faithful, in a suitably up-to-isomorphism sense: locale maps $X \to Y$ correspond one-to-one with isomorphism classes of geometric morphisms $\mathbf{Sh}(X) \to \mathbf{Sh}(Y)$. This means that $\mathbf{Loc}$ is equivalent to a full subcategory of $\mathbf{Topos}$. (Actually it is an equivalence of 2-categories, but I will gloss over that point.)

Every locale gives rise to a topos—but the converse is also true. Given a topos $\mathcal{E}$, the subobjects of $1$ form a poset $\mathrm{Sub}_{\mathcal{E}}(1)$. Assuming that $\mathcal{E}$ has enough colimits, $\mathrm{Sub}_{\mathcal{E}}(1)$ is a frame. This process defines a functor

$\begin{array}{ccc} \mathbf{Topos}&\to &\mathbf{Loc}\\ \mathcal{E}&\mapsto &\mathrm{Sub}_{\mathcal{E}}(1). \end{array}$

I am now quietly changing $\mathbf{Topos}$ to mean the toposes with small colimits; this includes all Grothendieck toposes.

You might think that $1$ could have no interesting subobjects, since that is the case in the most obvious topos, $\mathbf{Set}$. But there are toposes that are nearly as obvious in which $\mathrm{Sub}_{\mathcal{E}}(1)$ is not trivial. For instance, take $\mathcal{E}= \mathbf{Set}^{I}$ for any set $I$: then $\mathrm{Sub}_{\mathcal{E}}(1)$ is the power set of $I$.

Now a wonderful thing is true. The functor just defined is left adjoint to the inclusion $\mathbf{Sh}\colon \mathbf{Loc}\hookrightarrow \mathbf{Topos}$. This means that $\mathbf{Loc}$ is (equivalent to) a reflective subcategory of $\mathbf{Topos}$. Hence the counit is an isomorphism:

$X \cong \mathrm{Sub}_{\mathbf{Sh}(X)}(1)$

for any locale $X$. This is how you recover a locale from its topos of sheaves.

So $\mathbf{Loc}$ sits inside $\mathbf{Topos}$ as a subcategory of the best kind: full and reflective, like abelian groups in groups. It is reasonable to say that a locale is a special sort of topos. More formally, a topos is localic if it is of the form $\mathbf{Sh}(X)$ for some locale $X$. Localic toposes are easy to work with; if you were having trouble proving something for arbitrary toposes, you might start by trying to prove it in this special case.

Since every locale is of the form $\mathrm{Sub}_{\mathcal{E}}(1)$ for some topos $\mathcal{E}$, locale theory can be regarded as the fragment of topos theory concerning subobjects of $1$. A subobject of $1$ is a map $1 \to \Omega$, which can reasonably called a truth value. In that sense, locale theory is the study of truth values.

The notion of locale can also be seen as a decategorification of the notion of Grothendieck topos. A poset $P$ is a category enriched in the two-element totally ordered set $2$. There is a Yoneda embedding $P \to 2^{P^{\mathrm{op}}}$, which has a finite-meet-preserving left adjoint if and only if $P$ is a frame. Analogously, it is almost true that for a category $\mathcal{E}$, the Yoneda embedding $\mathcal{E}\to \mathbf{Set}^{\mathcal{E}^{\mathrm{op}}}$ has a finite-limit-preserving left adjoint if and only if $\mathcal{E}$ is a Grothendieck topos. (This result is due to Street (1981). ‘Almost’ refers to a set-theoretic size condition.) A map of frames is a function preserving joins and finite meets, and the inverse image part of a geometric morphism is a functor preserving colimits and finite limits. Thus, locales play roughly the same role among 2-enriched categories as Grothendieck toposes play among $\mathbf{Set}$-enriched categories.

How much has been lost by passing from topological spaces to locales? In most people’s view, not much. For example, we observed that all nonempty indiscrete spaces give rise to the same locale; but many mathematicians regard indiscrete spaces with $\geq 2$ points as ‘pathological’ and would be positively happy to see them go.

In fact, some things are gained. For example, a subgroup of a topological group need not be closed, and non-closed subgroups are often regarded as pathological (since the corresponding quotients are non-Hausdorff). But it is a theorem that every subgroup of a localic group is closed. See for instance Section C5.3 of Johnstone (2003).

The functor $\mathbf{Open}\colon \mathbf{TopSp}\to \mathbf{Loc}$ has a right adjoint, which I will not describe. As mentioned above, every adjunction restricts canonically to an equivalence between full subcategories. In this case, this gives an equivalence between:

Another way of interpreting the phrase ‘modulo a small lie’ is ‘true for sober spaces’. Sobriety amounts to a rather mild separation condition. For example, every Hausdorff space is sober. So in passing from a Hausdorff space to a locale, or to a topos, nothing whatsoever is lost.

There is a kind of attitudinal paradox here. Many algebraic topologists think only about Hausdorff spaces, and regard non-Hausdorff spaces as pathological. But these are often the same people who feel strongly that topological spaces are not really about open sets; they think in terms of points and paths and homotopies. So it is perhaps paradoxical that the Hausdorff condition guarantees that a space can be understood in terms of its open sets alone: the topos of sheaves depends on nothing else, and contains all the information about the original space.

## Toposes and universal algebra

The point of this section is to explain what people mean when they talk about the classifying topos of a theory. Another way to look at it is this: I will explain how toposes can be viewed as cousins of operads and Lawvere theories.

In classical universal algebra, an algebraic theory (or strictly, a presentation of an algebraic theory) consists of a bunch of operation symbols of specified arities, together with a bunch of equations. To take the standard example, the (usual presentation of the) theory of groups consists of

• an operation symbol $1$ of arity $0$

• an operation symbol $(\:\:)^{-1}$ of arity $1$

• an operation symbol $\cdot$ of arity $2$

together with the usual equations. You can speak of ‘models’ of an algebraic theory in any category $\mathcal{E}$ with finite products. In our example, they are the internal groups in $\mathcal{E}$.

But there are other ways of looking at such theories.

Consider the free finite product category $\mathcal{T}$ equipped with an internal group. (There are general reasons why such a thing must exist.) Its universal property is that for any finite product category $\mathcal{E}$, the finite-product-preserving functors $\mathcal{T}\to \mathcal{E}$ correspond to the internal groups in $\mathcal{E}$.

Concretely, $\mathcal{T}$ looks something like this. It must contain an object $X$, the underlying object of the internal group. Since $\mathcal{T}$ has finite products, it must also contain an object $X^{n}$ for each $n \in \mathbb{N}$. There is no reason for it to have any other objects, and since it is free, it does not. A map $X^{n} \to X^{m}$ is (by definition of product) an $m$-tuple of maps $X^{n} \to X$; and the maps $X^{n} \to X$ are (by freeness) whatever maps $G^{n} \to G$ must exist for any internal group $G$ in any finite product category. That is, they are the $n$-ary operations in the theory of groups: the words in $n$ letters.

This category $\mathcal{T}$ is called the Lawvere theory of groups. The same goes for rings, lattices, etc. In all these cases, $\mathcal{T}$ is a finite product category with the further property that the objects are in bijection with the natural numbers, the product of objects corresponding to addition of numbers. This further property holds because the theories described so far have been single-sorted: a model is a single object equipped with some structure.

But there are also many-sorted theories, such as the two-sorted theory of pairs $(R, M)$ in which $R$ is a ring and $M$ an $R$-module. So we can widen the notion of algebraic theory to include all (small) finite product categories. Some people say that an algebraic theory is just a finite product category. Others say that algebraic theories correspond to finite product categories. Others still, more traditionally, say that algebraic theories correspond to only certain finite product categories.

Terminology aside, we can play the same game for other classes of limit. For example, it makes no sense to talk about internal categories in an arbitrary finite product category, because the definition of internal category needs pullbacks. (Composition in an internal category $\mathbb{C}$ is a map $\mathbb{C}_{1} \times _{\mathbb{C}_{0}} \mathbb{C}_{1} \to \mathbb{C}_{1}$.) But we can talk about internal categories in a finite limit category; and as before, there is a free finite limit category $\mathcal{T}$ equipped with an internal category. This means that for any finite limit category $\mathcal{E}$, the finite-limit-preserving functors $\mathcal{T}\to \mathcal{E}$ correspond to the internal categories in $\mathcal{E}$. A small finite limit category is called (or corresponds to) an essentially algebraic theory.

In a category with finite products you can talk about internal groups but not, in general, internal categories. In a category with finite limits you can talk about both. By extending the list of properties that the category is assumed to satisfy, you can accommodate more and more sophisticated kinds of theory. (The theory of internal categories is more ‘sophisticated’ than that of groups in the sense that composition is only defined for some pairs of maps, whereas classical universal algebra can only handle operations defined on all pairs.) The properties need not be of the form ‘limits of such-and-such a type exist’. For example, it is sometimes useful to assume epi-mono factorization, as we shall see.

There is a trade-off here. As you allow more sophisticated language, you widen the class of theories that can be expressed, but you narrow the class of categories in which it makes sense to take models. (You also make more work for yourself.) In the same way, if you trade in your motorbike for a double-decker bus, you increase the number of passengers you can carry, but you restrict where you can carry them: no low bridges or tight alleyways. (You also increase your fuel costs.) It is sensible, then, to use the smallest class of theories containing the ones you are interested in. For example, you could treat groups as an essentially algebraic theory, but that would mean you could only take models in categories with all finite limits, when in fact just products would do.

Before I get onto toposes, I want to point out a slightly different direction that you can take things in. Rather than just altering the properties that the categories are assumed to have, you can also alter the structure with which they are equipped.

Take monoidal categories, for instance. We can speak of internal monoids in any monoidal category. Hence, the theory of monoids can be regarded as the free monoidal category containing an internal monoid. (This is in fact the category of finite ordinals.) Similarly, it makes sense to speak of algebras for an operad $P$ in any monoidal category, and we can associate to $P$ the free monoidal category $\mathcal{T}$ containing a $P$-algebra. Thus, for any monoidal category $\mathcal{E}$, monoidal functors $\mathcal{T}\to \mathcal{E}$ correspond to $P$-algebras in $\mathcal{E}$.

We might define a monoidal theory to be a small monoidal category. This gets us into the territory of PROPs, where there are nontrivial theorems such as the classification of 2-dimensional topological quantum field theories: the symmetric monoidal theory of (or, ‘PROP for’) commutative Frobenius algebras is the category of smooth 1-manifolds and diffeomorphism classes of cobordisms.

All of this is to give an impression of how far-reaching these ideas are. It is a sketch of the context in which classifying toposes can be understood.

You will have guessed that the same kind of thing can be said for toposes as for categories with finite products, finite limits, etc. Since toposes have very rich structure (much more than just finite limits), they correspond to a very wide class of theories indeed.

An example of the kind of theory that can be interpreted in a topos is the theory of fields. (This is rather a feeble example, but I want to keep it simple.) A field is, of course, a commutative ring $R$ satisfying the axioms

(7)$0 \neq 1$

and

(8)$\forall x \in R, \quad x = 0 \;\text{or}\; \exists y\colon x y = 1.$

By a mechanical process, this definition can be turned into a definition of ‘internal field in a topos’. As compensation for the imprecision of the rest of this section, I will give the definition in detail; but if you want to skip it, the point to retain is that it is a mechanical process.

Let $\mathcal{E}$ be a topos. We certainly know how to define ‘commutative ring in $\mathcal{E}$’: that makes sense in any category with finite products. Let $R$ be a commutative ring in $\mathcal{E}$. The nontriviality axiom, $0 \neq 1$, is expressed by saying that the equalizer of

$1 \underoverset{\quad 1 \quad }{0}{\rightrightarrows } R$

is the initial object $0$. For the other axiom, let us first define the subobject $U \rightarrowtail R$ consisting of the units (invertible elements). The ‘set$P = \{ (x, y) \:|\:x y = 1 \}$ is the pullback

\begin{matrix} P & \begin{svg} [[!include SVG rightarrow]]\end{svg} & 1 \\ \array{\begin{svg} [[!include SVG downarrowtail]]\end{svg}} \mathrlap{\array{\arrayopts{\align{bottom}}\space{0}{30}{10}\begin{svg} [[!include SVG pullback]]\end{svg}}} && \array{\begin{svg} [[!include SVG downarrowtail]]\end{svg}}\mathrlap{1} \\ R \times R & \begin{svg} [[!include SVG rightarrow]]\end{svg} & R. \end{matrix}

Now we want to define the ‘set$U$ of units as the image of the composite map

$f = \left ( P \rightarrowtail R \times R \stackrel{\mathrm{pr}_{1}}{\to } R \right ).$

We can talk about images in a topos, since every map in a topos factorizes essentially uniquely as an epi followed by a mono. So, define $U \rightarrowtail R$ by the factorization

$f = \left ( P \twoheadrightarrow U \rightarrowtail R \right ).$

The second field axiom states that every element of $R$ lies in either the subobject $1 \stackrel{0}{\rightarrowtail } R$ or the subobject $U \rightarrowtail R$. In other words, it states that the map

$1 + U \to R$

is epi. Here we have used the fact that every topos has coproducts, written $+$.

If you have read Section 2, you will recognize that the informal talk of ‘sets’ (really, objects of $\mathcal{E}$) and the use of set-theoretic notation $\{ \ldots \:|\:\ldots \}$ are something to do with the internal language of a topos. This gives a hint of how the process can be mechanized.

(There are actually several possible theories of fields, depending on exactly how you write down the axioms. They all have the same models in $\mathbf{Set}$—namely, fields—but they do not have the same models in other toposes. For example, a genuinely different theory is obtained by changing axiom (8) to ‘$\forall x \in R$, $(\not \!\exists y: x y = 1) \implies x = 0$’. But this does not affect the main point: given a list of formally-expressed axioms such as (7) and (8), there is an automatic process converting it into a definition that makes sense in an arbitrary topos.)

You now have the choice between a short story and a long story.

The short story is that what we did for finite product and finite limit categories can also be done for toposes. The theories corresponding to toposes are called the geometric theories, and the topos corresponding to a particular geometric theory is called its classifying topos.

The long story is longer because there are two different notions of map of toposes—and you need to decide what a map of toposes is in order to state the universal property of the topos resulting from a theory.

The more obvious but less used notion of map of toposes is a functor preserving all the structure in sight: finite limits, exponentials, and the subobject classifier. These are called logical morphisms. Now in a topos, you can interpret a really vast range of theories: any ‘higher-order theory’, in fact. (First order means that you can only quantify over elements of a set; in a second order theory you can also quantify over subsets of a set; and so on.) Models of any such theory get along well with logical morphisms, because logical morphisms preserve everything. So you can tell a similar story for toposes, logical morphisms and higher order theories as for finite product categories, finite-product-preserving functors and algebraic theories.

The more popular notion of map of toposes is that of geometric morphism. (Here it helps to have read Section 3, where the definition is motivated.) A geometric morphism between toposes is a functor with a finite-limit-preserving left adjoint. The corresponding theories are the geometric theories. I will not give the definition, but it is not too bad an approximation to say that they are the same as the first-order theories: every geometric theory is first-order, and almost every first-order theory that one encounters is geometric.

Given a geometric theory, a classifying topos for the theory is a cocomplete topos $\mathcal{T}$ with the property that for any cocomplete topos $\mathcal{E}$, models of the theory in $\mathcal{E}$ correspond naturally to geometric morphisms $\mathcal{E}\to \mathcal{T}$. Every geometric theory has a classifying topos.

There are two surprises here. One is the appearance of the word ‘cocomplete’, which I will not explain and will not bother inserting below. It is generally thought of as a mild condition (satisfied by any Grothendieck topos, for instance).

The bigger surprise is the reversal of direction. The previous cases lead us to expect models in $\mathcal{E}$ to correspond to maps $\mathcal{T}\to \mathcal{E}$. However, since a geometric morphism is a pair of adjoint functors, the choice of direction is a matter of convention. As the name suggests, the choice that society made was motivated by geometry. Perhaps if the motivation had been universal algebra, it would have been the other way round. (This is an aspect of the thought that geometry is dual to algebra.) A map of toposes would then have been a finite-limit-preserving functor with a right adjoint, which is more or less the same thing as a functor preserving finite limits and small colimits.

If a topos is thought of as a generalized space (as in Section 3) then the classifying topos of a theory can be thought of as its space of models. Indeed, a point of the classifying topos $\mathcal{T}$ is (by Definition 12) a geometric morphism $\mathbf{Set}\to \mathcal{T}$, which is exactly a model of the theory in $\mathbf{Set}$. Some familiar topological spaces can be construed as classifying toposes. For example, there is a ‘theory of Dedekind cuts’ whose classifying topos is $\mathbf{Sh}(\mathbb{R})$, that is, $\mathbb{R}$ regarded as a topos.

Given how much structure a topos contains, it is surprising how many classifying toposes can be described simply. I will now describe the classifying topos of any algebraic theory, by the venerable expository device of doing it just for groups.

We will need the notion of finite presentability. A group (in $\mathbf{Set}$) is finitely presentable if it admits a presentation by a finite set of generators subject to a finite set of relations. The category of finitely presentable groups and all homomorphisms between them will be written $\mathbf{Grp}_{\mathrm{fp}}$.

##### Aside

Finite presentability is a more categorical concept than it might seem. Writing $T\colon \mathbf{Set}\to \mathbf{Set}$ for the free group monad, a relation (equation) in a set $X$ of generators is an element of $T X \times T X$. So, a family $(r_{i})_{i \in I}$ of relations is a map $I \to T X \times T X$, or equivalently a diagram

$I \rightrightarrows T X$

in $\mathbf{Set}$, or equivalently a diagram

$F I \rightrightarrows F X$

in $\mathbf{Grp}$, where $F\colon \mathbf{Set}\to \mathbf{Grp}$ is the free group functor. The group presented by these generators and relations is the coequalizer of this diagram in $\mathbf{Grp}$. Hence a group is finitely presentable precisely when it is the coequalizer of some diagram $F I \rightrightarrows F X$ in which $I$ and $X$ are finite sets.

This formulation of finite presentability in $\mathbf{Grp}$ uses the free group functor $F$. But in fact, there is a general definition of finite presentability of an object of any category. I will not go into this.

As promised, the classifying topos for groups is easy to describe:

###### Theorem

The classifying topos for groups is $\mathbf{Set}^{\mathbf{Grp}_{\mathrm{fp}}}$.

In other words, for any topos $\mathcal{E}$, a group in $\mathcal{E}$ is the same thing as a geometric morphism $\mathcal{E}\to \mathbf{Set}^{\mathbf{Grp}_{\mathrm{fp}}}$.

The same goes for other algebraic theories. This yields something interesting even for very trivial theories. Take the theory of objects, whose models in a category $\mathcal{E}$ are simply objects of $\mathcal{E}$. A finitely presentable set is just a finite set. Hence for any topos $\mathcal{E}$, objects of $\mathcal{E}$ correspond to geometric morphisms $\mathcal{E}\to \mathbf{Set}^{\mathbf{FinSet}}$. The topos $\mathbf{Set}^{\mathbf{FinSet}}$ is therefore called the object classifier.

We have been asking, for a given theory, ‘what topos classifies it?’ But we can turn the question round and ask, for a given topos $\mathcal{T}$, ‘what does $\mathcal{T}$ classify?’ In other words, what are the geometric morphisms from an arbitrary topos $\mathcal{E}$ into $\mathcal{T}$? It is a fact that every topos $\mathcal{T}$ is the classifying topos of some geometric theory—although given how wide a class of theories that is, perhaps this does not say very much.

There are clean answers to this reversed question for many toposes $\mathcal{T}$. In particular, this is so when $\mathcal{T}$ is the topos $\mathbf{Sh}(\mathbb{C}, J)$ of sheaves on a site (Section 3). Here I will just tell you the answer for a smaller class of toposes.

###### Theorem

Let $\mathbb{C}$ be a category with finite limits. Then the presheaf topos $\widehat{\mathbb{C}}$ classifies finite-limit-preserving functors out of $\mathbb{C}$.

In other words, for any topos $\mathcal{E}$, a geometric morphism $\mathcal{E}\to \widehat{\mathbb{C}}$ is the same thing as a finite-limit-preserving functor $\mathbb{C} \to \mathcal{E}$.

(If you know about flat functors, you can drop the assumption that $\mathbb{C}$ has finite limits: for any small category $\mathbb{C}$, the presheaf topos $\widehat{\mathbb{C}}$ classifies flat functors out of $\mathbb{C}$. This is one version of Diaconescu's Theorem.)

So there is a back-and-forth translation between geometric theories and the toposes that classify them. In many cases, this translation is surprisingly straightforward.

• Johnstone, P. T., 2003. Sketches of an Elephant: A Topos Theory Compendium. Oxford Logic Guides. Oxford University Press.

• Lawvere, F. W., 1964. An elementary theory of the category of sets. Proceedings of the National Academy of Sciences of the U.S.A. 52:1506–1511. Reprinted as Reprints in Theory and Applications of Categories 12:1–35, 2005.

• Lawvere, F. W. and R. Rosebrugh, 2003. Sets for Mathematics. Cambridge University Press, Cambridge.

• Mac Lane, S. and I. Moerdijk, 1994. Sheaves in Geometry and Logic. Springer, Berlin.

• McLarty, C., 2004. Exploring categorical structuralism. Philosophia Mathematica 12:37–53.

• Paré, R., 1974. Colimits in topoi. Bulletin of the American Mathematical Society 80:556–561.

• Street, R., 1981. Notions of topos. Bulletin of the Australian Mathematical Society 23:199–208.