Topos Theory (Part 3)

Azimuth 2020-01-13

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 three things:

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

• We can can show \Lambda is the left adjoint of \Gamma.

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

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

Sheafification

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 section of F on any open neighborhood of x gives a point over x in \Lambda F, all points over x show up this way, and two such sections 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’

\epsilon \colon 1 \Rightarrow R L

and a ‘counit’

\eta \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

\eta \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

\eta_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!