Locality and descent

Topos Theory

topos theory



Internal Logic

Topos morphisms

Extra stuff, structure, properties

Cohomology and homotopy

In higher category theory




A presheaf on a site is a sheaf if its value on any object of the site is given by its compatible values on any covering of that object.

See also


There are several equivalent ways to characterize sheaves. We start with the general but explicit componentwise definition and then discuss more general abstract equivalent reformulations. Finally we give special discussion applicable in various common special cases.

General definition in components

The following is an explicit component-wise definition of sheaves that is fully general (for instance not assuming that the site has pullbacks).


Let (C,J)(C,J) be a site in the form of a small category CC equipped with a coverage JJ.

A presheaf APSh(C)A \in PSh(C) is a sheaf with respect to JJ if

  • for every covering family {p i:U iU} iI\{p_i : U_i \to U\}_{i \in I} in JJ

  • and for every compatible family of elements given by tuples (s iA(U i)) iI(s_i \in A(U_i))_{i \in I} such that for all morphisms U ifKgU jU_i \stackrel{f}{\leftarrow} K \stackrel{g}{\to} U_j in CC we have A(f)(s i)=A(g)(s j)A(f)(s_i) = A(g)(s_j) for all i,jIi,j \in I


  • there is a unique element sA(U)s \in A(U) such that A(p i)(s)=s iA(p_i)(s) = s_i for all iIi \in I.

If in the above definition there is at most one such ss, we say that AA is a separated presheaf with respect to JJ.

In this form the definition appears for instance in (Johnstone, def. C2.1.2).-

General definition abstractly

We now reformulate the above component-wise definition in general abstract terms.


j:CPSh(C) j : C \hookrightarrow PSh(C)

for the Yoneda embedding.


Given a covering family {f i:U iU}\{f_i : U_i \to U\} in JJ, its sieve is the presheaf S({U i})S(\{U_i\}) defined as the coequalizer

i,jj(U i)× j(U)j(U j) ij(U i)S({U i}) \coprod_{i,j} j(U_i) \times_{j(U)} j(U_j) \stackrel{\overset{}{\to}}{\to} \coprod_i j(U_i) \to S(\{U_i\})

in PSh(C)PSh(C).

Here the coproduct on the left is over the pullbacks

j(U i)× j(U)j(U j) p i j(U i) p j j(f i) j(U j) j(f j) j(U) \array{ j(U_i) \times_{j(U)} j(U_j) &\stackrel{p_i}{\to}& j(U_i) \\ {}^{\mathllap{p_j}}\downarrow && \downarrow^{\mathrlap{j(f_i)}} \\ j(U_j) &\stackrel{j(f_j)}{\to}& j(U) }

in PSh(C)PSh(C), and the two morphisms between the coproducts are those induced componentwise by the two projections p i,p jp_i, p_j in this pullback diagram.


Using that limits and colimits in a category of presheaves are computed objectwise, we find that the sieve S({U i})S(\{U_i\}) defined this way is the presheaf that sends any KCK \in C to the set of morphisms KUK \to U in CC that factor through one of the f if_i.


For every covering family there is a canonical morphism

i {U i}:S({U i})j(U) i_{\{U_i\}} : S(\{U_i\}) \to j(U)

that is induced by the universal property of the coequalizer from the morphisms j(f i):j(U i)j(U)j(f_i) : j(U_i) \to j(U) and j(U i)× j(U)j(U j)J(U)j(U_i) \times_{j(U)} j(U_j) \to J(U).


A sheaf on (C,J)(C,J) is a presheaf APSh(C)A \in PSh(C) that is a local object with respect to all i {U i}i_{\{U_i\}}: an object such that for all covering families {f i:U iU}\{f_i : U_i \to U\} in JJ we have that the hom-functor PSh C(,A)PSh_C(-,A) sends the canonical morphisms i {U i}:S({U i})j(U)i_{\{U_i\}} : S(\{U_i\}) \to j(U) to isomorphisms.

PSh C(i {U i},A):PSh C(j(U),A)PSh C(S({U i}),A). PSh_C(i_{\{U_i\}}, A) : PSh_C(j(U), A) \stackrel{\simeq}{\to} PSh_C(S(\{U_i\}), A) \,.

Equivalently, using the Yoneda lemma and the fact that the hom-functor PSh C(,A)PSh_C(-,A) sends colimits to limits, this says that the diagram

A(U) iA(U i) i,jPSh C(j(U i)× j(U)j(U j),A) A(U) \to \prod_i A(U_i) \stackrel{\to}{\to} \prod_{i,j} PSh_C(j(U_i) \times_{j(U)} j(U_j), A)

is an equalizer diagram for each covering family.

This is also called the descent condition for descent along the covering family.


For many examples of sites that appear in practice – but by far not for all – it happens that the pullback presheaves j(U i)× j(U)×j(U j)j(U_i) \times_{j(U)} \times j(U_j) are themselves again representable, hence that the pullback U i× UU jU_i \times_U U_j exists already in CC, even before passing to the Yoneda embedding.

In this special case we may apply the Yoneda lemma once more to deduce

PSh C(j(U i)× j(U)j(U j),A)A(U i× UU j). PSh_C(j(U_i) \times_{j(U)} j(U_j), A) \simeq A(U_i \times_U U_j) \,.

Then the sheaf condition is that all diagrams

A(U) iA(U i) i,jA(U i× UU j) A(U) \to \prod_i A(U_i) \stackrel{\to}{\to} \prod_{i,j} A(U_i \times_U U_j)

are equalizer diagrams.


The condition that PSh C(S({U i}),A)PSh_C(S(\{U_i\}), A) is an isomorphism is equivalent to the condition that the set A(U)A(U) is isomorphic to the set of matching families (s iA(U i))(s_i \in A(U_i)) as it appears in the above component-wise definition.


We may express the set of natural transformations PSh C(j(U i)× j(U)j(U j),A)PSh_C(j(U_i) \times_{j(U)} j(U_j), A) (as described there) by the end

PSh C(j(U i)× j(U)j(U j),A) KCSet(C(K,U i)× C(K,U)C(K,U j),A(K)). PSh_C(j(U_i) \times_{j(U)} j(U_j), A) \simeq \int_{K \in C} Set( C(K,U_i) \times_{C(K,U)} C(K,U_j) , A(K)) \,.

Using this in the expression of the equalizer

iA(U i) i KCSet(C(K,U i),A(K)) i,j KCSet(C(K,U i)× C(K,U)C(K,U j),A(K)) \prod_i A(U_i) \simeq \prod_i \int_{K \in C} Set( C(K,U_i), A(K)) \stackrel{\to}{\to} \prod_{i,j} \int_{K \in C} Set( C(K,U_i) \times_{C(K,U)} C(K,U_j) , A(K))

as a subset of the product set on the left manifestly yields the componenwise definition above.


A morphism of sheaves is just a morphism of the underlying presheaves. So the category of sheaves Sh J(C)Sh_J(C) is the full subcategory of the category of presheaves on the sheaves:

Sh J(C)PSh(C) Sh_J(C) \hookrightarrow PSh(C)

Characterizations over special sites

We discuss equivalent characterizations of sheaves that are applicable if the underlying site enjoys certain special properties.

Characterizations over sites of opens

An important special case of sheaves is those over a (0,1)-site such as a category of open subsets Op(X)Op(X) of a topological space XX. We consider some equivalent ways of characterizing sheaves among presheaves in such a situation.

(The following was mentioned in Peter LeFanu Lumsdaine’s comment here).


Suppose Op=Op(X)Op = Op(X) is the category of open subsets of some topological space regarded as a site with the canonical coverage where {U iU}\{U_i \hookrightarrow U\} is covering if the union iU iU\cup_i U_i \simeq U in OpOp.

Then a presheaf \mathcal{F} on OpOp is a sheaf precisely if for every complete full subcategory 𝒰Op\mathcal{U} \hookrightarrow Op, \mathcal{F} takes the colimit in OpOp over 𝒰Op\mathcal{U} \hookrightarrow Op to a limit:

(lim𝒰)lim(𝒰). \mathcal{F}(\underset{\to}{lim} \mathcal{U}) \simeq \underset{\leftarrow}{lim} \mathcal{F}(\mathcal{U}) \,.

A complete full subcategory 𝒰Op\mathcal{U} \hookrightarrow Op is a collection {U iX}\{U_i \hookrightarrow X\} of open subsets that is closed under forming intersections of subsets. The colimit

lim(𝒰Op) iIU i \underset{\to}{\lim} (\mathcal{U} \hookrightarrow Op) \simeq \cup_{i \in I} U_i

is the union U iIU iU \coloneqq \cup_{i \in I} U_i of all these open subsets. Notice that by construction the component maps {U iU}\{U_i \hookrightarrow U\} of the colimit are a covering family of UU.

Inspection then shows that the limit lim iI(U i)\underset{\leftarrow}{\lim}_{i \in I} \mathcal{F}(U_i) is the corresponding set of matching families (use the description of limits in terms of products and equalizers ). Hence the statement follows with def. 1.

Characterization over canonical topologies

The above prop. 2 shows that often sheaves are characterized as contravariant functors that take some colimits to limits. This is true in full generality for the following case


Let 𝒯\mathcal{T} be be a topos, regarded as a large site when equipped with the canonical topology. Then a presheaf (with values in small sets) on 𝒯\mathcal{T} is a sheaf precisely if it sends all colimits to limits.

Sheaves and localization

We now describe the derivation and the detailed description of various aspects of sheaves, the descent condition for sheaves and sheafification, relating it to all the related notions

We start by assuming that a geometric embedding into a presheaf category is given and derive the consequences.

So let SS be a small category and write PSh(S)=PSh S=[S op,Set]PSh(S) = PSh_S = [S^{op}, Set] for the corresponding topos of presheaves.

Assume then that another topos Sh(S)=Sh SSh(S) = Sh_S is given together with a geometric embedding

f:Sh(S)PSh(S) f : Sh(S) \to PSh(S)

i.e. with a full and faithful functor

f *:Sh(S)PSh(S) f_* : Sh(S) \to PSh(S)

and a left exact functor

f *:PSh(S)Sh(S) f^* : PSh(S) \to Sh(S)

Such that both form a pair of adjoint functors

f *f * f^* \dashv f_*

with f *f^* left adjoint to f *f_*.

Write WW for the category

Core(PSh(S))WPSh(S) Core(PSh(S)) \hookrightarrow W \hookrightarrow PSh(S)

consisting of all those morphisms in PSh(S)PSh(S) that are sent to isomorphisms under f *f^*.

W=(f *) 1(Core(Sh S)). W = (f^*)^{-1}(Core(Sh_S)) \,.

From the discussion at geometric embedding we know that Sh(S)Sh(S) is equivalent to the full subcategory of PSh(S)PSh(S) on all WW-local objects.

Recall that an object APSh(S)A \in PSh(S) is called a WW-local object if for all p:YXp : Y \to X in WW the morphism

p *:PSh S(X,A)PSh S(Y,A) p^* : PSh_S(X,A) \to PSh_S(Y,A)

is an isomorphism. This we call the descent condition on presheaves (saying that a presheaf “descends” along pp from YY “down to” XX). Our task is therefore to identify the category WW, show how it determines and is determed by a Grothendieck topology on SS – equipping SS with the structure of a site – and characterize the WW-local objects. These are (up to equivalence of categories) the objects of ShSh, i.e. the sheaves with respect to the given Grothendieck topology.


A morphism YXY \to X is in WW if and only if for every representable presheaf UU and every morphism UXU\to X the pullback Y× XUUY \times_X U \to U is in WW

Y× XU Y W W U X. \array{ Y \times_X U &\to& Y \\ \downarrow^{\in W} && \downarrow^{\Leftrightarrow \in W} \\ U &\to& X } \,.

Since WW is stable under pullback (as described at geometric embedding: simply because f *f^* preserves finite limits) it is clear that Y× XUUY \times_X U \to U is in WW if YXY \to X is.

To get the other direction, use the co-Yoneda lemma to write XX as a colimit of representables over the comma category (Y/const X)(Y/const_X) (with YY the Yoneda embedding):

Xcolim U iXU i. X \simeq colim_{U_i \to X} U_i \,.

Then pull back Ycolim U iXUY \to colim_{U_i \to X} U over the entire colimiting cone, so that over each component we have

Y× XU i Y U i X. \array{ Y \times_X U_i &\to& Y \\ \downarrow && \downarrow \\ U_i &\to& X } \,.

Using that in PSh(S)PSh(S) colimits are stable under base change we get

colim i(Y× XU i)(colim iU i)× XY. colim_i (Y \times_X U_i) \simeq (colim_i U_i) \times_X Y \,.

But since Xcolim iU iX \simeq colim_i U_i the right hand is X× XYX \times_X Y, which is just YY. So Y=colim i(Y× XU i)Y = colim_i (Y \times_X U_i) and we find that YXY \to X is a morphism of colimits. But under f *f^* the two respective diagrams become isomorphic, since Y× XU iU iY \times_X U_i \to U_i is in WW. That means that the corresponding morphism of colimits f *(YX)f^*(Y \to X) (since f *f^* preserves colimits) is an isomorphism, which finally means that YXY \to X is in WW.


A presheaf APSh(S)A \in PSh(S) is a local object with respect to all of WW already if it is local with respect to those morphisms in WW whose codomain is representable


Rewriting the morphism YXY \to X in WW in terms of colimits as in the above proof

colim UXU i× XY Y colim UXU X \array{ colim_{U \to X} U_i \times_X Y &\stackrel{\simeq}{\to}& Y \\ \downarrow && \downarrow \\ colim_{U \to X} U &\stackrel{\simeq}{\to}& X }

we find that A(X)A(Y)A(X) \to A(Y) equals

lim UX(A(U)A(U× XY)). lim_{U \to X} (A(U) \to A(U \times_X Y)) \,.

If AA is local with respect to morphisms WW with representable codomain, then by the above if YXY \to X is in WW all the morphisms in the limit here are isomorphisms, hence

=Id A(X). \cdots = Id_{A(X)} \,.

Every morphism YXY \to X in WPSh(S)W \subset PSh(S) factors as an epimorphism followed by a monomorphism in PSh(S)PSh(S) with both being morphisms in WW.


Use factorization through image and coimage, use exactness of f *f^* to deduce that the factorization exists not only in PSh(S)PSh(S) but even in WW.

More in detail, given YXY \to X we get the diagram

Y× XY Y Y Y× XYY Y X. \array{ Y \times_X Y &&\to&& Y \\ &&& \swarrow \\ \downarrow &&Y \sqcup_{Y \times_X Y} Y && \downarrow \\ & \nearrow && \searrow \\ Y && \to && X } \,.

Because f *f^* is exact, the pullbacks and pushouts in this diagram remain such under f *f^*. But since f *(YX)f^*(Y \to X) is an isomorphism by assumption, the all these are pullbacks and pushouts along isomorphisms in Sh(S)Sh(S), so all morphisms in the above diagram map to isomorphisms in Sh(S)Sh(S), hence the entire diagram in PSh(S)PSh(S) is in WW.

Since the morphism Y Y× XYYXY \sqcup_{Y \times_X Y} Y \to X out of the coimage is at the same time the equalizing morphism into the image lim(XX YX)lim(X \stackrel{\to}{\to} X \sqcup_Y X), it is a monomorphism.


The monomorphisms in PSh(S)PSh(S) which are in WW are called dense monomorphisms.


Every monomorphism YXY \to X with XX representable is of the form

Y=colim(U× XUU) Y = colim ( U \times_X U \to U )

for U= αU αU = \sqcup_{\alpha} U_\alpha a disjoint union of representables


This is a direct consequence of the standard fact that subfunctors are in bijection with sieves.


If a presheaf AA is local with respect to all dense monomorphisms, then it is already local with respect to all morphisms YXY \to X of the form

Y X=colim(W U densemono Id U× XU U) \array{ Y \\ \downarrow \\ X } = colim \left( \array{ W &\stackrel{\to}{\to}& U \\ \;\;\downarrow^{dense mono} && \downarrow^{Id} \\ U \times_X U & \stackrel{\to}{\to}& U } \right)

with the left vertical morphism a dense monomorphism

(and with U= αU αU = \sqcup_\alpha U_\alpha the disjoint union (of representable presheaves) over a covering family of objects.)


The morphisms in WW with representable codomain

  • of the form colim(U× XUU)Xcolim (U \times_X U \stackrel{\to}{\to} U) \to X as above are covers:

  • of the form colim(WU)Xcolim (W \stackrel{\to}{\to} U) \to X (with WW a cover of U× XUU \times_X U) as above are hypercovers

of the representable XX.


A presheaf AA is WW-local, i.e. a sheaf, already if it is local (satisfies descent) with respect to all covers, i.e. all dense monomorphisms with codomain a representable.

Urs: the above shows this almost. I am not sure yet how to see the remaining bit directly, without making recourse to the full machinery leading up to section VII, 4, corollary 7 in Sheaves in Geometry and Logic.

So we finally conclude:


We have:

  • Systems WW of weak equivalences defined by choice of geometric embedding f:Sh(S)PSh(S)f : Sh(S) \to PSh(S) are in canonical bijection with choice of Grothendieck topology.

  • A presheaf AA is WW-local, i.e. local with respect to all local isomorphisms, if and only if it is local already with respect to all dense monomorphism, i.e. if and only if it satisfies sheaf condition for all covering sieves.

From the assumption that f:Sh(S)PSh(S)f : Sh(S) \to PSh(S) is a geometric embedding follows at once the following explicit description of the sheafification functor f *:PSh(S)Sh(S)f^* : PSh(S) \to Sh(S).

Lemma (Sheafification)

For APSh(S)A \in PSh(S) a presheaf, its sheafification A¯:=f *f *A\bar A := f_* f^* A is the presheaf given by

A¯:Ucolim (YU)WA(Y) \bar A : U \mapsto colim_{(Y \to U) \in W} A(Y)

By the discussion at geometric embedding the category Sh(S)Sh(S) is equivalent to the localization PSh(S)[W 1]PSh(S)[W^{-1}], which in turn is the category with the same objects as PSh(S)PSh(S) and with morphisms given by spans out of hypercovers in WW

PSh(S)[W 1](X,A)=colim (YX)WA(Y). PSh(S)[W^{-1}](X,A) = colim_{(Y \to X) \in W} A(Y) \,.

So we have

Sh(S) f *f * PSh(S) PSh(S)[W 1]. \array { Sh(S) &&\stackrel{\stackrel{f_*}{\to}}{\stackrel{f^*}{\leftarrow}}& PSh(S) \\ & \searrow_{\simeq}&\Downarrow^{\simeq}& \downarrow \\ && PSh(S)[W^{-1}] \,. }

and deduce

  • by Yoneda that A¯(U)=PSh S(U,A¯)\bar A(U) = PSh_S(U, \bar A);

  • by the hom-adjunction this is Sh S(U¯,A¯)\cdots \simeq Sh_S(\bar U, \bar A);

  • by the equivalence just mentioned this is PSh S[W 1](U,A)\cdots \simeq PSh_S[W^{-1}](U,A).

Remark: covers versus hypercovers

For checking the sheaf condition the dense monomorphisms, i.e. the ordinary covers are already sufficient. But for sheafification one really needs the local isomorphisms, i.e. the hypercovers. If one takes the colimit in the sheafification prescription above only over covers, one obtains instead of sheafification the plus-construction.

Definition: plus-construction

For APSh(S)A \in PSh(S) a presheaf, the plus-construction on AA is the presheaf

A +:Xcolim (YX)WA(Y) A^+ : X \mapsto colim_{(Y \hookrightarrow X) \in W } A(Y)

where the colimit is over all dense monomorphisms (instead of over all local isomorphisms as for sheafification A¯\bar A).

Remark: plus-construction versus sheafification

In general A +A^+ is not yet a sheaf. It is however in general closer to being a sheaf than AA is, namely it is a separated presheaf.

But applying the plus-construction twice yields the desired sheaf

(A +) +=A¯. (A^+)^+ = \bar A \,.

This is essentially due to the fact that in the context of ordinary sheaves discussed here, all hypercovers are already of the form

colim(WU) colim(W \stackrel{\to}{\to} U)

for WU× XUW \to U \times_X U a cover. For higher stacks the hypercover is in general a longer simplicial object of covers and accordingly if one restricts to covers instead of using hypercovers one will need to use the plus-construction more and more often.


The archetypical example of sheaves are sheaves of functions:

  • for XX a topological space, \mathbb{C} a topological space and O(X)O(X) the site of open subsets of XX, the assignment UC(U,)U \mapsto C(U,\mathbb{C}) of continuous functions from UU to \mathbb{C} for every open subset UXU \subset X is a sheaf on O(X)O(X).

  • for XX a complex manifold and \mathbb{C} a complex manifold, the assignment UC holX,U \mapsto C_{hol}{X,\mathbb{C}} of holomorphic functions in a sheaf.

homotopy leveln-truncationhomotopy theoryhigher category theoryhigher topos theoryhomotopy type theory
h-level 0(-2)-truncatedcontractible space(-2)-groupoidtrue/unit type/contractible type
h-level 1(-1)-truncated(-1)-groupoid/truth value(0,1)-sheafmere proposition, h-proposition
h-level 20-truncatedhomotopy 0-type0-groupoid/setsheafh-set
h-level 31-truncatedhomotopy 1-type1-groupoid/groupoid(2,1)-sheaf/stackh-groupoid
h-level 42-truncatedhomotopy 2-type2-groupoid(3,1)-sheafh-2-groupoid
h-level 53-truncatedhomotopy 3-type3-groupoid(4,1)-sheafh-3-groupoid
h-level n+2n+2nn-truncatedhomotopy n-typen-groupoid(n+1,1)-sheafh-nn-groupoid
h-level \inftyuntruncatedhomotopy type∞-groupoid(∞,1)-sheaf/∞-stackh-\infty-groupoid


Section C2 in

The book by Kashiwara and Shapira discusses sheaves with motivation from homological algebra, abelian sheaf cohomology and homotopy theory, leading over in the last chapter to the notion of stack.

A quick pedagogical introduction with an eye towards the generalization to (∞,1)-sheaves is in

Classics of sheaf theory on topological spaces are

Recently, an improvement in understanding the interplay of derived functors (inverse image and proper direct image) in sheaf theory on topological spaces has been exhibited in

  • Olaf M. Schnuerer, Wolfgang Sergel, Proper base change for separated locally proper maps, arxiv/1406.7630

Revised on September 28, 2016 15:27:41 by Zoran Škoda (