Topos Theory (Part 3)

Last time I described two viewpoints on sheaves. In the first, a sheaf on a topological space X is a special sort of presheaf

F \colon \mathcal{O}(X)^{\mathrm{op}} \to \mathsf{Set}

Namely, it’s one obeying the ‘sheaf condition’.

I explained this condition in Part 1, but here’s a slicker way to say it. Suppose U \subseteq X is an open set covered by a collection of open sets U_i \subseteq U. Then we get this diagram:

\displaystyle{ FU \rightarrow \prod_i FU_i \rightrightarrows \prod_{i,j} F(U_i \cap U_j) }

The first arrow comes from restricting elements of FU to the smaller sets U_i. The other two arrows come from this: we can either restrict from FU_i to F(U_i \cap U_j), or restrict from FU_j to F(U_i \cap U_j).

The sheaf condition says that this diagram is an equalizer! This is just another way of saying that a family of s_i \in FU_i are the restrictions of a unique s \in FU iff their restrictions to the overlaps U_i \cap U_j are equal.

In the second viewpoint, a sheaf is a bundle over X

p \colon Y \to X

with the special property of being ‘etale’. Remember, this means that every point in Y has an open neighborhood that’s mapped homeomorphically onto an open neighborhood in X.

Last time I showed you how to change viewpoints. We got a functor that turns presheaves into bundles

\Lambda \colon \widehat{\mathcal{O}(X)} \to \mathsf{Top}/X

and a functor that turns bundles into presheaves:

\Gamma \colon \mathsf{Top}/X \to \widehat{\mathcal{O}(X)}

Moreover, I claimed \Lambda actually turns presheaves into etale spaces, and \Gamma actually turns bundles into sheaves. And I claimed that these functors restrict to an equivalence between the category of sheaves and the category of etale spaces:

\mathsf{Sh}(X) \simeq  \mathsf{Etale}(X)

What can we do with these ideas? Right away we can do two things:

• We can describe ‘sheafification’: the process of improving a presheaf to get a sheaf.

• We can see how to push forward and pull back sheaves along a continuous map between spaces.

I’ll do the first now and the second next time. I’m finding it pleasant to break up these notes into small bite-sized pieces, shorter than my actual lectures.


To turn a presheaf into a sheaf, we just hit it with \Lambda and then with \Gamma. In other words, we turn our presheaf into a bundle and then turn it back into a presheaf. It turns out the result is a sheaf!

Why? The reason is this:

Theorem. If we apply the functor

\Gamma \colon \mathsf{Top}/X \to \widehat{\mathcal{O}(X)}

to any object, the result is a sheaf on X.

(The objects of \mathsf{Top}/X are, of course, the bundles over X.)

Proving this theorem was a puzzle last time; let me outline the solution. Remember that if we take a bundle

p \colon Y \to X

and hit it with \Gamma, we get a presheaf called \Gamma_p where \Gamma_p U is the set of sections of Y over X, and we restrict sections in the usual way, by restricting functions. But you can check that if we have an open set U covered by a bunch of open subsets U_i, and a bunch of sections s_i on the U_i that agree on the overlaps U_i \cap U_j, these sections piece together to define a unique section on all of U that restricts to each of the s_i. So, \Gamma_p is a sheaf!

It follows that \Gamma \Lambda sends presheaves to sheaves. Since sheaves are a full subcategory of presheaves, any \Gamma \Lambda automatically sends any morphism of presheaves to a morphism of sheaves, and we get the sheafification functor

\Gamma \Lambda \colon \widehat{\mathcal{O}(X)} \to \mathsf{Sh}(X)

To fully understand this, it’s good to actually take a presheaf and sheafify it. So take a presheaf:

F \colon \mathcal{O}(X)^{\mathrm{op}} \to \mathsf{Set}

When we hit this with \Lambda, we get a bundle

p \colon \Lambda F \to X

Remember: any element of F(U) for any open neighborhood U of x gives a point over x in \Lambda F, all points over x show up this way, and two such elements s \in F(U), s' \in F(U') determine the same point iff they become equal when we restrict them to some sufficiently small open neighborhood of x.

When we hit this bundle with \Gamma, we get a sheaf

\Gamma \Lambda F \colon \mathcal{O}(X)^{\mathrm{op}} \to \mathsf{Set}

where (\Gamma \Lambda F)U is the set of sections of p over U. This is the sheafification of F.

So, if you think about it, you’ll see this: to define a section of the sheafification of F over an open set U, you can just take a bunch of sections of F over open sets covering U that agree when restricted to the overlaps.

Puzzle. Prove the above claim. Give a procedure for constructing a section of \Gamma \Lambda F over U given open sets U_i \subseteq U covering U and sections s_i of F over the U_i that obey

\displaystyle{ s_i|_{U_i \cap U_j} = s_j|_{U_i \cap U_j} }

The adjunction between presheaves and bundles

Here’s one nice consequence of the last puzzle. We can always use the trivial cover of U by U itself! Thus, any section of F over U gives a section of \Gamma \Lambda F over U. This is the key to the following puzzle:

Puzzle. Show that for any presheaf F there is morphism of presheaves

\eta_F \colon F \to \Gamma \Lambda F

Show that these morphisms are natural in F, so they define a natural transformation \eta \colon 1 \Rightarrow \Lambda \Gamma.

Now, this is just the sort of thing we’d expect if \Lambda were the left adjoint of \Gamma. Remember, when you have a left adjoint L \colon C \to D and a right adjoint R \colon D \to C, you always have a ‘unit’

\eta \colon 1 \Rightarrow R L

and a ‘counit’

\epsilon \colon L R \Rightarrow 1

where the double arrows stand for natural transformations.

And indeed, in Part 2 I claimed that \Lambda is the left adjoint of \Gamma. But I didn’t prove it. What we’re doing now could be part of the proof: in fact Mac Lane and Moerdijk prove it this way in Theorem 2 of Section II.6.

Let’s see if we can construct the counit

\epsilon \colon \Lambda \Gamma \Rightarrow 1

For this I hand you a bundle

p \colon Y \to X

You form its sheaf of sections \Gamma_p, and then you form the etale space \Lambda \Gamma_p of that. Then you want to construct a morphism of bundles \eta_p from your etale space \Lambda \Gamma_p to my original bundle.

Mac Lane and Moerdijk call the construction ‘inevitable’. Here’s how it works. We get points in \Lambda \Gamma_p over x \in X from sections of p \colon Y \to X over open sets containing x. But you can just take one of these sections and evaluate it at x and get a point in Y.

Puzzle. Show that this procedure gives a well-defined continuous map

\epsilon_p \colon \Lambda \Gamma_p \to Y

and that this is actually a morphism of bundles over X. Show that these morphisms define a natural transformation \eta \colon \Lambda \Gamma \Rightarrow 1.

Now that we have the unit and counit, if you’re feeling ambitious you can show they obey the two equations required to get a pair of adjoint functors, thus solving the following puzzle:

Puzzle. Show that

\Lambda \colon \widehat{\mathcal{O}(X)} \to \mathsf{Top}/X

is left adjoint to

\Gamma \colon \mathsf{Top}/X \to \widehat{\mathcal{O}(X)}

If you’re not feeling so ambitious, just look at Mac Lane and Moerdijk’s proof of Theorem 2 in Section II.6!

The series so far:

Part 1: sheaves, elementary topoi, Grothendieck topoi and geometric morphisms.

Part 2: turning presheaves into bundles and vice versa; turning sheaves into etale spaces and vice versa.

Part 3: sheafification; the adjunction between presheaves and bundles.

Part 4: direct and inverse images of sheaves.

Part 5: why presheaf categories are elementary topoi: colimits and limits in presheaf categories.

Part 6: why presheaf categories are elementary topoi: cartesian closed categories and why presheaf categories are cartesian closed.

Part 7: why presheaf categories are elementary topoi: subobjects and subobject classifiers, and why presheaf categories have a subobject classifier.

Part 8: an example: the topos of time-dependent sets, and its subobject classifier.

One Response to Topos Theory (Part 3)

  1. […] I don’t think there’s anything especially sneaky about their argument. They do however use this: if you take a sheaf, and convert it into an etale space, and convert that back into a sheaf, you get back where you started up to natural isomorphism. This isomorphism is just the counit that I mentioned in Part 3. […]

You can use Markdown or HTML in your comments. You can also use LaTeX, like this: $latex E = m c^2 $. The word 'latex' comes right after the first dollar sign, with a space after it.

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.