----- > [!proposition] Proposition. ([[sheaf morphism injectivity and surjectivity can be tested on stalks]]) > A [[morphism of (pre)sheaves|morphism of sheaves]] $\mathcal{F} \xrightarrow{f} \mathcal{G}$ is [[injection|injective]] if and only if the [[(pre)sheaf stalk|stalk map]] $f_{p}:\mathcal{F}_{p} \to \mathcal{G}_{p}$ is [[injection|injective]] for all $p$. > A [[morphism of (pre)sheaves|morphism of sheaves]] $\mathcal{F} \xrightarrow{f} \mathcal{G}$ is [[surjective sheaf morphism|surjective]] if and only if the [[(pre)sheaf stalk|stalk map]] $f_{p}:\mathcal{F}_{p} \to \mathcal{G}_{p}$ is [[surjection|surjective]] for all $p$. ^proposition > [!proposition] Corollary. > A [[morphism of (pre)sheaves|morphism of sheaves]] $\mathcal{F} \xrightarrow{f} \mathcal{G}$ is an [[isomorphism]] if and only if it is [[injective sheaf morphism|injective]] and [[surjective sheaf morphism|surjective]]. > > Indeed, $f$ is an [[isomorphism]] [[sheaf isomorphism iff isomorphism on stalks|iff each]] $f_{p}$ is, iff each $f_{p}$ is injective and surjective,[^1] iff $f$ is injective and surjective. ^corollary [^1]: Recall that we are assuming that data [[category]] is $\mathsf{Ab}$ or maybe $\mathsf{Ring}$ by default. So an injective + surjective morphism is an isomorphism. > [!proof]- Proof. ([[sheaf morphism injectivity and surjectivity can be tested on stalks]]) > First, > > $\begin{align} > f_{p} \text{ is injective} \ \fa p &\iff \ker f_{p} = 0 \ \fa p \\ > & \iff (\ker f)_{p} = 0 \ \fa p \\ > & \iff \ker f = 0, > \end{align}$ > where in the penultimate step we used that [[(pre)sheaf kernel|taking stalks and kernels commute]], and in the last step we used the easy fact that [[sheaf triviality can be tested on stalks]]. > > > Second, > > $\begin{align} > f_{p} \text{ is surjective } \fa p & \iff \im f_{p} = \mathcal{G}_{p} \ \fa p \\ > & \iff (\im f)_{p} = \mathcal{G}_{p} \ \fa p \\ > & \iff \im f = \mathcal{G} > \end{align}$ > where in the penultimate step we used that [[sheaf image|taking stalks and images commute]], and in the last step we used the easy fact that [[equality of subsheaf and sheaf can be tested on stalks]]. > > (Here we are identifying the [[sheaf image]] with a [[subsheaf]] of $\mathcal{G}$ in the natural way.) ----- #### ---- #### References > [!backlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM [[]] > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ``` > [!frontlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM outgoing([[]]) > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ```