In Part 1, I said how to push sheaves forward along a continuous map. Now let’s see how to pull them back! This will set up a pair of adjoint functors with nice properties, called a ‘geometric morphism’.

First recall how we push sheaves forward. I’ll say it more concisely this time. If you have a continuous map between topological spaces, the inverse image of any open set is open, so we get a map

A functor between categories gives a functor between the opposite categories. I’ll use the same name for this, if you can stand it:

A presheaf on is a functor

and we can compose this with to get a presheaf on

We call this presheaf on the **direct image** or **pushforward** of along and we write it as In a nutshell:

Even better, this direct image operation extends to a functor from the category of presheaves on to the category of presheaves on

Better still, this functor sends sheaves to sheaves, so it restricts to a functor

This is how we push forward sheaves on to get sheaves on

All this seems very natural and nice. But now let’s stop pushing and start pulling! This will give a functor going the other way:

### The inverse image of a sheaf

At first it seems hard how to pull back sheaves, given how natural it was to push them forward. This is where our second picture of sheaves comes in handy!

Remember, a **bundle** over a topological space is a topological space equipped with a continuous map

We say it’s an **etale space** over if it has a special property: each point has an open neighborhood such that restricted to this neighborhood is a homeomorphism from this neighborhood to an open subset of In Part 2 we defined the category of bundles over which is called and the full subcategory of this whose objects are etale spaces, called I also sketched how we get an equivalence of categories

So, to pull back sheaves we can just convert them into etale spaces, pull *those* back, and then convert them back into sheaves!

First I’ll tell you how to pull back a bundle. I’ll assume you know the general concept of ‘pullbacks’, and what they’re like in the category of sets. The category of topological spaces and continuous maps has pullbacks, and they work a lot like they do in the category of sets. Say we’re given a bundle over which is really just a continuous map

and a continuous map

Then we can form their pullback and get a bundle over called

In class I’ll draw the pullback diagram, but it’s too much work to do here! As a set,

It’s a subset of and we make it into a topological space using the subspace topology. The map

does the obvious thing: it sends to

**Puzzle.** Prove that this construction really obeys the universal property for pullbacks in the category where objects are topological space and morphisms are continuous maps.

**Puzzle.** Show that this construction extends to a functor

That is, find a natural way to define the pullback of a morphism between bundles, and prove that this makes into a functor.

**Puzzle.** Prove that if is an etale space over and is any continuous map, then is an etale space over

Putting these puzzles together, it instantly follows that we can restrict the functor

to etale spaces and morphisms between those, and get a functor

Using the equivalence

we then get our desired functor

called the **inverse image** or **pullback** functor.

Slick! But what does the inverse image of a sheaf actually *look like*?

Suppose we have a sheaf on and a continuous map We get an inverse image sheaf on But what is it like, concretely?

That is, suppose we have an open set What does an element of amount to?

Unraveling the definitions, must be a section over of the pullback along of the etale space corresponding to

A point in the etale space corresponding to is the germ at some of some where is some open neighborhood of

Thus, our section is just a continuous function sending each point to some germ of this sort at

There is more to say: we could try to unravel the definitions a bit more, and describe directly in terms of the sheaf without mentioning the corresponding etale space! But maybe one of you reading this can do that more gracefully than I can.

** The adjunction between direct and inverse image functors **

Once they have direct and inverse images in hand, Mac Lane and Moerdijk prove the following as Theorem 2 in Section II.9:

**Theorem.** For any continuous map the direct image functor

is left adjoint to the inverse image functor:

I won’t do it here, so please look at their proof if you’re curious! As you might expect, it involves hopping back and forth between our two pictures of sheaves: as presheaves with an extra property, and as bundles with an extra property — namely, etale spaces.

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.

Remember, the functor that turns presheaves into bundles

is left adjoint to the functor that turns bundles into presheaves:

So, there’s a unit

and a unit

The fact we need now is that whenever a presheaf is a *sheaf*, its counit

is an isomorphism. This is part of Theorem 2 in Section II.6 in Mac Lane and Moerdijk.

And by the way, this fact has a partner! Whenever a bundle is an *etale space*, its unit is an isomorphism. So, converting an etale space into a sheaf and then back into an etale space also gets you back where you started, up to natural isomorphism. But the favored direction of this morphism is in the other direction: any sheaf maps *to* the sheaf of sections of its associated etale space, while any bundle maps *to* the etale space of its sheaf of sections.

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.

In the display right after this sentence “Better still, this functor sends sheaves to sheaves, so it restricts to a functor” the second Sh(X) should be a Sh(Y).

Thanks!