## Introduction

Sheaf theory is a subfield of topology that generalizes the notion of gluing continuous functions together and specializes in describing objects by their local data on open sets. Above all, it's a tool, usable to define connectedness, manifolds, the fundamental group, and several other concepts in algebraic topology and differential geometry.

Its history may be more interesting than the subject itself: the French topologist Jean Leray developed it in the oodles of free time he had as a prisoner of the Nazis in Edelbach, Austria. This was part of a general trend that my topology teacher described as "the Nazis' biggest blunder" — while German minds fled as the political climate changed, the imprisoned French did tons of research in prison, so that by the war's end France was the new math hotbed. "The Nazis wanted to preserve German culture, and they ended up destroying it. It's totally ridiculous."

One of the advantages of Sheaf theory is that you really don't need that much topology to study it. We define a topological space as a set X along with a set of subsets of X that we consider "open," such that any union or finite intersection of open sets is also open. (In particular, both X itself — the intersection of no sets — and the empty set — the union of no sets — are open.)

The delightful agricultural terminology is there in the French, too. I have no idea why.

## Presheaves

A **presheaf** is a map assigning to each open set U in X a set F(U). (The "F" stands for "faisceau" — that means "sheaf"!) F(U) is just an arbitrary set, not necessarily related to the structure of X. We call its elements "sections" because of one particular example below. We do require it to restrict properly — for every open set U, and every open subset V of U, there must be a map ρ_{V,U} that carries each element of F(U) to an element of F(V), such that ρ_{U,U} is the identity map for any U, and such that, for any for any W subset of V subset of U, ρ_{W,V} ° ρ_{V,U} = ρ_{W,U}.

So we have a set for every open set, and we can restrict them properly. Here are a few examples.

- The constant presheaf at a set S is the presheaf F
_{S}such that for any open U, F_{S}(U)=S. The restriction maps are the identity. - For any spaces X and Y, the presheaf of continuous functions from X to Y. This is usually written O
_{Y}^{X}, and it returns for any U in X the set of continuous functions from U to Y. The restriction maps are simply restriction of functions. - Similarly, if Y is a metric space (especially the reals), we can form the presheaf of bounded functions from X to Y.
- Given a projection map p from Y to X, the presheaf of sections Γ(p) or Γ(Y/X) gives, for Γ(Y/X)(U), the set of continuous functions from U to Y that are locally inverses of p. If Y is R
^{2}, X is R, and p is the expected projection, this gives graphs of continuous functions y=f(x).

If you know any category theory, you can more concisely define the category of presheaves on X with values in some category S as the category of contravariant functors from Op(X) to S.

## Sheaves

Sheaves attach to the properties of presheaves the ability to paste together sections on different domains. Take an open cover of an open set U by {V_{a}} for a in some index set A. Choose a section s_{a} in F(V_{a}), for each a, such that whenever V_{b} and V_{c} intersect, ρ_{Vb∩Vc,Vb}(s_{b}) =ρ_{Vb∩Vc,Vc}(s_{c}). F is a **sheaf** if there exists a unique s in F(U) such that ρ_{Va,U}(s)=s_{a} for each a.

That seems like a mouthful. In essence, we want our sheaves to have a good local-to-global property. This is a generalization of the statement, sometimes known as the pasting lemma, that given continuous functions that agree on the intersections of their domains, one can define a continuous function on the union of their domains that restricts to each of the original functions. The best way to think of this property is to look at the places where it fails. The presheaf of bounded functions is a good example: one can cover R with open intervals and take a section on each interval equal to, say, the restriction of y=x. Then the sections all agree, and they are each bounded, but the obvious *global* extension - the function y=x on R - is not a section of the presheaf because it is not bounded (and there is no section that does work). So the presheaf of bounded functions is not a sheaf.

Another counterexample in the opposite direction is the constant presheaf at a set S with more than two elements. Cover Ø, the empty set, with the empty collection. Then the "section for each element of the cover" is in fact a tuple containing no sections - it is therefore the empty tuple (). Vacuously, its elements agree on intersections. But there are sections on Ø: every element of S is a section. And if a and b are two such sections, then they *both* restrict to nothing on no sets, so that they *both* satisfy the sheaf property. So the constant presheaf is not a sheaf, because no unique section exists in this case.

Here are some sheaves:

- The presheaf of continuous functions is, in fact, a sheaf. Similarly, on functions from R
^{n}to itself, we can define the sheaf of analytic functions, or of k-times differentiable functions for any k. - So is Γ(Y/X), above. We call this the sheaf of sections. As we will see, it's our canonical example.
- The skyscraper sheaf at x for a set S is S
_{x}(U)=S if x is in U, * if it is not.

## Morphisms

As noted above, presheaves (and sheaves) over a space form a category. The corresponding morphism is, well, the sheaf morphism. A **morphism** from a presheaf F to a presheaf G on X is a morphism φ_{U} from F(U) to G(U) for every open set U in X. We require these morphisms to commute with restrictions. In other words, for every open U and open V included in U, the following diagram must commute:

φ_{U}F(U)----------------->G(U) | | | | | | Fρ_{V,U}| | Gρ_{V,U}| | | | | | V V F(V)----------------->G(V) φ_{V}

Morphisms can be composed by defining the new morphism's member functions F(U) -> G(U) to be the composition of the old ones from F(U) to G(U). We say that a morphism is an **isomorphism** if it has an inverse, or equivalently, if each of its member functions is a bijection.

## Stalks

Stalks reduce sheaves and presheaves to their most local information. Surprisingly, this is enough to capture most of the information about a sheaf or presheaf, though it cannot account for everything.

We start by forming the disjoint union of each section over each open set containing some x. This is most easily described as the set of ordered pairs (U,s) where s is a section in F(U). The **stalk** at x, F_{x}, is this set modulo the following equivalence relation: (U,s) ~ (V,t) if, for some W in U∩V containing x, ρ_{W, U}(s) = ρ_{W, V}(t). What we are left with is each section "around x" in its "simplest form." We call this the **germ** of a section.

In the format of the sheaf of sections described above, you can visualize this pretty easily: the sections of X sit above the space, they restrict to become sections on smaller sets, and then each stalk is the intersections of the vertical line above each point with the section above. If p actually is a projection, then the stalk at x is p^{-1}(x). We can compute other stalks similarly: for the constant presheaf, for instance, the stalk over any point is S, and for the skyscraper sheaf, the stalk over x is S and the stalk over any other point is *. (Hence the name "skyscraper.")

As I said above, you can capture information about a presheaf through its stalks. In particular, you can define an induced map on stalks based on a morphism on presheaves: if φ is a morphism from F to G and φ_{U} is its component map on U, let φ_{x} carry each (U,s) to (U,φ_{U}(s)). Because of the way the stalk is defined and the way morphisms commute with restrictions, this is actually well-defined. Moreover, a few convenient facts make this induced map useful: if the induced maps of two morphisms are equal for every x, then the morphisms are equal. If a morphism's induced map is a bijection for every x, the morphism is an isomorphism, and similarly, if the induced map is injective or surjective, the morphism has the respective property.

One seeming "fact" is the following: if a bijection exists between the stalks of two spaces, they are isomorphic. But this isn't true, and here is a counter example. On the unit circle S^{1} in the complex plane, let p_{2} be the map taking z to z^{2}, and let D be the fold map taking two copies of the circle to itself. We can form the sheaf of sections of both these maps. Then the stalk of each point in Γ(p_{2}) is two points (one for each square root), and that of Γ(D) is two points (one in each circle). In fact, for any open set not equal to the entire circle, the sections are isomorphic - simply two copies of the open set. But S^{1} has no global section under Γ(p_{2}), while it does (it has two) under Γ(D). So there is no morphism from Γ(D) to Γ(p_{2}), even though their stalks are isomorphic.

## The Espace Étalé and Sheafification

"**Espace étalé**" means, in French, a space that is "spread out" or "displayed." It is formed by "bundling" the stalks back into a meaningful global structure. Along the way, though, we manage to acquire the sheaf property in a very unexpected way. We define Ét(F) to be the disjoint union of the stalks of F on X, Ét(F)={(U,s,x)}. Along with this come two maps: for any (U,s) a map ~s : U → Ét(F) taking x to (U,s,x); and a projection map p : Ét(F) → X taking (U,s,x) to x. We topologize Ét(F) with the finest possible topology such that ~s is continuous for each (U,s). Then V is open in Ét(F) iff ~s^{-1}(V) is open in U for every (U,s).

This topology makes p a local homeomorphism - it is continuous and open, and injective on a neighborhood of every x. Surprisingly, if any p : Y → X is a local homeomorphism, then Y is homeomorphic to Ét(Γ(p)). This gives a correspondence — a category equivalence, actually — between sheaves and local homeomorphisms.

Now the set of all maps ~s from a set U forms Γ(Ét(F)/X)(U), and we can combine all of these together to get the sheaf Γ(Ét(F)/X). But F didn't need to be a sheaf, just a presheaf. And the set of maps s → ~s actually forms a sheaf morphism between these two structures. We call this the **unit morphism**, and the sheaf Γ(Ét(F)/X) the **sheafification** of F, or aF for short. It is the closest approximation to F with the sheaf property. We can also prove that for any x, there is a stalk isomorphism between F_{x} and aF_{x}. Also, for any morphism φ : F → G, there is a unique morphism ~φ : G -> aF such that φ ° ~φ = unit.

Finally, as you may have guessed, if F is a sheaf, the unit morphism is an isomorphism. So every sheaf is really a sheaf of sections. This interpretation might not always be convenient, as the espace étalé is often hard to conceptualize, but it's there if needed, and it explains why we use the word "section" for members of any presheaf or sheaf.

## Mapping sheaves

There are two ways we can move sheaves between spaces, both ideas from category theory made more specific.

If f : X → Y is continuous, F is a sheaf on X, and G is a sheaf on Y, the **direct image** of F under f is the sheaf (f_{*}F)(V)=F(f^{-1}(V)). The **inverse image** of G under f is the sheaf (f^{*}G)(U)=Γ((Ét(G) x_{Y} X)/X)(U). In this case, A x_{C} B is the fiber product of A and B over C, defined from maps f : A → C, g : B → C as the set {(a,b) in A x B : f(a)=g(b)}.

## Applications

Though interesting as a category, there isn't too much more to do with sheaves than that described in this article. Here are a few of the ways to extend sheaf theory.

In general topology and covering space theory, the correspondence between sheaves and local homeomorphisms demonstrated above is only a piece of the puzzle. Constant sheaves are the sheaves of sections of fold maps, that is, projections X x S^{δ} → X. In between these two, we have the locally constant sheaves, which are sheaves that are locally equal to a constant sheaf. These are the sheaves of sections of covering maps, maps p : E → X such that every x in X has a neighborhood U such that p^{-1}(U) is homeomorphic to U x p^{-1}(x).

In algebraic topology, we can define loop homotopy and the fundamental group using the above covering spaces. We can also define connectedness of a space: X is connected if there is a bijection between S and the constant sheaf F_{S} at X for any S. This is tantamount to saying that the only continuous maps from X to any S^{δ} are constant. If X is not connected, we can define its π_{0} to be the set, with an associated global section s in F_{π0X}(X), such that for any other global section t of another constant sheaf F_{S}(X), there is a unique morphism φ : F_{π0X} → F_{S} such that φ_{X}(s)=t.

Perhaps most far-reachingly, Alexander Grothendieck made large strides in algebraic geometry in the 1950's by abstracting the idea of covering and replacing all the data about the points of the space with data about its open sets. This gave categories very similar to the category of the sheaves on the space. Nowadays, these categories are studied in their own right as topoi (singular topos), with connections not only to algebraic geometry and category theory, but also mathematical logic.