How does sheafification work? If we are working on a topological space, the way Hartshorne and Vakil do it is to first define stalks, and then define a section of the sheafification \( \mathscr{F}^\# \) as a locally compatible collection of germs. Of course, this is relying on the fact that the corresponding topos has enough points. Let us do this in a more general setting.
1. Sites and sheaves#
In the general setup, we work on a site \( \mathcal{C} \), i.e., a category with a Grothendieck topology. This additional "topology" is describes what it means to be a covering.
Definition 1. Let \( \mathcal{C} \) be a category. A Grothendieck topology (following the Stacks project, although I think the topos theory people call it a Grothendieck pretopology) on \( \mathcal{C} \) is a collection \( \mathrm{Cov} \) of sets of morphisms \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \), called coverings, such that following hold:
- (1) If \( V \rightarrow U \) is an isomorphism then \( \{V \rightarrow U\} \) is a covering of \( U \).
- (2) If \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) is a covering of \( U \), and \( V \rightarrow U \) is any morphism, then all fiber products \( U _ \alpha \times _ U V \) exist in \( \mathcal{C} \), and moreover \( \{U _ \alpha \times _ U V\} _ {\alpha \in I} \) is a covering of \( V \).
- (3) If \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) is a covering of \( U \) and for each \( \alpha \) the collection \( \{U _ {\alpha\beta} \rightarrow U _ \alpha\} _ {\beta \in I _ \alpha} \) is a covering of \( U _ \alpha \), then their compositions \( \{U _ {\alpha\beta} \rightarrow U\} _ {\alpha \in I, \beta \in I _ \alpha} \) is a covering of \( U \).
Example 1. Let \( X \) be a topological space, and let \( \mathcal{C} \) be the category with objects being open subsets of \( X \) and morphisms being inclusions; so if \( U \subseteq V \) then there is exactly one morphism from \( U \) to \( V \) and otherwise there are no morphisms. Give it the Grothendieck topology by saying that \( \{U _ \alpha \rightarrow U\} \) is a covering if and only if \( U = \bigcup _ \alpha U _ \alpha \). Then this becomes a site.
Given this data, we can define sheaves.
Definition 2. A presheaf of sets on a site \( \mathcal{C} \) is a contravariant functor \( \mathscr{F} \colon \mathcal{C}^\mathrm{opp} \rightarrow \mathsf{Set} \). A presheaf is a sheaf if the following gluing axiom holds: if \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) is a covering then the natural maps \[ \displaystyle \mathscr{F}(U) \rightarrow \prod _ {\alpha \in I}^{} \mathscr{F}(U _ \alpha) \rightrightarrows \prod _ {\alpha, \beta \in I}^{} \mathscr{F}(U _ \alpha \times _ U U _ \beta) \] is an equalizer, where the two arrows on the right are puling back via the first projections \( U _ \alpha \times _ U U _ \beta \rightarrow U _ \alpha \) and via the second projections \( U _ \alpha \times _ U U _ \beta \rightarrow U _ \beta \). (In this definition, I guess we need to "choose" a fiber product, but it doesn’t matter which one we choose because they are unique up to unique isomorphism.)
So on sites we can define sheaves, and if we take the site associated to a topological space, we recover the usual notion of a sheaf. The only thing that you might have to be careful is that the gluing condition over \( U _ \alpha \times _ U U _ \alpha \) is a nontrivial condition. For instance, even if \( \{V \rightarrow U\} \) is a covering, the condition for a section in \( \mathscr{F}(V) \) to descend to a section in \( \mathscr{F}(U) \) is that they agree on the fiber product \( \mathscr{F}(V \times _ U V) \).
The category \( \mathsf{PSh}(\mathcal{C}) \) of presheaves on \( \mathcal{C} \) has morphisms simply natural transformations of functors. The category \( \mathsf{Sh}(\mathcal{C}) \) will be the full subcategory, so morphisms are still natural transformations. We will ignore all set-theoretic issues.
2. The usual way to sheafify#
There is an obvious inclusion functor from \( \mathsf{PSh}(\mathcal{C}) \) to \( \mathsf{Sh}(\mathcal{C}) \). As in topological spaces, there is a left adjoint to this functor, called sheafification. Here is the standard procedure. For each covering \( \{U _ \alpha \rightarrow U\} _ {\alpha} \), we consider the equalizer \[ \displaystyle H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}) = \mathrm{eq}\Bigl( \prod _ {\alpha}^{} \mathscr{F}(U _ \alpha) \rightrightarrows \prod _ {\alpha,\beta}^{} \mathscr{F}(U _ \alpha \times _ U U _ \beta) \Bigr). \] Then, we take its colimit as we take finer and finer coverings. This is expressed in the following way.
Definition 3. Let \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) and \( \{V _ \beta \rightarrow U\} _ {\alpha \in J} \) be two coverings of \( U \). We say that the pair \( ((\psi \colon J \rightarrow I), \{ V _ \beta \rightarrow U _ {\psi(\beta)} \} _ {\beta \in J}) \) is a refinement of \( \{U _ \alpha \rightarrow U\} \) by \( \{V _ \beta \rightarrow U\} \), if the compositions \( V _ \beta \rightarrow U _ {\psi(\beta)} \rightarrow U \) coincide withe the given covering.
Of course, the intuition is that if each \( V _ \beta \rightarrow U \) factors through some \( U _ \alpha \rightarrow U \) then this means that \( V _ \beta \) are "smaller" than \( U _ \alpha \), hence it is a finer covering. If \( \psi \) defines a refinement of \( \{U _ \alpha \rightarrow U\} \) by \( \{V _ \beta \rightarrow U\} \), then there is a natural map \[ \displaystyle H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}) \rightarrow H^0(\{V _ \beta \rightarrow U\}, \mathscr{F}) \] given by pulling along the maps \( V _ \beta \rightarrow U _ {\psi(\beta)} \). Agreeing on intersections is something we should check, but this is pretty obvious if you following the maps. Once we have this, for every presheaf \( \mathscr{F} \in \mathsf{Psh}(\mathcal{C}) \) we define \[ \displaystyle \mathscr{F}^+(U) = \varinjlim _ {\{U _ \alpha \rightarrow U\}} H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}), \] where the colimit is over the category of coverings of \( U \) with refinements.
Proposition 4. There is a natural map of presheaves \( \mathscr{F} \rightarrow \mathscr{F}^+ \), which is an isomorphism if \( \mathscr{F} \) is a sheaf. If \( \mathscr{G} \) is a sheaf, then we can uniquely factor any map \( \mathscr{F} \rightarrow \mathscr{G} \) as \( \mathscr{F} \rightarrow \mathscr{F}^+ \rightarrow \mathscr{G} \).
So we will be done constructing the sheafification \( \mathscr{F}^+ \) is always a sheaf. But unfortunately, this is not the case. What we need to do is to do this construction twice.
Theorem 5. For every presheaf \( \mathscr{F} \in \mathsf{PSh}(\mathcal{C}) \), the presheaf \( \mathscr{F}^+ \) is a separated presheaf, i.e., a sheaf satisfying \( \mathscr{F}(U) \hookrightarrow \prod _ {\alpha}^{} \mathscr{F}(U _ \alpha) \) for every covering \( \{U _ \alpha \rightarrow U\} \). For every separated presheaf \( \mathscr{F} \), the presheaf \( \mathscr{F}^+ \) is a sheaf. As a consequence, for every \( \mathscr{F} \in \mathsf{PSh}(\mathcal{C}) \), the presheaf \( \mathscr{F}^\# = (\mathscr{F}^+)^+ \) is a sheaf.
So from the above proposition, any map \( \mathscr{F} \rightarrow \mathscr{G} \) into a sheaf \( \mathscr{G} \) uniquely factors as \( \mathscr{F} \rightarrow \mathscr{F}^+ \rightarrow \mathscr{G} \), and then that uniquely factors as \( \mathscr{F} \rightarrow \mathscr{F}^+ \rightarrow (\mathscr{F}^+)^+ \rightarrow \mathscr{G} \). And because \( \mathscr{F}^\# = (\mathscr{F}^+)^+ \) is a sheaf, it is the sheafification.
3. Locally agreeing on the overlap#
This shows that sheafification exists, but it is somewhat unsatisfactory. We had to do this process twice to get the correct sheafification. This can also a practical problem, because to compute the sheafification, we need to take a colimit of limits of colimits of limits. This is just a horrible thing to think about.
So what is the problem here? When we constructed the functor \( \mathscr{F} \mapsto \mathscr{F}^+ \), we took "local sections that agree on the overlap". But this is not imposing locality all the way. Instead, to get the correct functor, we need "local sections that agree locally on the overlap". More precisely, if \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) is a covering of \( U \) and \( s _ \alpha \in \mathscr{F}(U _ \alpha) \) are sections, instead of imposing the condition that \( s _ \alpha \) and \( s _ \beta \) agree on \( U _ \alpha \times _ U U _ \beta \), we want to impose the condition that for some covering \( \{V _ {\alpha\beta\gamma} \rightarrow U _ \alpha \times _ U U _ \beta\} \), the sections \( s _ \alpha \) and \( s _ \beta \) agree when pulled back to \( V _ {\alpha\beta\gamma} \). Let us now go and formalize this.
Definition 6. If a morphism \( V \rightarrow U \) appears in some covering \( \{ U _ i \rightarrow U \} \), we say that \( V \rightarrow U \) is admissible.
I don’t really know what these things are called, or even if they are called anything. But the following can be easily verified from the axioms:
- Isomorphisms are all admissible.
- The composition of two admissible maps is admissible.
- If \( V \rightarrow U \) is an admissible map, and \( W \rightarrow U \) is an arbitrary morphism, then the fiber product \( V \times _ U W \) exists and moreover the base change \( V \times _ U W \rightarrow W \) is admissible; in short, admissible maps are preserved under base change.
Definition 7. For two sections \( s, t \in \mathscr{F}(U) \), we say that they locally agree if there exists a covering \( \{ U _ \alpha \rightarrow U \} \) such that \( s \vert _ {U _ \alpha} = t \vert _ {U _ \alpha} \) for all \( \alpha \).
Definition 8. Let \( V \rightarrow U \) and \( W \rightarrow U \) be admissible maps (we need admissibility to make sure the fiber product exists). We say that two sections \( s \in \mathscr{F}(V) \) and \( t \in \mathscr{F}(W) \) locally agree on the overlap over \( U \) if the sections \( s \vert _ {V \times _ U W} \) and \( t \vert _ {V \times _ U W} \) locally agree.
Note that even if \( V = W \) and \( s = t \), the condition that \( s \) and \( s \) locally agree on the overlap over \( U \) is a nontrivial condition, because \( V \times _ U V \) is not just \( V \). Here are some facts that can easily be verified.
- If two sections \( s, t \in \mathscr{F}(U) \) locally agree, then for any morphism \( V \rightarrow U \), the sections \( s \vert _ V, t \vert _ V \in \mathscr{F}(V) \) also locally agree.
- Let \( \{U _ \alpha \rightarrow U\} \) be a covering. If \( s, t \in \mathscr{F}(U) \) are two sections and \( s \vert _ {U _ \alpha} \) and \( t \vert _ {U _ \alpha} \) locally agree for all \( \alpha \), then \( s \) and \( t \) locally agree.
- Let \( s, t, u \in \mathscr{F}(U) \) be three sections. If \( s, t \) locally agree, and \( t, u \) locally agree, then \( s, u \) also locally agree.
- Suppose \( V _ 1, V _ 2 \rightarrow U \) are admissible and \( s _ i \in \mathscr{F}(V _ i) \) locally agree on the overlap over \( U \). Then for any morphism \( W \rightarrow U \), the pullbacks \( s _ i \vert _ {V _ i \times _ U W} \) also locally agree on the overlap over \( W \).
- Suppose \( V _ 1, V _ 2 \rightarrow U \) are admissible and \( s _ i \in \mathscr{F}(V _ i) \) locally agree on the overlap over \( U \). If \( W _ i \rightarrow V _ i \) are maps such that the compositions \( W _ i \rightarrow U \) are admissible, then \( s _ 1 \vert _ {W _ 1} \) and \( s _ 2 \vert _ {W _ 2} \) locally agree on the overlap over \( U \).
Lemma 10. Suppose \( V _ 1, V _ 2 \rightarrow U \) are admissible maps and \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) is a covering of \( U \). Let \( t _ i \in \mathscr{F}(V _ i) \) and \( s _ \alpha \in \mathscr{F}(U _ \alpha) \) be sections, and suppose that \( t _ i \) and \( s _ \alpha \) locally agree on the overlap over \( U \), for all \( 1 \le i \le 2 \) and \( \alpha \in I \). Then \( t _ 1, t _ 2 \) also locally agree on the overlap over \( U \).
Proof. By definition, \( t _ i \vert _ {V _ i \times _ U U _ \alpha} \) and \( s _ \alpha \vert _ {V _ i \times _ U U _ \alpha} \) locally agree. Pulling back along the other \( V _ j \), it follows that \( t _ i \vert _ {V _ 1 \times _ U V _ 2 \times _ U U _ \alpha} \) and \( s _ \alpha \vert _ {V _ 1 \times _ U V _ 2 \times _ U U _ \alpha} \) locally agree. Then by transitivity of locally agreeing, Proposition 9, \( t _ 1 \vert _ {V _ 1 \times _ U V _ 2 \times _ U U _ \alpha} \) and \( t _ 2 \vert _ {V _ 1 \times _ U V _ 2 \times _ U U _ \alpha} \) locally agree as well. Because \( V _ 1 \times _ U V _ 2 \times _ U U _ \alpha \) form a cover of \( V _ 1 \times _ U V _ 2 \), we see that \( t _ 1, t _ 2 \) locally agree on the overlap over \( U \), by definition. ▨
4. How to sheafify in one go#
For \( \{U _ \alpha \rightarrow U\} \) a covering, we modify our definition to \[ \displaystyle H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}) = \biggl\{ (s _ \alpha) \in \prod _ {\alpha}^{} \mathscr{F}(U _ \alpha) : \begin{matrix} s _ \alpha \text{ and } s _ \beta \text{ locally agree on} \\ \text{overlaps over } U, \text{ for all } \alpha, \beta \end{matrix} \biggr\}. \]
Proposition 11. If \( \psi \colon J \rightarrow I \) is a refinement of \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) by \( \{V _ \beta \rightarrow U\} _ {\beta \in J} \), then it induces a map \[ \displaystyle H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}) \rightarrow H^0(\{V _ \beta \rightarrow U\}, \mathscr{F}). \]
Proof. Note that the map sends \( (s _ \alpha) \) to \( (t _ \beta) \) where \( t _ \beta = s _ {\psi(\beta)} \vert _ {V _ \beta} \). We only need to show that the \( t _ \beta \) locally agree on the overlap over \( U \). For every \( \beta, \gamma \), we need to show that \( s _ {\psi(\beta)} \vert _ {V _ \beta} \) and \( s _ {\psi(\gamma)} \vert _ {V _ \gamma} \) locally agree on the overlap over \( U \). But since \( s _ {\psi(\beta)} \) and \( s _ {\psi(\gamma)} \) locally agree on the overlap over \( U \), this follows from Proposition 9. ▨
Finally we can define \[ \displaystyle \mathscr{F}^\#(U) = \varinjlim _ {\{U _ \alpha \rightarrow U\}} H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}). \] This indeed is a presheaf, because we can pull back; recall from Proposition 9 that sections that locally agree on the overlap pull back to sections that locally agree on the overlap. We can prove basically the same things.
Proposition 12. There is a natural map of presheaves \( \mathscr{F} \rightarrow \mathscr{F}^\# \), which is an isomorphism if \( \mathscr{F} \) is a sheaf. If \( \mathscr{G} \) is a sheaf, then we can uniquely factor any map \( \mathscr{F} \rightarrow \mathscr{G} \) as \( \mathscr{F} \rightarrow \mathscr{F}^\# \rightarrow \mathscr{G} \).
Proof. This is pretty much obvious because for sheaves, we have unique gluing for local sections that locally agree on the overlap. ▨
Now comes the interesting part.
Theorem 13. For every presheaf \( \mathscr{F} \in \mathsf{PSh}(\mathcal{C}) \), the presheaf \( \mathscr{F}^\# \) is a sheaf.
Once we have this, we immediately get that we have the correct sheafification from the above proposition.
Corollary 14. This process \( \mathscr{F} \mapsto \mathscr{F}^\# \) is the sheafification.
5. Proof of the theorem#
Our goal is now to prove Theorem 13. It will be nice if the colimit we are taking to compute \( \mathscr{F}^\#(U) \) is over a filtered diagram, but unfortunately this is not the case. Nonetheless, it will be something very close to it, so that the colimit has a relatively simple description.
Lemma 15. Suppose that \( \psi \colon J \rightarrow I \) is a refinement of \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I} \) by \( \{V _ \beta \rightarrow U\} _ {\beta \in J} \), and that the natural map \[ \displaystyle H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}) \rightarrow H^0(\{V _ \beta \rightarrow V\}, \mathscr{F}) \] sends \( (s _ \alpha) \) to \( (t _ \beta) \). Then for all \( \alpha \in I \) and \( \beta \in J \), the two sections \( s _ \alpha \in \mathscr{F}(U _ \alpha) \) and \( t _ \beta \in \mathscr{F}(V _ \beta) \) locally agree on the overlap over \( U \).
Proof. This basically follows from Lemma 10. For all \( \gamma \in I \), we obviously have that \( s _ \alpha \) and \( s _ \gamma \) locally agree on the overlap, because \( (s _ \alpha) \in H^0 \). We also have that \( s _ {\psi(\beta)} \) and \( s _ \gamma \) locally agreeing on the overlap, and hence by Proposition 9, we have that \( t _ \beta = s _ {\psi(\beta)} \vert _ {V _ \beta} \) and \( s _ \gamma \) locally agree on the overlap for all \( \gamma \in I \). Therefore by Lemma 10, we get that \( s _ \alpha \) and \( t _ \beta \) locally agree on the overlap. ▨
Lemma 16. Let \( \{U _ \alpha \rightarrow U\} \) and \( \{V _ \beta \rightarrow U\} \) be two coverings of \( U \), and consider elements \( (s _ \alpha) \in H^0(\{U _ \alpha \rightarrow U\}, \mathscr{F}) \) and \( (t _ \beta) \in H^0(\{V _ \beta \rightarrow U\}, \mathscr{F}) \). Then \( (s _ \alpha) \) and \( (t _ \beta) \) represent the same element in \( \mathscr{F}^\#(U) \) if and only if \( s _ \alpha \) and \( t _ \beta \) locally agree on the overlap over \( U \) for all \( \alpha, \beta \).
Proof. We first show that if they locally agree on the overlap then they represent the same elements in \( \mathscr{F}^\#(U) \). In this case, \( \{U _ \alpha \times _ U V _ \beta \rightarrow U\} \) are naturally refinements of both \( U _ \alpha \) and \( V _ \beta \). The \( (s _ \alpha) \) and \( (t _ \beta) \) are both mapped under these refinements to \( (s _ \alpha \vert _ {U _ \alpha \times _ U V _ \beta}) \) and \( (t _ \beta \vert _ {U _ \alpha \times _ U V _ \beta}) \), where \( s _ \alpha \vert _ {U _ \alpha \times _ U V _ \beta} \) and \( t _ \beta \vert _ {U _ \alpha \times _ U V _ \beta} \) locally agree by assumption. Then we can find covers \( \{W _ {\alpha\beta\gamma} \rightarrow U _ \alpha \times _ U V _ \beta\} \) such that \( s _ \alpha \vert _ {W _ \alpha\beta\gamma} = t _ \beta \vert _ {W _ {\alpha\beta\gamma}} \). This means that \( (s _ \alpha) \) and \( (t _ \beta) \) are both mapped to the same element in \( H^0(\{W _ {\alpha\beta\gamma} \rightarrow U\}) \) under the natural refinement maps. Therefore they represent the same elements in \( \mathscr{F}^\#(U) \).
We now show that converse. Assume that \( (s _ \alpha) \) and \( (t _ \beta) \) represent the same elements. Then they are connected by a chain of elements in \( H^0 \), where consecutive elements are related by refinements. We induct on the length of this chain. If the length of this chain is equal to \( 1 \), we are done by Lemma 15. For the induction step, it suffices to show that following statement. If \( (s _ \alpha), (u _ \gamma), (t _ \beta) \) are elements of some \( H^0 \) with respect to some cover, \( s _ \alpha \) and \( u _ \gamma \) locally agree on the overlap for all \( \alpha, \gamma \), and \( u _ \gamma \) and \( t _ \beta \) locally agree on the overlap for all \( \gamma, \beta \), then \( s _ \alpha, t _ \beta \) locally agree for all \( \alpha, \beta \). This is basically Lemma 10. ▨
Now it’s pretty easy to proof Theorem 13. Let us first check uniqueness of gluings. Suppose \( \{U _ \alpha \rightarrow U\} \) is a covering and \( s, t \in \mathscr{F}^\#(U) \) restrict to the same elements in \( \mathscr{F}^\#(U _ \alpha) \). If we pick representatives \( (s _ \beta) \in H^0(\{V _ \beta \rightarrow U\}, \mathscr{F}) \) and \( (t _ \gamma) \in H^0(\{W _ \gamma \rightarrow U\}, \mathscr{F}) \) for \( s \) and \( t \), then their restrictions to \( U _ \alpha \) are represented by \( (s _ \beta \vert _ {V _ \beta \times _ U U _ \alpha}) \) and \( (t _ \gamma \vert _ {W _ \gamma \times _ U U _ \alpha}) \). Since these two must agree, by Lemma 16, we see that \( s _ \beta \vert _ {V _ \beta \times _ U U _ \alpha} \) and \( t _ \gamma \vert _ {W _ \gamma \times _ U U _ \alpha} \) agree on the overlap over \( U _ \alpha \). This simply means that \( s _ \beta \) and \( t _ \gamma \) locally agree when pulled back to \( V _ \beta \times _ U W _ \gamma \times _ U U _ \alpha \). Since this holds for all \( \alpha \), from Proposition 9 we see that \( s _ \beta \) and \( t _ \gamma \) locally agree when pulled back to \( V _ \beta \times _ U W _ \gamma \), and by definition, \( s _ \beta \) and \( t _ \gamma \) locally agree on the overlap over \( U \). Therefore by Lemma 16 again, \( s = t \).
We now check the gluing condition. Take a covering \( \{U _ \alpha \rightarrow U\} \) and \( s _ \alpha \in \mathscr{F}\#(U _ \alpha) \), and suppose that \( s _ \alpha \) and \( s _ \beta \) pulled back to \( U _ \alpha \times _ U U _ \beta \) give the same elements in \( \mathscr{F}^\#(U _ \alpha \times _ U U _ \beta) \). We want to say that they glue to an element in \( \mathscr{F}^\#(U) \). The process for gluing is simple. By definition, each \( s _ \alpha \) is represented by some \( (s _ {\alpha\beta}) \in H^0(\{V _ {\alpha\beta} \rightarrow U _ \alpha\}, \mathscr{F}) \). Then we have \( \{V _ {\alpha\beta} \rightarrow U\} \) a covering, and \( s _ {\alpha\beta} \in \mathscr{F}(V _ {\alpha\beta}) \). We claim that this is a desired element of \( \mathscr{F}^\#(U) \). To prove this, we need to check that this indeed is an element of \( H^0 \) and that it indeed restricts to \( s _ \alpha \in \mathscr{F}^\#(U _ \alpha) \).
First, why is \( (s _ {\alpha\beta}) \) in \( H^0(\{V _ {\alpha\beta} \rightarrow U\}, \mathscr{F}) \)? This is equivalent to saying that \( s _ {\alpha\beta} \) and \( s _ {\gamma\delta} \) locally agree on the overlap over \( U \). But recall, we have this gluing condition for \( s _ \alpha \) and \( s _ \gamma \), which tells us that \( (s _ {\alpha\beta} \vert _ {V _ {\alpha\beta} \times _ U U _ \gamma}) \) and \( (s _ {\gamma\delta} \vert _ {U _ \alpha \times _ U V _ {\gamma\delta}}) \) represent the same element in \( \mathscr{F}^\#(U _ \alpha \times _ U U _ \gamma) \). By Lemma 16, it immediately follows that \( s _ {\alpha\beta} \) and \( s _ {\gamma\delta} \) locally agree on the overlap over \( U \), because the fiber product of \( V _ {\alpha\beta} \times _ U U _ \gamma \) and \( U _ \alpha \times _ U V _ {\gamma\delta} \) over \( U _ \alpha \times _ U U _ \gamma \) is just \( V _ {\alpha\beta} \times _ U V _ {\gamma\delta} \).
Next, we check that \( (s _ {\alpha\beta}) \in H^0(\{V _ {\alpha\beta} \rightarrow U\}, \mathscr{F}) \) restricts to \( s _ \gamma \in \mathscr{F}^\#(U _ \gamma) \). Because restriction is given by pullback, we are checking that \( (s _ {\alpha\beta} \vert _ {V _ {\alpha\beta} \times _ U U _ \gamma}) \) and \( (s _ {\gamma\delta}) \) represent the same element in \( \mathscr{F}^\#(U _ \gamma) \). By Lemma 16, it is enough to check that \( s _ {\alpha\beta} \vert _ {V _ {\alpha\beta} \times _ U U _ \gamma} \) and \( s _ {\gamma\delta} \) locally agree on the overlap over \( U _ \gamma \). Because the fiber product is \( V _ {\alpha\beta} \times _ U V _ {\gamma\delta} \), this is equivalent to that \( s _ {\alpha\beta} \) and \( s _ {\gamma\delta} \) restricted to \( V _ {\alpha\beta} \times _ U V _ {\gamma\delta} \) locally agree. This just means that \( s _ {\alpha\beta} \) and \( s _ {\gamma\delta} \) locally agree on the overlap over \( U \), and we know this from the above paragraph. This finishes the proof of Theorem 13.
6. Hypercoverings, truncated at dimension \( 1 \)#
This naturally leads us into the notion of hypercoverings. Since we only work with \( H^0 \), we will not use the full strength of hypercoverings and restrict to hypercoverings truncated at dimension \( 1 \).
Definition 17. A \( 0 \)-covering of \( U \) is just a usual covering \( \{U _ \alpha \rightarrow U\} \) of \( U \). We define a \( 1 \)-covering of \( U \) as the following data satisfying the properties:
- two sets \( I _ 0, I _ 1 \), and maps \( s _ 0, s _ 1 \colon I _ 1 \rightarrow I _ 0 \),
- for each element \( \alpha \in I _ 0 \) an object \( U _ \alpha \in \mathcal{C} \),
- for each element \( \beta \in I _ 1 \) an object \( V _ \beta \in \mathcal{C} \),
- for each \( \alpha \) a morphism \( U _ \alpha \rightarrow U \), such that \( \{U _ \alpha \rightarrow U\} _ {\alpha \in I _ 0} \) is a covering,
- for each \( \beta \) morphisms \( V _ \beta \rightarrow U _ {s _ 0(\beta)} \) and \( V _ \beta \rightarrow U _ {s _ 1(\beta)} \), such that for every \( \alpha _ 0, \alpha _ 1 \in I _ 0 \), the collection \( \{V _ \beta \rightarrow U _ {\alpha _ 0} \times _ U U _ {\alpha _ 1}\} _ {s _ i(\beta) = \alpha _ i} \) is a covering.
This is exactly the collection of \( \{U _ \alpha \rightarrow U\} \) and \( \{V _ {\alpha\beta\gamma} \rightarrow U _ \alpha \times _ U U _ \beta\} \) we were working with to consider "local sections that locally agree on intersections".
Definition 18. A refinement \( \psi \) of a \( 1 \)-covering \( (I _ 0, I _ 1, s _ 0, s _ 1, \{U _ \alpha \rightarrow U\}, \{V _ \beta\}) \) by a \( 1 \)-covering \( (J _ 0, J _ 1, t _ 0, t _ 1, \{X _ \alpha \rightarrow U\}, \{Y _ \beta\}) \) is given by the following data satisfying the properties:
- maps \( \psi _ i \colon J _ i \rightarrow I _ i \), commuting with \( s _ i, t _ i \) in a natural way,
- morphisms \( X _ \alpha \rightarrow U _ {\psi _ 0(\alpha)} \) and \( Y _ \beta \rightarrow V _ {\psi _ 1(\beta)} \), compatible with the structure maps.
Given a \( 1 \)-covering \( \mathcal{U} = (I, s, U _ \alpha, V _ \beta) \), we can now define \[ \displaystyle H^0(\mathcal{U}, \mathscr{F}) = \mathrm{eq}\biggl( \prod _ {\alpha}^{} \mathscr{F}(U _ \alpha) \rightrightarrows \prod _ {\beta}^{} \mathscr{F}(V _ \beta) \biggr) \] where the two maps are pulling back along \( s _ 0 \) and \( s _ 1 \). It is clear that a refinement of \( 1 \)-coverings induce a map on \( H^0 \), so that this colimit makes sense.
Now we see that \[ \displaystyle \mathscr{F}^\#(U) = \varinjlim _ {\mathcal{U}} H^0(\mathcal{U}, \mathscr{F}), \] because colimits commute with colimits nicely. In particular, in this colimit, we can first fix \( I _ 0 \) and consider the colimit for \( I _ 1 \), and then take the colimit for \( I _ 0 \). Then it should coincide with the definition we had before.
7. Why hypercoverings#
The advantage of this viewpoint is that we can generalize this to higher "coverings". In particular, we can start looking at coverings of objects like \[ \displaystyle \mathrm{eq}(V _ {\alpha\beta\delta} \times _ U V _ {\alpha\gamma\epsilon} \times _ U V _ {\beta\gamma\zeta} \rightrightarrows U _ \alpha \times _ U U _ \beta \times _ U U _ \gamma) \] and so on. But why do we want to do this? Well, we were interested only in computing the correct \( H^0 \) in this entire post, but we might want to talk about higher cohomology. In Čech cohomology, what one does is to take a cover \( \{U _ \alpha \rightarrow U\} \), take the complex \[ \displaystyle \prod _ {\alpha}^{} \mathscr{F}(U _ \alpha) \rightarrow \prod _ {\alpha,\beta}^{} \mathscr{F}(U _ \alpha \times _ U U _ \beta) \rightarrow \prod _ {\alpha,\beta,\gamma}^{} \mathscr{F}(U _ \alpha \times _ U U _ \beta \times _ U U _ \gamma) \rightarrow \dotsb, \] and take the direct limit along refinements. This is a definition, but from the point of view of locality, this is very wrong. Indeed, even over a topological space \( X \), assuming you don’t have a nice cover that have vanishing higher cohomology in finite intersections, an exact sequence \( 0 \rightarrow \mathscr{F} \rightarrow \mathscr{G} \rightarrow \mathscr{H} \rightarrow 0 \) of abelian sheaves only induces an exact sequence \[ \displaystyle \begin{aligned} 0 & \displaystyle\rightarrow \check{H}^0(X, \mathscr{F}) \rightarrow \check{H}^0(X, \mathscr{G}) \rightarrow \check{H}^0(X, \mathscr{H}) \\ & \displaystyle\rightarrow \check{H}^1(X, \mathscr{F}) \rightarrow \check{H}^1(X, \mathscr{G}) \rightarrow \check{H}^1(X, \mathscr{H}) \end{aligned} \] and does not extend further; see a previous post. In my opinion, this really does indicate that something went wrong.
If we want to do Čech cohomology correctly, we should be able to take refinements of \( U _ \alpha \times _ U U _ \gamma \) and so on, so the complex should be corrected to \[ \displaystyle \prod _ {\alpha}^{} \mathscr{F}(U _ \alpha) \rightarrow \prod _ {\alpha,\beta,\gamma}^{} \mathscr{F}(U _ {\alpha\beta\gamma}) \rightarrow (?) \rightarrow \dotsb \] where \( \{U _ {\alpha\beta\gamma} \rightarrow U _ \alpha \times _ U U _ \beta\} \) is a covering, and so on. This is achieved by using hypercovers. In fact, the following is from the Stacks project, 01H0.
Theorem 19. Let \( \mathcal{C} \) be a site and assume that \( \mathcal{C} \) has all fiber products. Let \( X \) be an object of \( \mathcal{C} \), and \( \mathscr{F} \) a sheaf of abelian groups on \( \mathcal{C} \). Then there is a natural isomorphism \[ \displaystyle H^i(X, \mathscr{F}) = \varinjlim _ K \check{H} _ \mathrm{HC}^i(K, \mathscr{F}), \] where the left hand side is sheaf cohomology and the right hand side is the colimit of the Čech cohomology for hypercoverings, where the colimit is over the category of hypercoverings of \( X \) and refinements.
I feel like \( \mathcal{C} \) having all fiber products is an unnecessary condition, because I’m pretty sure hypercoverings are well-defined without having all fiber products. (I think by leveraging on properties of admissible maps the necessary limits can be shown to exist.) Also, I wonder what happens if you plug in an abelian presheaf on the right hand side, probably the cohomology of the sheafification?
In general, hypercovers are some kinds simplicial objects in \( \mathcal{C} \). If we use \( \mathcal{C} \) sets with coverings being jointly surjective maps, then hypercovers are trivial Kan complexes with an augmented map being the cover. I believe there is a general theory in a higher homotopy theory setting, of which everything I said is a truncation. But alas, I don’t know much homotopy theory.