Home / Blog / Faisceaux Algébriques Cohérents 2 – Čech cohomology

Faisceaux Algébriques Cohérents 2 – Čech cohomology

Published on January 10, 2018
Reading time 18 minutes

In the last post, we have defined sheaf cohomology as derived functors of the global sections. We showed that if \( X \) is a Noetherian scheme, it doesn’t matter if we derive from the category of \( \mathscr{O} _ X \)-modules or from quasi-coherent \( \mathscr{O} _ X \)-modules. This allowed us to immediately show that quasi-coherent sheaves over affine Noetherian schemes are acyclic. But this is not good enough if we want to compute cohomology of sheaves over non-affine schemes. It is very hard to construct injective objects, both in \( \mathsf{Mod} _ {\mathscr{O} _ X} \) and \( \mathsf{QCoh} _ {\mathscr{O} _ X} \).

What is sheaf cohomology anyways? This is supposed to give use information about the failure of surjectivity of sheaves passing to surjectivity of sections. Let us consider a short exact \( 0 \rightarrow \mathscr{F} \rightarrow \mathscr{G} \rightarrow \mathscr{H} \rightarrow 0 \) of \( \mathscr{O} _ X \)-modules. We want ask when a global section \( s \in \Gamma(X, \mathscr{H}) \) comes from a global section in \( \mathscr{G} \). Because the map \( \mathscr{G} \rightarrow \mathscr{H} \) is surjective, \( s \) locally comes from \( \mathscr{G} \). That is, there is an open cover \( \{ U _ i \} \) of \( X \) and \( t _ i \in \Gamma(U _ i, \mathscr{G}) \) that maps to \( s \vert _ {U _ i} \). If the sections \( t _ i \) glue well, then we’re done. But if they don’t, we can modify \( t _ i \) only up to \( \Gamma(U _ i, \mathscr{F}) \). The conclusion is, if the tuple of sections \( t _ i \vert _ {U _ i \cap U _ j} - t _ j \vert _ {U _ i \cap U _ j} \in \Gamma(U _ i \cap U _ j, \mathscr{F}) \) lies in the image of \[ \displaystyle \prod _ {i}^{} \Gamma(U _ i, \mathscr{F}) \rightarrow \prod _ {i,j}^{} \Gamma(U _ i \cap U _ j, \mathscr{F}); \quad (u _ i) \mapsto (u _ i - u _ j) \] then \( s \) comes from a global section in \( \mathscr{G} \). This motivates the definition of Čech cohomology.

4. Čech cohomology#

Let \( (X, \mathscr{O} _ X) \) be a ringed space, and consider \( \mathfrak{U} = \{ U _ i \} \) an open cover of \( X \). Then we define the Čech complex as \[ \displaystyle \check{C}^k(\mathfrak{U}, \mathscr{F}) = \prod _ {i _ 0 < i _ 1 < \ldots < i _ k}^{} \Gamma(U _ {i _ 0} \cap \cdots \cap U _ {i _ k}, \mathscr{F}) \] with the coboundary maps \( d : \check{C}^k \rightarrow \check{C}^{k+1} \) sends \( s = (s _ {i _ 0 \cdots i _ k}) \mapsto ds = ((ds) _ {i _ 0 \cdots i _ {k+1}}) \) where \[ \displaystyle s _ {i _ 0 \cdots i _ {k+1}} = \sum _ {j = 1}^{k+1} (-1)^j s _ {i _ 0 \cdots \hat{i} _ j \cdots i _ {k+1}}. \] Then we define \[ \displaystyle \check{H}^k(\mathfrak{U}, \mathscr{F}) = H^k(\check{C}^\bullet(\mathfrak{U}, \mathscr{F})). \] But this only detects what happens up to the open cover \( \mathfrak{U} \), and hence only approximates homology we want. For instance, \( \check{H}^k(\mathfrak{U}, \mathscr{F}) = 0 \) if \( k \) is greater than the number of open sets in \( \mathfrak{U} \). Thus to get a better approximation, we look at a finer cover. Hence we take the colimit \[ \displaystyle \check{H}^k(X, \mathscr{F}) = \varinjlim _ {\mathfrak{U}} \check{H}^k(\mathfrak{U}, \mathscr{F}). \]

To do this, we need to describe what the maps between \( \check{H}^k(X, \mathscr{F}) \) are. Let \( \mathfrak{U} = \{U _ i\} _ {i \in I} \) and \( \mathfrak{V} = \{V _ j\} _ {j \in J} \) be covers of \( X \) with \( \mathfrak{U} \) finer than \( \mathfrak{V} \). Then there exists a map \( \alpha : I \rightarrow J \) such that \( U _ i \subseteq V _ {\alpha(i)} \) for all \( i \in I \). This induces a chain map \[ \displaystyle \alpha^\ast : \check{C}^k(\mathfrak{V}, \mathscr{F}) \rightarrow \check{C}^k(\mathfrak{U}, \mathscr{F}); \quad (\alpha^\ast s) _ {i _ 0 \cdots i _ k} = s _ {\alpha(i _ 0) \cdots \alpha(i _ k)} \vert _ {U _ {i _ 0} \cap \cdots \cap U _ {i _ k}} \] which commutes with the boundary maps. (There’s a technical issue about allowing \( \alpha \) to be not order-preserving, but we are assuming that \( s \) is alternating in the indices.) Thus it induces \[ \displaystyle \alpha^\ast : \check{H}(\mathfrak{V}, \mathscr{F}) \rightarrow \check{H}(\mathfrak{U}, \mathscr{F}). \]

Proposition 1 (Serre n21 Proposition 3). Let \( \mathfrak{U} = \{U _ i\} _ {i \in I} \) and \( \mathfrak{V} = \{V _ j\} _ {j \in J} \) be coverings of \( X \), where \( \mathfrak{U} \) is finer than \( \mathfrak{V} \). Let \( \alpha, \beta : I \rightarrow J \) be maps such that \( U _ i \subseteq V _ {\alpha(i)}, V _ {\beta(i)} \) for all \( i \in I \). Then the induced maps \( \alpha^\ast, \beta^\ast : \check{H}(\mathfrak{V}, \mathscr{F}) \rightarrow \check{H}(\mathfrak{U}, \mathscr{F}) \) are equal.

Proof. The map \[ \displaystyle (hs) _ {i _ 0 \cdots i _ k} = \sum _ {j=0}^{k} (-1)^j s _ {\alpha(i _ 0) \cdots \alpha(i _ j) \beta(i _ j) \cdots \beta(i _ k)} \vert _ {U _ 0 \cap \cdots \cap U _ k} \] is a chain homotopy. ▨

So the maps \( \check{H}(\mathfrak{V}, \mathscr{F}) \rightarrow \check{H}(\mathfrak{U}, \mathscr{F}) \) are canonically defined. Also, we note that if \( \mathfrak{U} \) is finer than \( \mathfrak{V} \) and \( \mathfrak{V} \) is also finer than \( \mathfrak{U} \), then the two Čech cohomology groups are canonically isomorphic.

Proposition 2. For any open cover \( \mathfrak{U} \), \( \check{H}^0(\mathfrak{U}, \mathscr{F}) = \Gamma(X, \mathscr{F}) \). Thus \( \check{H}^0(X, \mathscr{F}) = \Gamma(X, \mathscr{F}) \).

Proof. The sheaf condition literally says that \[ \displaystyle 0 \rightarrow \Gamma(X, \mathscr{F}) \rightarrow \prod _ {i}^{} \Gamma(U _ i, \mathscr{F}) \rightarrow \prod _ {i,j}^{} \Gamma(U _ i \cap U _ j, \mathscr{F}) \] is exact. ▨

One problem with Čech cohomology is that a short exact sequence of sheaves doesn’t induce a long exact sequence of sheaves. Let \( 0 \rightarrow \mathscr{F} \rightarrow \mathscr{G} \rightarrow \mathscr{H} \rightarrow 0 \) be exact. Because the Čech complex is built out of sections, we only have \[ \displaystyle 0 \rightarrow \check{C}^\bullet(\mathfrak{U}, \mathscr{F}) \rightarrow \check{C}^\bullet(\mathfrak{U}, \mathscr{G}) \rightarrow \check{C}^\bullet(\mathfrak{U}, \mathscr{H}). \] This is bad, and let me force a short exact sequence of chain complexes by defining \( \check{C} _ 0^\bullet(\mathfrak{U}, \mathscr{H}) = \mathrm{coker}(\check{C}^\bullet(\mathfrak{U}, \mathscr{F}) \rightarrow \check{C}^\bullet(\mathfrak{U}, \mathscr{G})) \). We can pass to a long exact sequence \[ \displaystyle \cdots \rightarrow \check{H}^k(\mathfrak{U}, \mathscr{F}) \rightarrow \check{H}^k(\mathfrak{U}, \mathscr{G}) \rightarrow \check{H} _ 0^k(\mathfrak{U}, \mathscr{H}) \rightarrow \check{H}^{k+1}(\mathfrak{U}, \mathscr{F}) \rightarrow \cdots \] where \( \check{H} _ 0^k \) is the cohomology of \( \check{C} _ 0^\bullet \). Then we can take the limit over \( \mathfrak{U} \). Here, note that this is a filtered colimit (because for covers \( \mathfrak{U} \) and \( \mathfrak{V} \), \( \{U _ i \cap V _ j\} \) is a finer cover) and thus exact. Therefore we get \[ \displaystyle \cdots \rightarrow \check{H}^k(X, \mathscr{F}) \rightarrow \check{H}^k(X, \mathscr{G}) \rightarrow \check{H} _ 0^k(X, \mathscr{H}) \rightarrow \check{H}^{k+1}(X, \mathscr{F}) \rightarrow \cdots. \]

Proposition 3 (Serre n24 Proposition 6). The map \( \check{H} _ 0^k(X, \mathscr{H}) \rightarrow \check{H}^k(X, \mathscr{H}) \) is bijective for \( k = 0 \) and injective for \( k = 1 \).

Proof. I think the argument at the opening of this post shows the bijection for \( k = 0 \). Because \( \check{C} _ 0^0 \) is a subset of \( \check{C}^0 \), we immediately see that \( \check{H} _ 0^0 \) is a subset of \( \check{H}^0 \). For surjectivity, just note that any section of \( \mathscr{H} \) is locally an image of a section in \( \mathscr{G} \). Now consider \( k = 1 \). Here, we need to show that if \( s _ {ij} \in \Gamma(U _ i \cap U _ j, \mathscr{H}) \) is a coboundary in \( \check{C}^1(\mathfrak{U}, \mathscr{H}) \) then it is a coboundary in \( \check{C} _ 0^1(\mathfrak{V}, \mathscr{H}) \) for a finer cover \( \mathfrak{V} \). But here, if we let \( s _ {ij} = t _ i \vert _ {U _ i \cap U _ j} - t _ j \vert _ {U _ i \cap U _ j} \) then each \( t _ i \) locally come from sections of \( \mathscr{G} \). So each \( t _ i \) lie in some \( \check{C} _ 0^0(\mathfrak{V}, \mathscr{H}) \) and thus \( s = (s _ {ij}) \) becomes a coboundary in \( \check{C} _ 0^1 \). ▨

As a corollary, we have 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} \] In general, this exact sequence does not continue. (Serre proves in n25 that we have the usual long exact sequence if \( X \) is Hausdorff paracompact, but most schemes are not Hausdorff.) This problem comes from the fact that the Čech complex does not work locally once we choose the covering \( U _ i \). I think there is a notion called "hypercoverings" that fixes this issue by picking a covering \( U _ i \), then picking a covering of \( U _ i \cap U _ j \), and so on, but I’m not too sure about this.

5. Čech cohomology of quasi-coherent sheaves#

For ordinary sheaf cohomology, quasi-coherent sheaves on affine schemes turned out to be acyclic. We are going to see that the same is true for Čech cohomology.

Proposition 4. Let \( X = \mathrm{Spec} A \) be an affine scheme and \( \mathscr{F} \) be a quasi-coherent sheaf over \( X \). Then \( \check{H}^k(\mathfrak{U}, \mathscr{F}) = 0 \) for any cover \( \mathfrak{U} = \{ \mathrm{Spec} A _ {f _ i} \} \) and \( k \ge 1 \). As this can be sufficiently fine, we get \( \check{H}^k(X, \mathscr{F}) = 0 \).

Proof. We want to show that \[ \displaystyle 0 \rightarrow M \rightarrow \prod _ {i}^{} M _ {f _ i} \rightarrow \prod _ {i<j}^{} M _ {f _ i f _ j} \rightarrow \cdots \] is exact. We use induction on the number of \( f _ i \)’s. If \( \mathfrak{U} = \{ X \} \), then it is trivially verified. If not, note that we can check exactness locally, on each \( U _ i \) when regarded as a quasi-coherent sheaf. On each \( U _ i \), the function \( f _ i \) becomes a unit, so it is as if \( U _ i = X \). Then \( \mathfrak{U} \) and \( \mathfrak{U} \setminus \{ U _ i \} \) are finer than each other, so they have isomorphic Čech cohomology. (See remark after 1.) This shows that the sequence is exact over \( U _ i \) for all \( i \), and hence exact over \( X \). ▨

Let me now introduce a useful double complex for comparing Čech cohomology for different covers. Let \( \mathfrak{U} \) and \( \mathfrak{V} \) be two covers, and consider \[ \displaystyle \check{C}^{k,l}(\mathfrak{U}, \mathfrak{V}, \mathscr{F}) = \prod _ {\substack{i _ 0 < \cdots < i _ k \\ j _ 0 < \cdots < j _ l}}^{} \Gamma(U _ {i _ 0} \cap \cdots \cap U _ {i _ k} \cap V _ {j _ 0} \cap \cdots \cap V _ {j _ l}, \mathscr{F}). \] We can analogously define \( d _ 1 : \check{C}^{k,l} \rightarrow \check{C}^{k+1,l} \) and \( d _ 2 : \check{C}^{k,l} \rightarrow \check{C}^{k,l+1} \) by only taking out indices only on the \( \mathfrak{U} \) side or the \( \mathfrak{V} \) side.

The cohomology of this complex can be computed by a spectral sequence in two ways. If we take this complex as the \( E _ 0 \)-page and take \( d _ 1 \) to be the differential, the \( E _ 1 \)-page will be \[ \displaystyle E _ 1^{k,l} = \prod _ {j _ 0 < \cdots < j _ l}^{} \check{H}^k(\mathfrak{U} \vert _ {V _ {j _ 0} \cap \cdots \cap V _ {j _ l}}, \mathscr{F}). \] On the other hand, if we take \( d _ 2 \) to be the differential on the \( E _ 0 \)-page, the \( E _ 1 \)-page will be \[ \displaystyle E _ 1^{k,l} = \prod _ {i _ 0 < \cdots < i _ k}^{} \check{H}^k(\mathfrak{V} \vert _ {U _ {i _ 0} \cap \cdots \cap U _ {i _ k}}, \mathscr{F}). \] This is of course not the standard indexing, but I hope it is clear what spectral sequences they are.

Proposition 5. Let \( X = \mathrm{Spec} A \) be an affine scheme and \( \mathscr{F} \) be a quasi-coherent sheaf over \( X \). Then \( \check{H}^k(\mathfrak{U}, \mathscr{F}) = 0 \) for any affine open cover \( \mathfrak{U} \) and \( k \ge 1 \).

Proof. This is slightly different from the previous proposition, because we don’t know if the covers are of the form \( \mathrm{Spec} A _ {f _ i} \). We use induction on the size of \( \mathfrak{U} \). Take a cover \( \mathfrak{V} \) finer than \( \mathfrak{U} \), such that each \( V _ j \in \mathfrak{V} \) is of the form \( \mathrm{Spec} A _ f \). Then if look at the complex \( \check{C}^{\bullet,\bullet}(\mathfrak{U}, \mathfrak{V}, \mathscr{F}) \), we get from the first spectral sequence, \[ \displaystyle E _ 1^{k,l} = \prod _ {j _ 0 < \cdots < j _ l}^{} \check{H}^k(\mathfrak{U} \vert _ {V _ {j _ 0} \cap \cdots \cap V _ {j _ l}}, \mathscr{F}). \] But note that in the open cover \( \mathfrak{U} \) restricted to \( V _ {j _ 0} \cap \cdots \cap V _ {j _ l} \), at least one set is the entire \( V _ {j _ 0} \cap \cdots \cap V _ {j _ l} \). Then we can remove this, and by the inductive hypothesis, all cohomology vanish except \( k = 0 \). That is, \[ \displaystyle E _ 1^{0,l} = \prod _ {j _ 0 < \cdots < j _ l}^{} \Gamma(V _ {j _ 0} \cap \cdots \cap V _ {j _ l}, \mathscr{F}). \] Then the sequence collapses at the \( E _ 2 \)-page, with \( E _ 2^{0,l} = \check{H}^l(\mathscr{V}, \mathscr{F}) \). By the previous proposition, this is \( 0 \) for \( l \ge 1 \) and at \( \Gamma(X, \mathscr{F}) \) at \( l = 0 \).

Now let’s look at the other spectral sequence. This has \[ \displaystyle E _ 1^{k,l} = \prod _ {i _ 0 < \cdots < i _ k}^{} \check{H}^l(\mathfrak{V} \vert _ {U _ {i _ 0} \cap \cdots \cap U _ {i _ k}}, \mathscr{F}), \] but now \( \mathfrak{V} \) on \( U _ {i _ 0} \cap \cdots \cap U _ {i _ k} \) take the form of a cover by distinguished affines. (An affine scheme is separated, so \( U _ {i _ 0} \cap \cdots \cap U _ {i _ k} \) is affine.) So by the previous proposition, higher cohomology vanishes. Then the sequence collapses at the \( E _ 2 \)-page, which is \[ \displaystyle E _ 2^{k,0} = \check{H}^k(\mathfrak{U}, \mathscr{F}). \] This shows that this is \( 0 \) for \( k \ge 1 \). ▨

In many cases, this property makes Čech cohomology very computable.

Theorem 6 (Serre n47 Theorem 4). Let \( X \) be a quasi-compact separated scheme, and let \( U _ 1, \ldots, U _ n \) be an affine open cover of \( X \). Then for any quasi-coherent \( \mathscr{F} \), the canonical map \( \check{H}^k(\mathfrak{U}, \mathscr{F}) \rightarrow \check{H}^k(X, \mathscr{F}) \) is an isomorphism.

Proof. When we compute \( \check{H}^k(X, \mathscr{F}) \), we may take the direct limit only over affine open covers, because affine open covers can be sufficiently fine. Then we have \[ \displaystyle \check{H}^k(X, \mathscr{F}) = \varinjlim _ {\mathfrak{V} \text{ affine}} \check{H}^k(\mathfrak{V}, \mathscr{F}). \] Now to compute \( \check{H}^k(\mathfrak{V}, \mathscr{F}) \), we are going to use the double complex \( \check{C}^{\bullet,\bullet}(\mathfrak{U}, \mathfrak{V}) \). In the first spectral sequence, \[ \displaystyle E _ 1^{k,l} \cong \prod _ {i _ 0 < \cdots < i _ k}^{} \check{H}^l(\mathfrak{V} \vert _ {U _ {i _ 0} \cap \cdots \cap U _ {i _ k}}, \mathscr{F}), \] which vanishes for \( l \ge 0 \). (Again, because the scheme is separated, everything is affine.) Then the spectral sequence collapses on the \( E _ 2 \)-page with \( E _ 2^{k,0} = \check{H}^k(\mathfrak{U}, \mathscr{F}) \). By the exactly same argument, the other spectral sequence also collapses on the \( E _ 2 \)-page with \( E _ 2^{0,l} = \check{H}^l(\mathfrak{V}, \mathscr{F}) \). This shows that \( \check{H}^\bullet(\mathfrak{U}, \mathscr{F}) \cong \check{H}^\bullet(\mathfrak{V}, \mathscr{F}) \), and thus taking the direct limit gives an isomorphism \( \check{H}^\bullet(\mathfrak{U}, \mathscr{F}) \cong \check{H}^\bullet(X, \mathscr{F}) \). ▨

Corollary 7 (Serre n47 Theorem 5). Let \( X \) be a quasi-compact separated scheme. For a exact sequence \( 0 \rightarrow \mathscr{F} \rightarrow \mathscr{G} \rightarrow \mathscr{H} \rightarrow 0 \) of quasi-coherent sheaves, we have a long exact sequence \[ \displaystyle \cdots \rightarrow \check{H}^k(X, \mathscr{F}) \rightarrow \check{H}^k(X, \mathscr{G}) \rightarrow \check{H}^k(X, \mathscr{H}) \rightarrow \check{H}^{k+1}(X, \mathscr{F}) \rightarrow \cdots. \]

Proof. For \( \mathfrak{U} = \{ U _ i \} \) an affine open cover, the sequence \( 0 \rightarrow \mathscr{F} \vert _ {U _ i} \rightarrow \mathscr{G} \vert _ {U _ i} \rightarrow \mathscr{H} \vert _ {U _ i} \rightarrow 0 \) corresponds to an exact sequence of modules. So \( \check{C} _ 0^\bullet(\mathfrak{U}, \mathscr{H}) \) is equal to \( \check{C}^\bullet(\mathfrak{U}, \mathscr{H}) \). ▨

I could now compute the Čech cohomology of a lot of stuff explicitly, for instance sheaves on projective space. But we’ll postpone those exciting computations until we know that what we are computing is actually sheaf cohomology.

6. Čech cohomology equals sheaf cohomology#

In this section, we are going to show that Čech cohomology and sheaf cohomology of quasi-coherent sheaves agree in nice cases. We need a lemma.

Lemma 8. Let \( (X, \mathscr{O} _ X) \) be a ringed space, and let \( \mathscr{J} \) be a flasque \( \mathscr{O} _ X \)-module. Then \( \check{H}^k(\mathfrak{U}, \mathscr{J}) = 0 \) for each finite cover \( \mathfrak{U} \) and \( k \ge 1 \).

Proof. We use the same double complex trick. It is clear if \( \mathfrak{U} \) has only one set. If has more than one set, let \( \mathfrak{U}^\prime = \mathfrak{U} \setminus \{ U _ 1 \} \) and \( V = \bigcup \mathfrak{U}^\prime \). The Čech complex can be written as a double complex that looks like

If we plug this in to a spectral sequence with differentials on the \( E _ 0 \)-page horizontal, by the induction hypothesis we get \( \Gamma(V, \mathscr{F}) \rightarrow \Gamma(U _ 1 \cap V, \mathscr{F}) \) on the \( E _ 1 \)-page. Because \( \mathscr{F} \) is flasque, this is surjective and hence all higher cohomology vanish. ▨

Theorem 9. Let \( X \) be a separated Noetherian scheme and \( \mathscr{F} \) be a quasi-coherent sheaf over \( X \). Then \( \check{H}^k(X, \mathscr{F}) \cong H^k(X, \mathscr{F}) \).

Proof. For Čech cohomology, we choose a finite affine open cover \( \mathfrak{U} \), and for (derived) sheaf cohomology, we choose an injective resolution \( 0 \rightarrow \mathscr{F} \rightarrow \mathscr{J}^\bullet \). Then all \( \mathscr{J}^\bullet \) are going to be flasque. Consider the double complex

and consider the two spectral sequences. Using the horizontal arrow as the differential on the \( E _ 0 \)-page, we get \( E _ 1 \)-page \( \Gamma(X, \mathscr{J}^1) \rightarrow \Gamma(X, \mathscr{J}^2) \rightarrow \cdots \) because Čech cohomology vanishes on flasque sheaves. So the \( E _ 2 \)-page becomes \( H^\bullet(X, \mathscr{F}) \). On the other hand, if we start with the vertical arrows as the differentials on the \( E _ 0 \)-page, we get \( E _ 1 \)-page \( \check{C}^0(\mathfrak{U}, \mathscr{F}) \rightarrow \check{C}^1(\mathfrak{U}, \mathscr{F}) \rightarrow \cdots \), because each \( U _ {i _ 0} \cap \cdots U _ {i _ k} \) is affine and Noetherian, and hence sheaf cohomology vanish. Then the \( E _ 2 \)-page is \( \check{H}^\bullet(\mathfrak{U}, \mathscr{F}) \cong \check{H}^\bullet(X, \mathscr{F}) \). ▨

Note that the only place where we used the Noetherian hypothesis is when we said that sheaves over affine opens are acyclic. This is actually true for any affine scheme, and so we can get by with only assuming that \( X \) is quasi-compact separated. See Vakil [Vak17] Section 23.5 for a proof without the Noetherian hypothesis.

References#

[Ser55] Jean-Pierre Serre, Faisceaux Algébriques Cohérents, Ann. of Math. (2) 61 (1955), 197–278.

[Vak17] Ravi Vakil, The rising sea—foundations of algebraic geometry, 2017.