Lemma 21.12.5. Let $\mathcal{C}$ be a site. Let $I$ be a set. For $i \in I$ let $\mathcal{F}_ i$ be an abelian sheaf on $\mathcal{C}$. Let $U \in \mathop{\mathrm{Ob}}\nolimits (\mathcal{C})$. The canonical map

$H^ p(U, \prod \nolimits _{i \in I} \mathcal{F}_ i) \longrightarrow \prod \nolimits _{i \in I} H^ p(U, \mathcal{F}_ i)$

is an isomorphism for $p = 0$ and injective for $p = 1$.

Proof. The statement for $p = 0$ is true because the product of sheaves is equal to the product of the underlying presheaves, see Sites, Lemma 7.10.1. Proof for $p = 1$. Set $\mathcal{F} = \prod \mathcal{F}_ i$. Let $\xi \in H^1(U, \mathcal{F})$ map to zero in $\prod H^1(U, \mathcal{F}_ i)$. By locality of cohomology, see Lemma 21.7.3, there exists a covering $\mathcal{U} = \{ U_ j \to U\}$ such that $\xi |_{U_ j} = 0$ for all $j$. By Lemma 21.10.4 this means $\xi$ comes from an element $\check\xi \in \check H^1(\mathcal{U}, \mathcal{F})$. Since the maps $\check H^1(\mathcal{U}, \mathcal{F}_ i) \to H^1(U, \mathcal{F}_ i)$ are injective for all $i$ (by Lemma 21.10.4), and since the image of $\xi$ is zero in $\prod H^1(U, \mathcal{F}_ i)$ we see that the image $\check\xi _ i = 0$ in $\check H^1(\mathcal{U}, \mathcal{F}_ i)$. However, since $\mathcal{F} = \prod \mathcal{F}_ i$ we see that $\check{\mathcal{C}}^\bullet (\mathcal{U}, \mathcal{F})$ is the product of the complexes $\check{\mathcal{C}}^\bullet (\mathcal{U}, \mathcal{F}_ i)$, hence by Homology, Lemma 12.32.1 we conclude that $\check\xi = 0$ as desired. $\square$

## Comments (4)

Comment #568 by Nuno on

I'm probably forgetting something about sheaf cohomology, but I didn't understand the proof of this lemma. Also, I'm not very well versed in cohomology on sites, so I'll restrict myself to the topological case. Why are the edge maps $\check H^1(\mathcal{U}, \mathcal{F}_i) \to H^1(U, \mathcal{F}_i)$ injective for all $i$? Since we have a canonical isomorphism $\check H^1(U, \mathcal{F}_i) \to H^1(U, \mathcal{F}_i)$, this would mean that the canonical map $\check H^1(\mathcal{U}, \mathcal{F}_i) \to \check H^1(U, \mathcal{F}_i)$ is injective, and I believe this isn't true. As a side remark, since we already know that $H^p(U, \cdot)$ is a functor, why should we repeat the argument here to construct the canonical map?

Comment #569 by on

This horrible lemma is used only in one place and there it is used to show that if $H^1(U, \mathcal{F}_i) = 0$ for all $i$, then $H^1(U, \mathcal{F})$ is zero. Anyway, as to your remarks.

The map $\check{H}^1(\mathcal{U}, \mathcal{G})$ to $H^1(U, \mathcal{G})$ is always injective for any abelian sheaf $\mathcal{G}$. Namely, let $(g_{ij})$ be a cocycle. If the image is zero in cohomology, then the associated torsor is trivial. Thus the torsor has a global section. This means there are sections $g_i$ over $U_i$ such that $g_i + g_{ij} = g_j$ on the overlaps. In fact, the group $\check{H}^1(\mathcal{U}, \mathcal{G})$ classisfies exactly those torsors which are trivial over the $U_i$.

I will explain this somewhere and improve the lemma.

OK, we do not need to construct the map: that is just nonsense!

Comment #570 by Nuno on

I need exactly that result for formally smooth morphisms (only for schemes with Zariski topology though). I've got it now, and that is pretty clear from the proof that $H^1$ classifies torsors, which I learned not a long time ago and should not have forgotten. Thanks!

Comment #571 by on

OK, thanks for letting me know! I improved the exposition by adding a lemma on torsors and chech $H^1$. The commit is here.

## Post a comment

Your email address will not be published. Required fields are marked.

In your comment you can use Markdown and LaTeX style mathematics (enclose it like $\pi$). A preview option is available if you wish to see how it works out (just click on the eye in the toolbar).

Unfortunately JavaScript is disabled in your browser, so the comment preview function will not work.

All contributions are licensed under the GNU Free Documentation License.

In order to prevent bots from posting comments, we would like you to prove that you are human. You can do this by filling in the name of the current tag in the following input field. As a reminder, this is tag 060L. Beware of the difference between the letter 'O' and the digit '0'.