Sheaf (mathematics)
In mathematics, a sheaf is a tool for systematically tracking locally defined data attached to the open sets of a topological space. The data can be restricted to smaller open sets, and the data assigned to an open set is equivalent to all collections of compatible data assigned to collections of smaller open sets covering the original one. For example, such data can consist of the rings of continuous or smooth realvalued functions defined on each open set. Sheaves are by design quite general and abstract objects, and their correct definition is rather technical. They are variously defined, for example, as sheaves of sets or sheaves of rings, depending on the type of data assigned to open sets.
There are also maps (or morphisms) from one sheaf to another; sheaves (of a specific type, such as sheaves of abelian groups) with their morphisms on a fixed topological space form a category. On the other hand, to each continuous map there is associated both a direct image functor, taking sheaves and their morphisms on the domain to sheaves and morphisms on the codomain, and an inverse image functor operating in the opposite direction. These functors, and certain variants of them, are essential parts of sheaf theory.
Due to their general nature and versatility, sheaves have several applications in topology and especially in algebraic and differential geometry. First, geometric structures such as that of a differentiable manifold or a scheme can be expressed in terms of a sheaf of rings on the space. In such contexts several geometric constructions such as vector bundles or divisors are naturally specified in terms of sheaves. Second, sheaves provide the framework for a very general cohomology theory, which encompasses also the "usual" topological cohomology theories such as singular cohomology. Especially in algebraic geometry and the theory of complex manifolds, sheaf cohomology provides a powerful link between topological and geometric properties of spaces. Sheaves also provide the basis for the theory of Dmodules, which provide applications to the theory of differential equations. In addition, generalisations of sheaves to more general settings than topological spaces, such as Grothendieck topology, have provided applications to mathematical logic and number theory.
Overview
In topology, differential geometry, and algebraic geometry, several structures defined on a topological space (e.g., a differentiable manifold) can be naturally localised or restricted to open subsets of the space: typical examples include continuous realvalued or complexvalued functions, n times differentiable (realvalued or complexvalued) functions, bounded realvalued functions, vector fields, and sections of any vector bundle on the space.
Presheaves formalise the situation common to the examples above: a presheaf (of sets) on a topological space is a structure that associates to each open set U of the space a set F(U) of sections on U, and to each open set V included in U a map F(U) → F(V) giving restrictions of sections over U to V. Each of the examples above defines a presheaf by taking the restriction maps to be the usual restriction of functions, vector fields and sections of a vector bundle. Moreover, in each of these examples the sets of sections have additional algebraic structure: pointwise operations make them abelian groups, and in the examples of real and complexvalued functions the sets of sections even have a ring structure. In addition, in each example the restriction maps are homomorphisms of the corresponding algebraic structure. This observation leads to the natural definition of presheaves with additional algebraic structure such as presheaves of groups, of abelian groups, of rings: sets of sections are required to have the specified algebraic structure, and the restrictions are required to be homomorphisms. Thus for example continuous realvalued functions on a topological space form a presheaf of rings on the space.
Given a presheaf, a natural question to ask is to what extent its sections over an open set U are specified by their restrictions to smaller open sets V_{i} of an open cover of U. A presheaf is separated if its sections are "locally determined": whenever two sections over U coincide when restricted to each of V_{i}, the two sections are identical. All examples of presheaves discussed above are separated, since in each case the sections are specified by their values at the points of the underlying space. Finally, a separated presheaf is a sheaf if compatible sections can be glued together, i.e., whenever there is a section of the presheaf over each of the covering sets V_{i}, chosen so that they match on the overlaps of the covering sets, these sections correspond to a (unique) section on U, of which they are restrictions. It is easy to verify that all examples above except the presheaf of bounded functions are in fact sheaves: in all cases the criterion of being a section of the presheaf is local in a sense that it is enough to verify it in an arbitrary neighbourhood of each point.
On the other hand, a function can be bounded on each set of an (infinite) open cover of a space without being bounded on all of the space; thus bounded functions provide an example of a (separated) presheaf that in general fails to be a sheaf. Another example of a presheaf that fails to be a sheaf is a constant presheaf that associates the same fixed set (or abelian group, or ring,...) to each open set: it follows from the gluing property of sheaves that the set of sections on a disjoint union of two open sets is the Cartesian product of the sets of sections over the two open sets. The correct way to define the constant sheaf F_{A} (associated to for instance a set A) on a topological space is to require sections on an open set U to be continuous maps from U to A equipped with the discrete topology; then in particular F_{A}(U) = A for connected U.
Maps between sheaves or presheaves (called morphisms), consist of maps between the sets of sections over each open set of the underlying space, compatible with restrictions of sections. If the presheaves or sheaves considered are provided with additional algebraic structure, these maps are assumed to be homomorphisms. Sheaves endowed with nontrivial endomorphisms, such as the action of an algebraic torus or a Galois group, are of particular interest.
Presheaves and sheaves are typically denoted by capital letters, F being particularly common, presumably for the French word for sheaves, faisceaux. Use of calligraphic letters such as is also common.
Formal definitions
The first step in defining a sheaf is to define a presheaf, which captures the idea of associating data and restriction maps to the open sets of a topological space. The second step is to require the normalisation and gluing axioms. A presheaf that satisfies these axioms is a sheaf.
Presheaves
Let X be a topological space, and let C be a category. Usually C is the category of sets, the category of groups, the category of abelian groups, or the category of commutative rings. A presheaf F on X is a functor with values in C given by the following data:
 For each open set U of X, there corresponds an object F(U) in C
 For each inclusion of open sets V ⊆ U, there corresponds a morphism in the category C.
The morphisms res_{V,U} are called restriction morphisms. If s ∈ F(U), then its restriction res_{V,U}(s) is often denoted s_{V} by analogy with restriction of functions. The restriction morphisms are required to satisfy two properties:
 For every open set U of X, the restriction morphism res_{U,U} : F(U) → F(U) is the identity morphism on F(U).
 If we have three open sets W ⊆ V ⊆ U, then the composite res_{W,V} o res_{V,U} equals res_{W,U}.
Informally, the second axiom says it doesn't matter whether we restrict to W in one step or restrict first to V, then to W.
There is a compact way to express the notion of a presheaf in terms of category theory. First we define the category of open sets on X to be the posetal category O(X) whose objects are the open sets of X and whose morphisms are inclusions. Then a Cvalued presheaf on X is the same as a contravariant functor from O(X) to C. This definition can be generalized to the case when the source category is not of the form O(X) for any X; see presheaf (category theory).
If F is a Cvalued presheaf on X, and U is an open subset of X, then F(U) is called the sections of F over U. If C is a concrete category, then each element of F(U) is called a section. A section over X is called a global section. A common notation (used also below) for the restriction res_{V,U}(s) of a section is s_{V}. This terminology and notation is by analogy with sections of fiber bundles or sections of the étalé space of a sheaf; see below. F(U) is also often denoted (U, F), especially in contexts such as sheaf cohomology where U tends to be fixed and F tends to be variable.
Sheaves
For simplicity, consider first the case where the sheaf takes values in the category of sets. In fact, this definition applies more generally to the situation where the category is a concrete category whose underlying set functor is conservative, meaning that if the underlying map of sets is a bijection, then the original morphism is an isomorphism.
A sheaf is a presheaf with values in the category of sets that satisfies the following two axioms:
 (Locality) If (U_{i}) is an open covering of an open set U, and if s, t ∈ F(U) are such that s_{Ui} = t_{Ui} for each set U_{i} of the covering, then s = t; and
 (Gluing) If (U_{i}) is an open covering of an open set U, and if for each i a section s_{i} ∈ F(U_{i}) is given such that for each pair U_{i}, U_{j} of the covering sets the restrictions of s_{i} and s_{j} agree on the overlaps: s_{i}_{Ui∩Uj} = s_{j}_{Ui∩Uj}, then there is a section s ∈ F(U) such that s_{Ui} = s_{i} for each i.
The section s whose existence is guaranteed by axiom 2 is called the gluing, concatenation, or collation of the sections s_{i}. By axiom 1 it is unique. Sections s_{i} satisfying the condition of axiom 2 are often called compatible; thus axioms 1 and 2 together state that compatible sections can be uniquely glued together. A separated presheaf, or monopresheaf, is a presheaf satisfying axiom 1.[1]
If C (the category in which the sheaf takes values) has products, the sheaf axioms are equivalent to the requirement that, for any open covering U_{i}, the first arrow in the following diagram is an equalizer:
Here the first map is the product of the restriction maps
and the pair of arrows the products of the two sets of restrictions
and
For a separated presheaf, the first arrow need only be injective.
In general, for an open set U and open covering (U_{i}), construct a category J whose objects are the sets U_{i} and the intersections U_{i} ∩ U_{j} and whose morphisms are the inclusions of U_{i} ∩ U_{j} in U_{i} and U_{j}. The sheaf axioms for U and (U_{i}) are that the limit of the functor F restricted to the category J must be isomorphic to F(U).
Notice that the empty subset of a topological space is covered by the empty family of sets. The product of an empty family or the limit of an empty family is a terminal object, and consequently the value of a sheaf on the empty set must be a terminal object. If sheaf values are in the category of sets, applying the local identity axiom to the empty family shows that over the empty set, there is at most one section, and applying the gluing axiom to the empty family shows that there is at least one section. This property is called the normalisation axiom.
It can be shown that to specify a sheaf, it is enough to specify its restriction to the open sets of a basis for the topology of the underlying space. Moreover, it can also be shown that it is enough to verify the sheaf axioms above relative to the open sets of a covering. Thus a sheaf can often be defined by giving its values on the open sets of a basis, and verifying the sheaf axioms relative to the basis. (see Gluing axiom § Sheaves on a basis of open sets.)
Morphisms
Heuristically speaking, a morphism of sheaves is analogous to a function between them. However, because sheaves contain data relative to every open set of a topological space, a morphism of sheaves is defined as a collection of functions, one for each open set, that satisfy a compatibility condition.
Let F and G be two sheaves on X with values in the category C. A morphism consists of a morphism for each open set U of X, subject to the condition that this morphism is compatible with restrictions. In other words, for every open subset V of an open set U, the following diagram is commutative.
Recall that we could also express a sheaf as a special kind of functor. In this language, a morphism of sheaves is a natural transformation of the corresponding functors. With this notion of morphism, there is a category of Cvalued sheaves on X for any C. The objects are the Cvalued sheaves on X, and the morphisms are morphisms of sheaves on X. An isomorphism of sheaves is an isomorphism in this category.
It can be proved that an isomorphism of sheaves is an isomorphism on each open set U. In other words, φ is an isomorphism if and only if for each U, is an isomorphism. It is also true that a morphism of sheaves φ is an isomorphism if and only if there exists an open cover such that are isomorphisms of sheaves for all . The same facts are true for monomorphisms. However, they are false for epimorphisms, and their failure is measured by sheaf cohomology.
Notice that we used neither the locality nor the gluing axiom in defining a morphism of sheaves. Consequently, the above definition makes sense for presheaves as well. The category of Cvalued presheaves on X is then a functor category, the category of contravariant functors from O(X) to C.
Examples
Because sheaves encode exactly the data needed to pass between local and global situations, there are many examples of sheaves occurring throughout mathematics. Here are some additional examples of sheaves:
 Any continuous map of topological spaces determines a sheaf of sets. Let f : Y → X be a continuous map. We define a sheaf Γ(Y/X) on X by setting Γ(Y/X)(U) equal to the sections U → Y, that is, Γ(Y/X)(U) is the set of all continuous functions s : U → Y such that f ∘ s = id_{U}. Restriction is given by restriction of functions. This sheaf is called the sheaf of sections of f, and it is especially important when f is the projection of a fiber bundle onto its base space. Notice that if the image of f does not contain U, then Γ(Y/X)(U) is empty. For a concrete example, take X = C \ {0}, Y = C, and f(z) = exp(z). Γ(Y/X)(U) is the set of branches of the logarithm on U.
 Fix a point x in X and an object S in a category C. The skyscraper sheaf over x with stalk S is the sheaf S_{x} defined as follows: If U is an open set containing x, then S_{x}(U) = S. If U does not contain x, then S_{x}(U) is the terminal object of C. The restriction maps are either the identity on S, if both open sets contain x, or the unique map from S to the terminal object of C.
Sheaves on manifolds
In the following examples M is an ndimensional C^{k}manifold. The table lists the values of certain sheaves over open subsets U of M and their restriction maps.
Sheaf  Sections over an open set U  Restriction maps  Remarks 

Sheaf of jtimes continuously differentiable functions , j ≤ k  C^{j}functions U → R  Restriction of functions.  This is a sheaf of rings with addition and multiplication given by pointwise addition and multiplication. When j = k, this sheaf is called the structure sheaf and is denoted . 
Sheaf of nonzero ktimes continuously differentiable functions  Nowhere zero C^{k}functions U → R  Restriction of functions.  A sheaf of groups under pointwise multiplication. 
Cotangent sheaves Ω^{p}_{M}  Differential forms of degree p on U  Restriction of differential forms.  Ω^{1}_{M} and Ω^{n}_{M} are commonly denoted Ω_{M} and ω_{M}, respectively. 
Sheaf of distributions DB  Distributions on U  The dual map to extension of smooth compactly supported functions by zero.  Here M is assumed to be smooth. 
Sheaf of differential operators  Finiteorder differential operators on U  Restriction of differential operators.  Here M is assumed to be smooth. 
Presheaves that are not sheaves
Here are two examples of presheaves that are not sheaves:
 Let X be the twopoint topological space {x, y} with the discrete topology. Define a presheaf F as follows: F(∅) = {∅}, F({x}) = R, F({y}) = R, F({x, y}) = R × R × R. The restriction map F({x, y}) → F({x}) is the projection of R × R × R onto its first coordinate, and the restriction map F({x, y}) → F({y}) is the projection of R × R × R onto its second coordinate. F is a presheaf that is not separated: A global section is determined by three numbers, but the values of that section over {x} and {y} determine only two of those numbers. So while we can glue any two sections over {x} and {y}, we cannot glue them uniquely.
 Let X be the real line, and let F(U) be the set of bounded continuous functions on U. This is not a sheaf because it is not always possible to glue. For example, let U_{i} be the set of all x such that x < i. The identity function f(x) = x is bounded on each U_{i}. Consequently we get a section s_{i} on U_{i}. However, these sections do not glue, because the function f is not bounded on the real line. Consequently F is a presheaf, but not a sheaf. In fact, F is separated because it is a subpresheaf of the sheaf of continuous functions.
Turning a presheaf into a sheaf
It is frequently useful to take the data contained in a presheaf and to express it as a sheaf. It turns out that there is a best possible way to do this. It takes a presheaf F and produces a new sheaf aF called the sheaving, sheafification or sheaf associated to the presheaf F. The functor a is called the sheaving functor, sheafification functor, or associated sheaf functor. There is a natural morphism of presheaves that has the universal property that for any sheaf G and any morphism of presheaves , there is a unique morphism of sheaves such that . In fact a is the left adjoint functor to the inclusion functor (or forgetful functor) from the category of sheaves to the category of presheaves, and i is the unit of the adjunction. In this way, the category of sheaves turns into a Giraud subcategory of presheaves.
One concrete way of constructing the sheaf aF is to identify it with the sheaf of sections of an appropriate topological space. This space is analogous to the étalé space of a sheaf. Briefly, the underlying set of the topological space is the disjoint union of the stalks of F, denoted Spé F. There is a natural map φ : Spé F → X that sends each germ to the point of X over which it lies. For each open set U and each section s of F over U, we define a section of φ that sends x to the germ s_{x}. Then Spé F is given the finest topology for which all sections are continuous, and aF is the sheaf of continuous sections of φ for this topology.
There are other constructions of the sheaf aF. In particular, Alexander Grothendieck and JeanLouis Verdier (SGA 4 II 3.0.5) define a functor L from presheaves to presheaves which, when applied to a presheaf, yields a separated presheaf and, when applied to a separated presheaf, yields a sheaf. Applying the functor L twice therefore turns a presheaf into a sheaf, and in fact LLF is the associated sheaf aF.
Operations
If K is a subsheaf of a sheaf F of abelian groups, then the quotient sheaf Q is the sheaf associated to the presheaf ; in other words, the quotient sheaf fits into an exact sequence of sheaves of abelian groups;
(this is also called a sheaf extension.)
Let F, G be sheaves of abelian groups. The set of morphisms of sheaves from F to G forms an abelian group (by the abelian group structure of G). The sheaf hom of F and G, denoted by,
is the sheaf of abelian groups where is the sheaf on U given by (Note sheafification is not needed here). The direct sum of F and G is the sheaf given by , and the tensor product of F and G is the sheaf associated to the presheaf .
All of these operations extend to sheaves of modules over a sheaf of rings A; the above is the special case when A is the constant sheaf .
Images of sheaves
Image functors for sheaves 

direct image f_{∗} 
inverse image f^{∗} 
direct image with compact support f_{!} 
exceptional inverse image Rf^{!} 

Base change theorems 
The definition of a morphism on sheaves makes sense only for sheaves on the same space X. This is because the data contained in a sheaf is indexed by the open sets of the space. If we have two sheaves on different spaces, then their data is indexed differently. There is no way to go directly from one set of data to the other.
However, it is possible to move a sheaf from one space to another using a continuous function. Let f : X → Y be a continuous function from a topological space X to a topological space Y. If we have a sheaf on X, we can move it to Y, and vice versa. There are four ways in which sheaves can be moved.
 A sheaf on X can be moved to Y using the direct image functor or the direct image with proper support functor .
 A sheaf on Y can be moved to X using the inverse image functor or the twisted inverse image functor .
The twisted inverse image functor is, in general, only defined as a functor between derived categories. These functors come in adjoint pairs: and are left and right adjoints of each other, and and are left and right adjoints of each other. ( is the exceptional inverse image functor.) The functors are intertwined with each other by Grothendieck duality and Verdier duality.
There is a different inverse image functor for sheaves of modules over sheaves of rings. This functor is usually denoted and it is distinct from . See inverse image functor.
Stalks of a sheaf
The stalk of a sheaf captures the properties of a sheaf "around" a point x ∈ X, generalizing the germs of functions. Here, "around" means that, conceptually speaking, one looks at smaller and smaller neighborhoods of the point. Of course, no single neighborhood will be small enough, so we will have to take a limit of some sort.
The stalk is defined by
the direct limit being over all open subsets of X containing the given point x. In other words, an element of the stalk is given by a section over some open neighborhood of x, and two such sections are considered equivalent if their restrictions agree on a smaller neighborhood.
The natural morphism F(U) → F_{x} takes a section s in F(U) to its germ at x. This generalises the usual definition of a germ.
A different way of defining the stalk is
where i is the inclusion of the onepoint space {x} into X. The equivalence follows from the definition of the inverse image.
In many situations, knowing the stalks of a sheaf is enough to control the sheaf itself. For example, whether or not a morphism of sheaves is a monomorphism, epimorphism, or isomorphism can be tested on the stalks. They also find use in constructions such as Godement resolutions.
Ringed spaces and locally ringed spaces
A pair consisting of a topological space X and a sheaf of rings on X is called a ringed space. Many types of spaces can be defined as certain types of ringed spaces. The sheaf is called the structure sheaf of the space. A very common situation is when all the stalks of the structure sheaf are local rings, in which case the pair is called a locally ringed space. Here are examples of definitions made in this way:
 An ndimensional C^{k} manifold M is a locally ringed space whose structure sheaf is an algebra and is locally isomorphic to the sheaf of C^{k} realvalued functions on R^{n}.
 A complex analytic space is a locally ringed space whose structure sheaf is a algebra and is locally isomorphic to the vanishing locus of a finite set of holomorphic functions together with the restriction (to the vanishing locus) of the sheaf of holomorphic functions on C^{n} for some n.
 A scheme is a locally ringed space that is locally isomorphic to the spectrum of a ring.
 A semialgebraic space is a locally ringed space that is locally isomorphic to a semialgebraic set in Euclidean space together with its sheaf of semialgebraic functions.
Sheaves of modules
Let be a ringed space. A sheaf of modules is a sheaf such that on every open set U of X, is an module and for every inclusion of open sets V ⊆ U, the restriction map is compatible with the restriction map O(U) → O(V): the restriction of fs is the restriction of f times that of s for any f in O(U) and s in F(U).
Most important geometric objects are sheaves of modules. For example, there is a onetoone correspondence between vector bundles and locally free sheaves of modules. Sheaves of solutions to differential equations are Dmodules, that is, modules over the sheaf of differential operators.
A particularly important case is abelian sheaves, which are modules over the constant sheaf . Every sheaf of modules is an abelian sheaf.
Finiteness conditions for sheaves of modules
The condition that a module is finitely generated or finitely presented can also be formulated for a sheaf of modules. is finitely generated if, for every point x of X, there exists an open neighborhood U of x, a natural number n (possibly depending on U), and a surjective morphism of sheaves . Similarly, is finitely presented if in addition there exists a natural number m (again possibly depending on U) and a morphism of sheaves such that the sequence of morphisms is exact. Equivalently, the kernel of the morphism is itself a finitely generated sheaf.
These, however, are not the only possible finiteness conditions on a sheaf. The most important finiteness condition for a sheaf is coherence. is coherent if it is of finite type and if, for every open set U and every morphism of sheaves (not necessarily surjective), the kernel of φ is of finite type. is coherent if it is coherent as a module over itself. Note that coherence is a strictly stronger condition than finite presentation: is always finitely presented as a module over itself, but it is not always coherent. For example, let X be a point, let be the ring R = C[x_{1}, x_{2}, ...] of complex polynomials in countably many indeterminates. Choose n = 1, and for the morphism φ, take the map that sends every variable to zero. The kernel of this map is not finitely generated, so is not coherent.
The étalé space of a sheaf
In the examples above it was noted that some sheaves occur naturally as sheaves of sections. In fact, all sheaves of sets can be represented as sheaves of sections of a topological space called the étalé space, from the French word étalé [etale], meaning roughly "spread out". If F is a sheaf over X, then the étalé space of F is a topological space E together with a local homeomorphism π : E → X such that the sheaf of sections of π is F. The space E is usually very strange, and even if the sheaf F arises from a natural topological situation, E may not have any clear topological interpretation. For example, if F is the sheaf of sections of a continuous function f : Y → X, then E = Y if and only if f is a local homeomorphism.
The étalé space E is constructed from the stalks of F over X. As a set, it is their disjoint union and π is the obvious map that takes the value x on the stalk of F over x ∈ X. The topology of E is defined as follows. For each element s of F(U) and each x in U, we get a germ of s at x. These germs determine points of E. For any U and s ∈ F(U), the union of these points (for all x ∈ U) is declared to be open in E. Notice that each stalk has the discrete topology as subspace topology. Two morphisms between sheaves determine a continuous map of the corresponding étalé spaces that is compatible with the projection maps (in the sense that every germ is mapped to a germ over the same point). This makes the construction into a functor.
The construction above determines an equivalence of categories between the category of sheaves of sets on X and the category of étalé spaces over X. The construction of an étalé space can also be applied to a presheaf, in which case the sheaf of sections of the étalé space recovers the sheaf associated to the given presheaf.
This construction makes all sheaves into representable functors on certain categories of topological spaces. As above, let F be a sheaf on X, let E be its étalé space, and let π : E → X be the natural projection. Consider the category Top/X of topological spaces over X, that is, the category of topological spaces together with fixed continuous maps to X. Every object of this space is a continuous map f : Y → X, and a morphism from Y → X to Z → X is a continuous map Y → Z that commutes with the two maps to X. There is a functor Γ from Top/X to the category of sets that takes an object f : Y → X to (f^{−1}F)(Y). For example, if i : U → X is the inclusion of an open subset, then Γ(i) = (i^{−1}F)(U) agrees with the usual F(U), and if i : {x} → X is the inclusion of a point, then Γ({x}) = (i^{−1}F)({x}) is the stalk of F at x. There is a natural isomorphism
 ,
which shows that π represents the functor Γ.
E is constructed so that the projection map π is a covering map. In algebraic geometry, the natural analog of a covering map is called an étale morphism. Despite its similarity to "étalé", the word étale [etal] has a different meaning in French. It is possible to turn E into a scheme and π into a morphism of schemes in such a way that π retains the same universal property, but π is not in general an étale morphism because it is not quasifinite. It is, however, formally étale.
The definition of sheaves by étalé spaces is older than the definition given earlier in the article. It is still common in some areas of mathematics such as mathematical analysis.
Sheaf cohomology
It was noted above that the functor preserves isomorphisms and monomorphisms, but not epimorphisms. If F is a sheaf of abelian groups, or more generally a sheaf with values in an abelian category, then is actually a left exact functor. This means that it is possible to construct derived functors of . These derived functors are called the cohomology groups (or modules) of F and are written . Grothendieck proved in his "Tohoku paper" (Grothendieck (1957)) that every category of sheaves of abelian groups contains enough injective objects, so these derived functors always exist.
However, computing sheaf cohomology using injective resolutions is nearly impossible. In practice, it is much more common to find a different and more tractable resolution of F. A general construction is provided by Godement resolutions, and particular resolutions may be constructed using soft sheaves, fine sheaves, and flabby sheaves (also known as flasque sheaves from the French flasque meaning flabby). As a consequence, it can become possible to compare sheaf cohomology with other cohomology theories. For example, the de Rham complex is a resolution of the constant sheaf on any smooth manifold, so the sheaf cohomology of is equal to its de Rham cohomology. In fact, comparing sheaf cohomology to de Rham cohomology and singular cohomology provides a proof of de Rham's theorem that the two cohomology theories are isomorphic.
A different approach is by Čech cohomology. Čech cohomology was the first cohomology theory developed for sheaves and it is wellsuited to concrete calculations. It relates sections on open subsets of the space to cohomology classes on the space. In most cases, Čech cohomology computes the same cohomology groups as the derived functor cohomology. However, for some pathological spaces, Čech cohomology will give the correct but incorrect higher cohomology groups. To get around this, JeanLouis Verdier developed hypercoverings. Hypercoverings not only give the correct higher cohomology groups but also allow the open subsets mentioned above to be replaced by certain morphisms from another space. This flexibility is necessary in some applications, such as the construction of Pierre Deligne's mixed Hodge structures.
A much cleaner approach to the computation of some cohomology groups is the Borel–Bott–Weil theorem, which identifies the cohomology groups of some line bundles on flag manifolds with irreducible representations of Lie groups. This theorem can be used, for example, to easily compute the cohomology groups of all line bundles on projective space.
In many cases there is a duality theory for sheaves that generalizes Poincaré duality. See Grothendieck duality and Verdier duality.
Sites and topoi
André Weil's Weil conjectures stated that there was a cohomology theory for algebraic varieties over finite fields that would give an analogue of the Riemann hypothesis. The cohomology of a complex manifold can be defined as the sheaf cohomology of the locally constant sheaf in the Euclidean topology, which suggests defining a Weil cohomology theory in positive characteristic as the sheaf cohomology of a constant sheaf. But the only classical topology on such a variety is the Zariski topology, and the Zariski topology has very few open sets, so few that the cohomology of any Zariskiconstant sheaf on an irreducible variety vanishes (except in degree zero). Alexandre Grothendieck solved this problem by introducing Grothendieck topologies, which axiomatize the notion of covering. Grothendieck's insight was that the definition of a sheaf depends only on the open sets of a topological space, not on the individual points. Once he had axiomatized the notion of covering, open sets could be replaced by other objects. A presheaf takes each one of these objects to data, just as before, and a sheaf is a presheaf that satisfies the gluing axiom with respect to our new notion of covering. This allowed Grothendieck to define étale cohomology and ℓadic cohomology, which eventually were used to prove the Weil conjectures.
A category with a Grothendieck topology is called a site. A category of sheaves on a site is called a topos or a Grothendieck topos. The notion of a topos was later abstracted by William Lawvere and Miles Tierney to define an elementary topos, which has connections to mathematical logic.
History
The first origins of sheaf theory are hard to pin down – they may be coextensive with the idea of analytic continuation. It took about 15 years for a recognisable, freestanding theory of sheaves to emerge from the foundational work on cohomology.
 1936 Eduard Čech introduces the nerve construction, for associating a simplicial complex to an open covering.
 1938 Hassler Whitney gives a 'modern' definition of cohomology, summarizing the work since J. W. Alexander and Kolmogorov first defined cochains.
 1943 Norman Steenrod publishes on homology with local coefficients.
 1945 Jean Leray publishes work carried out as a prisoner of war, motivated by proving fixedpoint theorems for application to PDE theory; it is the start of sheaf theory and spectral sequences.
 1947 Henri Cartan reproves the de Rham theorem by sheaf methods, in correspondence with André Weil (see De Rham–Weil theorem). Leray gives a sheaf definition in his courses via closed sets (the later carapaces).
 1948 The Cartan seminar writes up sheaf theory for the first time.
 1950 The "second edition" sheaf theory from the Cartan seminar: the sheaf space (espace étalé) definition is used, with stalkwise structure. Supports are introduced, and cohomology with supports. Continuous mappings give rise to spectral sequences. At the same time Kiyoshi Oka introduces an idea (adjacent to that) of a sheaf of ideals, in several complex variables.
 1951 The Cartan seminar proves theorems A and B, based on Oka's work.
 1953 The finiteness theorem for coherent sheaves in the analytic theory is proved by Cartan and JeanPierre Serre, as is Serre duality.
 1954 Serre's paper Faisceaux algébriques cohérents (published in 1955) introduces sheaves into algebraic geometry. These ideas are immediately exploited by Friedrich Hirzebruch, who writes a major 1956 book on topological methods.
 1955 Alexander Grothendieck in lectures in Kansas defines abelian category and presheaf, and by using injective resolutions allows direct use of sheaf cohomology on all topological spaces, as derived functors.
 1956 Oscar Zariski's report Algebraic sheaf theory
 1957 Grothendieck's Tohoku paper rewrites homological algebra; he proves Grothendieck duality (i.e., Serre duality for possibly singular algebraic varieties).
 1957 onwards: Grothendieck extends sheaf theory in line with the needs of algebraic geometry, introducing: schemes and general sheaves on them, local cohomology, derived categories (with Verdier), and Grothendieck topologies. There emerges also his influential schematic idea of 'six operations' in homological algebra.
 1958 Roger Godement's book on sheaf theory is published. At around this time Mikio Sato proposes his hyperfunctions, which will turn out to have sheaftheoretic nature.
At this point sheaves had become a mainstream part of mathematics, with use by no means restricted to algebraic topology. It was later discovered that the logic in categories of sheaves is intuitionistic logic (this observation is now often referred to as Kripke–Joyal semantics, but probably should be attributed to a number of authors). This shows that some of the facets of sheaf theory can also be traced back as far as Leibniz.
See also
Notes
 Tennison, B. R. (1975), Sheaf theory, Cambridge University Press, MR 0404390
References
 Bredon, Glen E. (1997), Sheaf theory, Graduate Texts in Mathematics, 170 (2nd ed.), Berlin, New York: SpringerVerlag, ISBN 9780387949055, MR 1481706 (oriented towards conventional topological applications)
 Godement, Roger (1973), Topologie algébrique et théorie des faisceaux, Paris: Hermann, MR 0345092
 Grothendieck, Alexander (1957), "Sur quelques points d'algèbre homologique", The Tohoku Mathematical Journal, Second Series, 9: 119–221, doi:10.2748/tmj/1178244839, ISSN 00408735, MR 0102537
 Hirzebruch, Friedrich (1995), Topological methods in algebraic geometry, Classics in Mathematics, Berlin, New York: SpringerVerlag, ISBN 9783540586630, MR 1335917 (updated edition of a classic using enough sheaf theory to show its power)
 Kashiwara, Masaki; Schapira, Pierre (1994), Sheaves on manifolds, Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical Sciences], 292, Berlin, New York: SpringerVerlag, ISBN 9783540518617, MR 1299726 (advanced techniques such as the derived category and vanishing cycles on the most reasonable spaces)
 Mac Lane, Saunders; Moerdijk, Ieke (1994), Sheaves in Geometry and Logic: A First Introduction to Topos Theory, Universitext, Berlin, New York: SpringerVerlag, ISBN 9780387977102, MR 1300636 (category theory and toposes emphasised)
 Martin, William T.; Chern, ShiingShen; Zariski, Oscar (1956), "Scientific report on the Second Summer Institute, several complex variables", Bulletin of the American Mathematical Society, 62 (2): 79–141, doi:10.1090/S00029904195610013X, ISSN 00029904, MR 0077995
 J. Arthur Seebach, Linda A. Seebach & Lynn A. Steen (1970) "What is a Sheaf", American Mathematical Monthly 77:681–703 MR0263073.
 Serre, JeanPierre (1955), "Faisceaux algébriques cohérents" (PDF), Annals of Mathematics, Second Series, 61 (2): 197–278, doi:10.2307/1969915, ISSN 0003486X, JSTOR 1969915, MR 0068874
 Swan, Richard G. (1964), The Theory of Sheaves, University of Chicago Press (concise lecture notes)
 Tennison, Barry R. (1975), Sheaf theory, Cambridge University Press, MR 0404390 (pedagogic treatment)