Table of Contents

Grothendieck topos

1. Introduction

This note continues from the previous note on the toposes of sheaves on topological spaces. The plan at the moment is not to introduce various results of Grothendieck toposes but to guide the reader on how the concepts of Grothendieck topology and topos generalize the ordinary notion of sheaves on topological spaces. The purpose is to provide a stepping stone towards our next topic, which is about the Lawvere–Tierney topology.

2. Grothendieck topology

So far we have used the structure of open sets $\mathcal{O}(X)$ to model the concept of locality. For each open $U \in \mathcal{O}(X)$, we attach a set of data locally to $U$ by defining a functor $\mathcal{O}(X)^{op} \to \mathbf{Set}$ where $\mathcal{O}(X)$ is regarded as a category. Hence, a straightforward generalization of the usual notion of topology is to replace $\mathcal{O}(X)$ with an arbitrary category $\mathcal{C}$ with some structure.

For an object $C$, we call $S$ a sieve on $C$ when $S$ is a collection of morphisms to $C$ such that \[ (f : X \to C) \in S \Rightarrow f \circ g \in S \] for any $g : Y \to X$. Note that a sieve on $C$ is equivalent to a subfunctor of $\mathbf{y}_C$. Given a morphism $h : D \to C$, define a mapping from the sieves on $C$ to the sieves on $D$ by \[ h^* : S \mapsto \{f \mid h\circ f \in S\}. \] Intuitively, seeing $C$ as an open set, a sieve on $C$ is a collection of opens in $C$ that is consistent in the sense that for any $U$ in the collection, all open subsets of $U$ are in the collection. A topology determines, amongst the sieves, which ones are open coverings. Following the analogy, a mapping $J$ is a Grothendieck topology if it maps each object $C$ to a collection of sieves on $C$ such that

  1. the maximal sieve $\mathbf{y}_C$ is in $J(C)$,
  2. for each $S \in J(C)$ and $h : D \to C$, $h^*(S) \in J(D)$, and
  3. for any sieve $R$ on $C$, if there is $S\in J(C)$ such that $h^*(R) \in J(D)$ for each $h : D \to C$ in $S$, then $R\in J(C)$.

A pair $(\mathcal{C}, J)$ of a small category and its Grothendieck topology is called a site. As the analogy between $\mathcal{O}(X)$ and $(\mathcal{C}, J)$ suggests, we call a sieve $S$ on $C$ a $J$-covering of $C$ when $S \in J(C)$.

There are some noteworthy topologies:

3. Sheaves on a site

Having defined a notion of topology $J$ on a small category $\mathcal{C}$, what remains is to define which of the presheaves $$\mathbf{PSh}(\mathcal{C}) = \mathbf{Set}^{\mathcal{C}^{\mathrm{op}}}$$ are sheaves. Recall that in the case of topological spaces, the condition for a presheaf to be a sheaf was that for any covering, local data that are compatible on the overlaps can be collated uniquely into a global datum.

Using a more abstract notion of category theory, this can be stated as follows. On a site $(\mathcal{C}, J)$, a presheaf $P$ is a $J$-sheaf if for each object $C$ and each covering sieve $S \in J(C)$, seen as a subfunctor of the maximal sieve $\mathbf{y}_C$, any $\mu : S \to P$ in the functor category has a unique extension $\mathbf{y}_C \to P$ along the inclusion $\iota:S \to \mathbf{y}_C$:

$$\require{AMScd} \begin{CD} S @>\mu>> P\\ @VV{\iota}V {_{}\style{display: inline-block; transform: rotate(150deg)}{{\dashleftarrow{}}}}@. \\ \mathbf{y}_C @. \end{CD}$$

The intuitive meaning is that a presheaf $P$ is a sheaf if it sees every covering sieve as if it were the maximal sieve.

Note that for the trivial topology, all presheaves are sheaves.

We call a topology subcanonical when every representable presheaf $\mathbf{y}_C$ is a sheaf. We call the largest subcanonical topology canonical.

When the underlying category $\mathcal{C}$ has pullbacks so that the intersections can be expressed more directly, the topology and the sheaf condition can be written in a more understandable form, similar to the topological sheaf condition.

4. Category of sheaves

The category $\mathbf{Sh}(\mathcal{C}, J)$ of sheaves on a site is the full subcategory of $\mathbf{PSh}(\mathcal{C})$ consisting of the sheaves. A category that is equivalent to such a category is called a Grothendieck topos. Of course, it is not trivial to show that this is actually a topos. We will only reveal the subobject classifier and logical operations for the topos structure of categories of sheaves.

For a site $(\mathcal{C}, J)$ and a sieve $S$ on $C$, $S$ covers $f : D \to C$ if $f^*S \in J(D)$. We call a sieve $S$ on $C$ closed if $f \in S$ for every $f : D \to C$ that $S$ covers. Then we define $$\Omega(C) = \text{the set of closed sieves on $C$.}$$ The mapping $\Omega$ then yields a presheaf where $$\Omega(f: B \to C)\ S = f^*S.$$

Leaving a proof of $\Omega$ being a sheaf as an exercise, with $$\mathrm{true} : 1 \to \Omega$$ where $\mathrm{true}_C(*) = \mathbf{y}_C$, $\Omega$ becomes a subobject classifier of $\mathbf{Sh}(\mathcal{C}, J)$.