# An 'easy' way to prove that epimorphism of sheaves implies surjectivity on stalks

Consider sheaves of sets on a topological space $X$. A standard fact (and exercise) is the following equivalence for a morphism $\phi\colon \mathscr{F}\rightarrow \mathscr{G}$ of such sheaves:

(a) $\phi$ is an epimorphism in this category of sheaves

(b) The induced morphisms $\phi_x$ on stalks are surjective for all $x\in X$

I found it surprisingly hard to come up with an idea for a proof of (a)=>(b), though I think I managed to do it using an appropriate skyscraper sheaf and thus showing that the $\phi_x$ are epimorphisms too.

Since I found shorter proofs for the analogous statements for monomorphisms and injectivity, I was wondering if there was some elegant and at the same time 'elementary' way to do it. That is, I'd like to see where the surjectivity comes from.

I know there are short proofs using the fact that colimits commute with left adjoints, but I don't want to use that. Examples for what I would like are usage of the product of all stalks, the fact that morphisms are equal if they agree on all stalks or something alike. I didn't have any idea up to now, though.

Thanks for any insight.

TL;DR: Is there an elegant proof for the equivalence not using adjoints?

-
+1 for "TL;DR". –  Ragib Zaman Oct 2 '12 at 2:58
Using adjoints is the elegant proof, in my view! The fact that the family of all stalk functors is jointly conservative plus the fact that taking stalks preserves colimits gives this result very easily. I doubt there is an elementary proof, because being an epimorphism is a colimit condition, and as you know, colimits in the category of sheaves are a bit difficult to understand. –  Zhen Lin Oct 2 '12 at 6:58
@ZhenLin: Thanks for your comment. I guess the general nonsense will have to do it for an elegant solution. It is not so difficult as I thought at first. If I want to have it more explicit, the longer solutions will still make visible where the surjectivity comes from. –  Gregor Bruns Oct 19 '12 at 20:32
@ZhenLin: why do you need that the family of all stalk functors is conservative? Just apply the stalk functor to the exact sequence $\mathcal F \rightarrow \mathcal G \rightarrow 0$ to get $\mathcal F_p \rightarrow \mathcal G_p \rightarrow 0_p = 0$ –  Rodrigo Oct 26 at 17:34
@Rodrigo Conservativity is needed for (b) => (a). –  Zhen Lin Oct 26 at 17:37