Sheaf and Presheaf


Definition(presheaf) . A $S$-valued presheaf on a category $\mathcal{C}$ is a functor $$ \mathcal{F}: \mathcal{C}^{\mathrm{op}} \to \mathcal{S}, $$ namely, a contravariant functor. If $\mathcal{S}=\operatorname{Set}$ with morphism given by set inclusion and $\mathcal{C}$ is small, $\mathcal{F}$ is simply called a presheaf.

Let $\mathcal{C}=X$ be a topological space, seen as a subcategory of $\operatorname{Top}$ and let $S$ be the category of groups $\operatorname{Grp}$, then morphisms in $\mathcal{C}^\mathrm{op}$ are restrictions $r_{V,W}$ of open sets. There is a commutative diagram Created by potrace 1.16, written by Peter Selinger 2001-2019 and applying functors doesn’t change the diagram structure, rewriting $\mathcal{F}(r)$ as $\rho$, we have Created by potrace 1.16, written by Peter Selinger 2001-2019 Furthermore, functors yield $\mathsf{1}$ when applied to $\mathsf{1}$, hence $\mathcal{F}(r_{U,U}) = \rho_{U,U} = \mathsf{1}$.

It is helpful to use Brylinski’s notation, namely for a presheaf $\mathcal{F}:\mathcal{C}^\mathrm{op}\to \mathcal{S}$, denote it as $\underline{\mathcal{S}}_\mathcal{C}$.

Stalk, section, germ

When $\mathcal{S}=\operatorname{Set}$ or is a subcategory of that, one can speak of the notion of stalk, section and germ. These notions are not fully captured by category theory since one needs to probe down to the elements of an object.

Definition(Section) . The elements of $\mathcal{F}(U)$ (seen as a set), are called sections of $\mathcal{F}$ over $U$.

The notion of stalk is similar to that of localization: forming an equivalence class and thus reversing the arrows. When two functions behave similarly, after being “localized”, around a point, they are seen as equal (define a same germ), the stalk is the collection of equivalence classes thus defined.

Definition(Stalk) . The stalk $\mathcal{F}_x$ of $\mathcal{F}:\mathcal{C}^\mathrm{op}\to \operatorname{Set}$ where $x$ is a point is the colimit associated to the cocone Created by potrace 1.16, written by Peter Selinger 2001-2019 in which each $U_i$ contains $x$. It means that any morphism to the nadir $c$ from the objects in the directed diagram (order given by reverse inclusion of sets) factors through $\mathcal{F}_x$.

This is often written as $$ \mathcal{F}_x = \lim_{x\in U}\mathcal{F}(U). $$

Definition(Germ) . Two functions $f,g$ with domains $F,G$ define the same germ at the point $x$ if there is a neighborhood $U$ of $x$ where $f|_{U\cap F} = g|_{U\cap G}$ (provided that $U\cap F = U\cap G \neq \emptyset$), and for some $V\subseteq U$ again $f|_{V\cap F} = g|_{V\cap G}$.

Notice that the morphism $\mathcal{F}(U)\to\mathrm{P}_x$ takes a section $s\in\mathcal{F}(U)$ to its germ. More precisely, two sections in $\mathcal{F}(U)$ define the same germ if they are sent to the same element (i.e. their germ-equivalence class) in the stalk.


Sheaf is a presheaf that is “glued together”. After sheafification a (good) presheaf becomes a sheaf.

Let $(\mathcal{C},J)$ be a site with $J$ its Grothendieck topology (recall that $J$ is an assignment of sieves on $\mathcal{C}$ that is maximal, transitive and stable under pullbacks).

Definition(Sheaf) . Let $\mathcal{F}:\mathcal{C}^{\mathrm{op}}\to \operatorname{Set}$ be a presheaf and $(\mathcal{C},J)$ a site. Given any covering $S\in J(c)$ and any $f\in S$, if for a $x_f \in \mathcal{F}(\operatorname{dom}(f))$, all $g_i \in \mathcal{C}$ with $\operatorname{cod}(g)=\operatorname{dom}(f)$, $\mathcal{F}(g_i)(x_f)$ agree, there exists a unique element $x\in \mathcal{F}(c)$ s.t. $x_f = \mathcal{F}(f)(x)$, then $\mathcal{F}$ is a sheaf.

Created by potrace 1.16, written by Peter Selinger 2001-2019

A more abstract characterization can be given by the requirement that $$ \mathcal{F}(c) \xrightarrow{\{\mathcal{F}(f)\}_f}\prod_{f\in S}\mathcal{F}(\operatorname{dom}f)\overset{p}{\underset{a}{\rightrightarrows}}\prod_{f,g; f\in S; \operatorname{cod}g = \operatorname{dom}f}\mathcal{F}(\operatorname{dom}g) $$ where $p(\{x_f\}_{f\in S}) = \{x_{f\circ g}\}_{f,g}$ and $a(\{x_f\})_{f\in S} = \{\mathcal{F}(g)(x_f)\}_{f,g}$ is an equalizer of sets.

This means sections that agree, in objects coming from different branches (except for the trunks) of a sieve, comes from the restriction of a unique section in the root-image. A characterization that can be easier to understand is to take the domain of $\mathcal{F}$ as a topological space. The sheaf condition means

  1. Whenever sections $s,t\in\mathcal{F}(U)$ agree on a cover $\{U_i\}$ of $U$, $s=t$.
  2. Whenever sections $s_i\in\mathcal{F}(U_i)$ for $i\in I$ agree on any nonempty intersection $U_i\cap U_j$, there is a section $s$ s.t. $s|_{U_i} = s_i$.

The first condition is implicit in the definition: The maximal sieves are coverings, and the identity morphism of any object, which should be taken as $f$, is in its maximal sieve.

Some remarks,


Presheaves are first of all contravariant functors. Morphism between functors are natural transformations, which should be seen as family of morphisms of objects.

Definition(Presheaf morphism) . A morphism of presheaves $\phi:\mathcal{F}_1\to\mathcal{F}_2$ between $\mathcal{C},\mathcal{S}$ is a family $\{\phi_c\in \operatorname{Mor}(\mathcal{S})\}$ indexed by $c\in\mathcal{C}$ s.t. Created by potrace 1.16, written by Peter Selinger 2001-2019 where $(f:d\to c)\in\operatorname{Mor}(\mathcal{C})$.

Here $f:d\to c$ not $c\to d$ since $\mathcal{F}_i$ are contravariant. If $f\in\mathcal{C}^\mathrm{op}$, then it should be written as $f:c\to d$. For $\mathcal{S}=\operatorname{Set}$, $f:d\to c$ is the same thing as $\rho_{c,d}$, with $d\subset c$.

A good example will be the classical one: morphisms of presheaves of abelian groups. Let $\mathcal{F},\mathcal{G}$ be presheaves of groups over a space $X$ and $\mathcal{G}$ is that of abelian groups, then the set of morphisms $\operatorname{Hom}_X(\mathcal{F},\mathcal{G})$ can be endowed with the structure of a group. The group operation is given pointwise by $$ (\phi_U + \psi_U)(x) = \phi_U(x) + \psi_U(x) $$ where $x\in U$; note that $\psi_U$ and $\phi_U$ take values in the same group $\mathcal{G}(U)$. This is compatible with the restrictions $\rho_{U,V}$ since these are group homomorphisms, $$ \rho_{U,V}(g+h) = \rho_{U,V}(g) + \rho_{U,V}(h). $$