Sheaf morphisms, images, cokernels and stalks Let me first put down a couple definitions, two of which have terminology I make up for this post. If you already know about sheaf theory, you can safely skip Definitions 1-3 and 7-8, and the Construction. Definitions 4-6 introduce notation and terminology that is probably nonstandard, so I recommend reading those in any case.        $\DeclareMathOperator{\coker}{coker}\DeclareMathOperator{\Im}{Im} \newcommand{\~}{\sim}$
Definition 1 (Sheaf)
Let $X$ be a topological space. A sheaf on $X$ is a map $\mathcal{F}:\operatorname{Open}(X)\to(\operatorname{Ab})$, i.e. a map which to every open $U\subseteq X$ assigns an abelian group $\mathcal{F}(U)=\Gamma(\mathcal{F},U)$, such that:


*

*For all $U\subseteq V\subseteq X$ there is a group morphism $\tau_{U,V}:\mathcal{F}(V)\to\mathcal{F}(U)$, called restriction morphism, such that $\tau_{U,V}\circ\tau_{V,W}=\tau_{U,W}$ for all $U\subseteq V\subseteq W$;

*If $U=\bigcup_iU_i$ and $\tau_{U_i,U}(s)=\tau_{U_i,U}(t)$, then $s=t$ in $\mathcal{F}(U)$;

*If $s_i\in\mathcal{F}(U_i)$ and, for all $i,j$, $\tau_{U_i\cap U_j,U_i}(s_i)=\tau_{U_i\cap U_j,U_j}(s_j)$, then there exists $s\in\mathcal{F}(\bigcup_iU_i)$ such that $\tau_{U_i,U}(s)=s_i$ for all $i$.


A map $\mathcal{F}:\operatorname{Open}(X)\to(\operatorname{Ab})$ satisfying only 1., and not 2. and 3., is a presheaf.
Definition 2 (sheaf morphism)
Given two sheaves $\mathcal{F},\mathcal{G}$, a sheaf morphism $\phi:\mathcal{F}\to\mathcal{G}$ is the specification of a group morphism $\phi_U:\mathcal{F}(U)\to\mathcal{G}(U)$ (or, we may say, an element $\phi\in\prod_{U\in\operatorname{Open}(X)}\operatorname{Hom}(\mathcal{F}(U),\mathcal{G}(U))$) such that, for all $U,V$, $\phi_U\circ\tau_{U,V}=\tau_{U,V}\circ\phi_V$, where $\tau_{U,V}$ is the restriction morphism of $\mathcal{F}$ on the LHS and of $\mathcal{G}$ on the RHS.
Definition 3 (kernel of a morphism)
Given $\phi:\mathcal{F}\to\mathcal{G}$ a sheaf morphism, $\ker\phi$ (the kernel of $\phi$) is defined by:
$$(\ker\phi)(U):=\ker(\phi_U).$$
It is easily verified that this is a sheaf.
Definition 4 (Image and Cokernel presheaves of a morphism)
Give $\phi$ as in the previous definition, I will denote by $\operatorname{Im}^p\phi$ and $\operatorname{coker}^p\phi$ the presheaves:
$$(\operatorname{Im}^p\phi)(U):=\operatorname{Im}(\phi_U),\qquad(\operatorname{coker}^p\phi)(U):=\operatorname{coker}\phi_U.$$
These are, in general, not sheaves. However, given any presheaf, there is a construction (explained here) that turns it into a sheaf with minimal variation, in the sense that the stalks (see below) stay the same. This is called sheafification.
Definition 5 (Image and Cokernel sheaves of a morphism)
The sheafifications of $\operatorname{Im}^p\phi$ and $\coker^p\phi$ as defined above are called Image and cokernel of $\phi$, and denoted as $\operatorname{Im}\phi$ and $\coker\phi$ respectively.
Definition 6 (C-surjective, I-surjective and injective morphisms)
Given a morphism $\phi:\mathcal{F}\to\mathcal{G}$, we say it is:


*

*injective if $\ker\phi=0$, i.e. $(\ker\phi)(U)=0$ for all $U$;

*I-surjective if $\Im\phi=\mathcal{G}$;

*C-surjective if $\coker\phi=0$.


Definition 7 (stalks)
Given $\mathcal{F}$ a (pre)sheaf, set:
$$\mathcal{F}(x):=\{(U,s):s\in\mathcal{F}(U),x\in U\in\operatorname{Open}(X)\}.$$
Introduce the equivalence relation:
$$(U,s)\~(V,t)\iff\exists W\subseteq U\cap V:\tau_{U,W}(s)=\tau_{V,W}(t).$$
The stalk of $\mathcal{F}$ at $x$ is the quotient:
$$\mathcal{F}_x:=\frac{\mathcal{F}(x)}{\~}.$$
Note
I know the stalk can be denoted as:
$$\mathcal{F}_x=\lim_{U\ni x}\mathcal{F}(U),$$
but I avoid that notation since I have never done that much category theory and, in particular, I have never seen limits of functors in enough detail to not perceive that limit notation as foreign.
Definition 8 (germs)
Given $\mathcal{F}$ a sheaf or presheaf, let $s\in\mathcal{F}(U)$. We set:
$$s_x:=[(U,s)],$$
that is, $s_x$ is the equivalence class of $(U,s)$ in the stalk $\mathcal{F}_x$. $s_x$ is called the germ of $s$ at $x$.
The "germification" map $s\mapsto s_x$ is a group homomorphism from $\mathcal{F}(U)$ to $\mathcal{F}_x$ for any $x\in X,x\in U\in\operatorname{Open}(X)$, as can easily be verified.
Construction
Let $\phi:\mathcal{F}\to\mathcal{G}$ be a sheaf morphism. For all $x\in X$, there is an induced morphism:
$$\phi_x:\mathcal{F}_x\to\mathcal{G}_x,\qquad\phi_x(s_x):=(\phi_U(s))_x,$$
where $(U,s)$ is any representative of the germ $s_x\in\mathcal{F}_x$. This is well-defined. Indeed, if $(U,s)\~(V,t)$, then $\tau_{U,W}(s)=\tau_{V,W}(t)$ for some $W\subseteq U\cap V$, and by definition $(U,s)\~(W,\tau_{U,W}(s)),(V,t)\~(W,\tau_{V,W}(t))$. We would need $(\phi_U(s))_x=(\phi_V(t))_x$. Then again:
$$(U,\phi_U(s))\~(W,\tau_{U,W}(\phi_U(s)))=(W,\phi_W(\tau_{U,W}(s)))=(W,\phi_W(\tau_{V,W}(t)))=(W,\tau_{V,W}(\phi_V(t)))\~(V,\phi_V(t)).$$
Definition 9 (stalk-injectivity, stalk-I-surjectivity and stalk-C-surjectivity)
Given a sheaf morphism $\phi:\mathcal{F}\to\mathcal{G}$, we call it


*

*Stalk-injective if $\phi_x:\mathcal{F}_x\to\mathcal{G}_x$ is injective for all x;

*Stalk-I-surjective if $\Im\phi_x=\mathcal{G}_x$ for all x

*Stalk-C-injective if $\coker\phi_x=0$ for all $x$. 


That said, a couple WBFs (WannaBe Facts) one might like to prove.
WBF 1
$\phi$ is C-surjective iff it is I-surjective.
WBF 2
$\phi$ is stalk-C-surjective iff it is stalk-I-surjective.
WBF 3
$\phi$ is C-surjective iff it is stalk-C-surjective.
WBF 4
$\phi$ is I-surjective iff it is stalk-I-surjective.
WBF 5
$\phi$ is injective iff it is stalk-injective.
Unfortunatly, WBF 1 is, unless I'm much mistaken, not true.
Fact 1
Stalk-C-surjectivity implies stalk-I-surjectivity, but not viceversa.
Proof.
Stalk-C-surjectivity implies $\coker^p\phi=0$, since any presheaf is a sub-presheaf of its sheafification (i.e. $\mathcal{F}(U)$ is always contained in $\mathcal{F}^+(U)$, $\mathcal{F}^+$ being the sheafification of $\mathcal F$). But then $\Im^p\phi=\mathcal G$, and $\Im^p\subseteq\Im$ just like $\coker^p\subseteq\coker$, and so we have I-surjectivity.
Let $\Omega^p$ be the sheaf of $p$-forms on a manifold. The exterior derivative can be seen as a sheaf morphism $d:\Omega^p\to Z^p$, $Z^p$ being the closed forms. $\Im^pd=B^p$, the presheaf of exact forms, whose sheafification is just $Z^p$, since every closed form is locally exact, otherwise known as a gluing of exact forms and hence an element of the sheafification. Sk we hage I-surjectivity. However, if the cohomology of the manifold m is nontrivial, $\coker d_U=H^{p+1}(U)$ is in general nontrivial, which renders C-surjectivity impossible. $\square$
Fact 2
WBF 2 holds.
Proof.
$\coker\phi_x=\frac{\mathcal G_x}{\Im\phi_x}$, which is zero iff $\phi_x$ is surjective. $\square$
Corollary 1
Seen as WBF 3 and WBF 4, along with WBF 2 which is true, would imply WBF 1 which is false, one of those must be false as well.
Fact 3
WBF 5 holds.
Proof.
Assume $\phi$ is stalk-injective. Let $s\in\mathcal{F}(U)$ satisfy $\phi_U(s)=0$. Then $\phi_x(s_x)=(\phi_U(s))_x=0_x=0$ for all $x\in U$, so $s_x=0$ for all $x\in U$, by stalk-injectivity. But this means that, for all $x\in U$, there is $V\subseteq U$ containinug $x$ such that $\tau_{U,V}(s)=0$. But by axiom 2. of the definition of sheaf, this implies $s=0$ on all $U$, proving $\phi_U$ is injective. So one direction is done.
Viceversa, let $\phi$ be injective. Assume $\phi_x(s_x)=0$ for some $s_x\in\mathcal{F}_x$. Take a representative $(U,\tilde s)$. $s_x=0$ implies there is $V\subseteq U$ such that $x\in V$ and $\tau_{U,V}(\phi_U(s))=0$. But that is $\phi_V(\tau_{U,V}(s))$, so $\tau_{U,V}(s)$ must be zero by injectivity of $\phi_V$. But then $s_y=0$ for all $y\in V$, in particular for $y=x$, proving stalk-injectivity. $\square$
Fact 4
I-surjectivity implies stalk-I-surjectivity.
Proof.
Let $t_x\in\mathcal{G}_x$. Take a representative $(U,t)$ such that the germ of $t$ at $x$ be the aforechosen $t_x$. $\phi_U$ is surjective by hypothesis, hence there exists $(U,s)$ such that $\phi_U(s)=t$. But then $\phi_x(s_x)=(\phi_U(s))_x=t_x$, so $\phi_x$ is surjective. $\square$.
Let us draw a diagram of what we have proved about the various types of surjectivity, and deduce a couple corollaries by looking at it.
$$\begin{array}{ccc}
\text{C-surjectivity} & & \text{stalk-C-surjectivity} \\
\not\uparrow\downarrow & & \uparrow\downarrow \\
\text{I-surjectivity} & \rightarrow & \text{stalk-I-surjectivity}
\end{array}$$
Corollary 2
Stalk-C-surjectivity cannot imply C-surjectivity.
Proof.
Suppose otherwise. Then I-surjectivity implies stalk-I-surjectivity (Fact 4), which implies stalk-C-surjectivity (Fact 2) which implies C-surjectivity (hypothesis), and yet I-surjectivity does not imply C-surjectivity (counterexample in Fact 1), contardiction. $\square$
Corollay 3
C-surjectivity implies stalk-C-surjectivity.
Proof.
Assume C-surjectivity. Then we have I-surjectivity (Fact 1), and hence stalk-I-sujectivity (Fact 4), and hence stalk-C-sutjectivity (Fact 2). $\square$
So we add another couple arrows to the diagram.
$$\begin{array}{ccc}
\text{C-surjectivity} & ^{\not\leftarrow}_{\rightarrow} & \text{stalk-C-surjectivity} \\
\not\uparrow\downarrow & & \uparrow\downarrow \\
\text{I-surjectivity} & \rightarrow & \text{stalk-I-surjectivity}
\end{array}$$
There remains therefore one last question.

Does stalk-I-surjectivity imply I-surjectivity?

And that is my question. I tried proving it, and I cannot seem to get to the end. In fact, there is also another question.

Is all the above correct?

I am particularly doubtful about WBF 1 being false, since my Complex Geometry teacher said that «$\phi$ […] ̀è suriettivo se il fascio-immagine è tutto $\mathcal{G}$, oppure il cokernel è 0, è la stessa cosa» ($\phi$ […] is surjective if the image sheaf is the whole of $\mathcal{G}$, or if the cokernel is zero, it's the same thing), and I seem to have just disproven his statement.
Update
I thought I had answered the first question. I was writing a swlf-answer, which started by proving the following.

Lemma
For all $x$, we have:
$$(\ker^p\phi)_x=\ker\phi_x,\qquad(\Im^p\phi)_x=\Im\phi_x.$$
Proof.
$$((\ker^p\phi)_x\subseteq\ker\phi_x)$$
Let $s_x\in(\ker^p\phi)_x$. This means $s_x$ is the germ at $x$ of some $s\in(\ker^p\phi)(U)$, by definition of stalks, and by definition of the kernel presheaf we have $\phi_U(s)=0$. Hence, by definition of the stalk morphism, $\phi_x(s_x)=(\phi_U(s))_x=0_x=0$.
$$((\ker^p\phi)_x\supseteq\ker\phi_x)$$
Let $s_x\in\ker\phi_x$, i.e. $\phi_x(s_x)=0$. By definition of the stalk morphism, $\phi_x(s_x)$ is $(\phi_U(s))_x$ for any representative $(U,s)$ of $s_x$. $(\phi_U(s))_x=0$ implies there is $V\subseteq U$ such that $\tau_{U,V}(\phi_U(s))=0$. But that is $\phi_V(\tau_{U,V}(s))$, meaning $\tau_{U,V}(s)\in\ker\phi_V$. Naturally, $s_x$ is also the germ of $\phi_V(s)$ at $x$, which gives us $s_x\in(\ker^p\phi)_x$.
$$((\Im^p\phi)_x\subseteq\Im\phi_x)$$
Let $s_x\in(\Im^p\phi)_x$. This means there is $s\in(\Im^p\phi)(U)$ such that its germ at $x$ is $s_x$. $s\in(\Im^p\phi)(U)$ means $s\in\Im\phi_U$, so there is $t\in\mathcal{F}(U)$ such that $\phi_U(t)=s$. But this means $\phi_x(t_x)=s_x$, showing $s_x\in\Im\phi_x$.
$$((\Im^p\phi)_x\supseteq\Im\phi_x)$$
Let $s_x\in\Im\phi_x$. This means there is $t_x\in\mathcal{F}_x:\phi_x(t_x)=s_x$. Taking a representative $(U,t)$ such that $t_x$ is the germ of $t$ at $x$, we will have $(\phi_U(t))_x=s_x$. But that means $s_x$ is the germ of something in $\Im\phi_U$, and hence $s_x\in(\Im^p\phi)_x$. $\square$

This should still allow me to conclude that the answer to that question is yes, since if $\phi$ is stalk-I-surjective then $(\Im\phi)_x=(\Im^p\phi)_x=\Im\phi_x=\mathcal{G}_x$, and… wait. Is it true that if $\mathcal{H}$ is a subsheaf of $\mathcal{G}$ and $\mathcal{H}_x=\mathcal{G}_x$ for all $x$, then $\mathcal{G}=\mathcal{H}$? Because if so, since $\Im\phi$ is a subsheaf of $\mathcal{G}$ (right?), I have concluded.
Anyways, as I wrote the second $\subset$ part of the Lemma proof, Roland posted his answer, pointing out that indeed my proof of half of WBF 1 is wrong.
Hedidn't say anything about Facts 2-3, so I assume I did not go wrong there. Since the first half of the Lemma is essentially equivalent to Fact 3, I guess I can safely assume the first half of my proof of the Lemma is OK.
I will come back to Facts 1 and 4 later. Right now, let me prove the following.
Fact U1
If $\mathcal{F}$ is a subsheaf of $\mathcal{G}$ (i.e. they are both sheaves and $\mathcal{F}(U)\subseteq\mathcal{G}(U)$ for all opern $U$) and $\mathcal{F}_x=\mathcal{G}_x$ for all $x\in X$, then $\mathcal{F}=\mathcal{G}$.
Proof.
Assume, to the contrary, that there is an open $U$ such that $\mathcal{F}(U)\subsetneq\mathcal{G}(U)$. Take any $s\in\mathcal{G}(U)\smallsetminus\mathcal{F}(U)$. Assume, for the moment, that I can find a convering $\{U_i\}$ of $U$ with open sets such that $\mathcal{F}(U_i)=\mathcal{G}(U_i)$ for all $i$. Then we have $\tau_{U_i,U}(s)=:s_i\in\mathcal{G}(U_i)=\mathcal{F}(U_i)$, and naturally $\tau_{U_i\cap U_j,U_i}(s_i)=\tau_{U_i\cap U_j,U_j}(s_j)$, so by condition 3. in the definition of sheaf we should have $s\in\mathcal{F}(U)$, contradiction.
It remains to prove that I can find such a covering $\{U_i\}$. Note that condition 3 does not require the covering to be finite, so we can use the set $\{V\subseteq U:\mathcal{F}(V)=\mathcal{G}(V)\}$ as a candidate. If that does not cover $U$, then we have $x\in U$ such that, for all $V\subseteq U$ containing $x$, there is $s_V\in\mathcal{G}(V)\smallsetminus\mathcal{F}(V)$. I would like to deduce from this that $\mathcal{F}_x\neq\mathcal{G}_x$. But I'm not sure how to exlude that, for every $V$, there be $W_V\subseteq V$ such that $\tau_{W_V,V}(s_V)\in\mathcal{F}(W_V)$. Maybe I'll think about this and come back afterwards. For the time being, $\not\square$.
It should be true that $\Im^p\phi$ is a sub-presheaf of $\Im\phi$. If "separated presheaf" means something satisfying 1. and 2., but not necessarily 3., from the definition of sheaf, then $\Im^p\phi$ is a separated presheaf, since it is a sub-presheaf of $\mathcal{G}$. I think I remember reading, on a trip on Google, that if a presheaf is separated, then it is a sub-presheaf of its sheafification, which would conclude here.
So now we are left with these questions:


*

*How to prove WBFs 1, 4 and 5;

*Is the content of this update correct so far?

*How to conclude the proof of Fact U1;

*How to prove that a separated presheaf is a sub-presheaf of its sheafification.


Update 2
Let us answer question 4.
Fact U2
For every presheaf $\mathcal{F}$, there exists a natural morphism $\phi:\mathcal{F}\to\mathcal{F}^+$ ($\mathcal{F}^+$ being the sheafification). It is injective iff the presheaf is separated, and, under the hypothesis of 2., it is surjective iff 3. holds.
Proof.
Set $\phi_U(s)=\{x\mapsto s_x\}$. That $\{x\mapsto s_x\}$ is a map from $U$ to the union of the stalks at points of $U$, such that for all $x$, $s_x\in\mathcal{F}_x$. Also, by constrution, this is an elemento of $\mathcal{F}^(U)$, so our map is well-defined.
The kernel $\ker\phi_U$ is precisely the set of all $s\in\mathcal{F}(U)$ such that there exists a covering $U\subseteq\bigcup_iU_i$ satisfying $\tau_{U_i,U}(s)=0$ for all $i$. Hence, it is trivial for all $U$ iff the presheaf is separated, but triviality of all $\ker\phi_U$ is precisely the injectivity of $\phi$.
Surjectivity of $\phi$ means that, as Rolando points out at the end of the answer, if $s\in\mathcal{F}^+(U)$, then there is a covering $\{U_i\}$ of $U$ such that $\tau_{U_i,U}(s)=\phi_{U_i}(t_i)$ for all $i$, where $t_i$ are some elements of $\mathcal{F}(U_i)$. If I had injectivity, I could certainly conclude that these have coinciding restrictions to the intersections, and then condition 3. would let me glue them to find a preimage, and $\phi_U$ would be surjective for all $U$, implying surjectivity.
I cannot seem to prove the other direction, but this is all I need. $\not\,\square$
This implies that a sheaf is isomorphic to its sheafification, and any separated presheaf is isomorphic to a sub-presheaf of its sheafification. In particular, the answer to question 4 is yes.
 A: That is a very long post. This is nice to give all the definition, but I bet that anyone who doesn't know them will not read through the whole post ;)
About all your wanna be facts : all of them are true, these are all very basic facts about sheaf theory. They are in every book on the topic. So let me point out where there are mistakes...
First of all I want to give a bit of category theory. In an abelian category $\mathcal{C}$, given a morphism $f:A\rightarrow B$, the equivalence $\operatorname{Im}f=B \Leftrightarrow\operatorname{coker}f=0$ holds. It is an important fact that the category of sheaves of abelian groups is an abelian category.
Fact 1
You say that any presheaf is a sub-presheaf of its sheafification. This is false (as any sub-presheaf of a sheaf is separated).
You say $\operatorname{coker} d_U=H^{p+1}(U)$. This is true, but $\operatorname{coker} d_U\neq(\operatorname{coker} d)(U)$. As you explained in definition 4-5, one needs to sheafify the presheaf $U\mapsto\operatorname{coker} d_U$. In your example, $U\mapsto H^{p+1}(U)$ is only a presheaf, and its sheafification is the zero-sheaf (because locally a manifold is contractible, so has zero-cohomology). By the way, you have an example of a presheaf which is not a subsheaf of its sheafification...
Fact 4 Again, you assume that $\phi_U$ is onto. It might not be so, remember that to get the image sheaf, one needs to sheafify the image presheaf. In fact, there is also this characterization of a surjective morphism of sheaves : $\phi:\mathcal{F}\rightarrow\mathcal{G}$ is onto iff for every open $U$ and every section $t\in\mathcal{G}(U)$, there exists an open cover $U=\bigcup U_i$ and sections $s_i\in\mathcal{F}(U_i)$ such that $\phi_{U_i}(s_i)=t_{|U_i}$. In other words, $\phi_U$ needs not be surjective, but any sections are locally in the image.

Here are some comments, about your updates :

*

*the lemma is true, and its proof is ok.


*the fact U1 is true. Here is a quick proof : let $s\in\mathcal{G}(U)$. We want to prove that $s\in\mathcal{F}(U)$. For all $x\in U$, $s_x\in\mathcal{F}_x$, this means that there exists $U_x\subset U$ and sections $t^x\in\mathcal{F}(U_x)$ such that $t^x_x=s_x$. And this equality means that there exists $V_x\subset U_x$ such that $t^x_{|V_x}=s_{|V_x}$. Clearly $(V_x)$ form an open cover of $U$ and the $t^x_{|V_x}$ glue to give $s\in\mathcal{F}(U)$.


*About the proof of the (true) fact that $\phi:\mathcal{F}\rightarrow\mathcal{F}^+$ is into iff $\mathcal{F}$ is separated, and $\phi$ is an isomorphism iff $\mathcal{F}$ is a sheaf. That makes four implications, and your proof will be clearer if you say what do you assume and what do you want to prove.
Moreover, your characterization of surjectivity is wrong : here $\phi$ is a map of presheaves, not sheaves (even if both source and target are sheaves !), so surjectivity of $\phi$ simply means $\phi_U$ onto for every $U$. Finally, the other direction is very easy : if $\phi$ is into, $\mathcal{F}$ is isomorphic to $\operatorname{im}\phi$ which is a subpresheaf of a sheaf, so $\mathcal{F}$ is separated. Similarly, if $\phi$ is an isomorphism, $\mathcal{F}$ is isomorphic to a sheaf, so it is a sheaf.
A: Let me make a little sum-up and (hopefully) complete the proofs of the WBFs.
There is a big trap I fell right into: $\mathcal{F}$ (presheaf) is a sub-presheaf of $\mathcal{F}^+$ (sheafification) is false. Indeed, as shown in Fact U2, that holds iff $\mathcal{F}$ is separated. Let us recover the proof.
Proof.
$$(\text{Separation implies }\mathcal{F}\leq\mathcal{F}^+)$$
As is easily verified, the map $s\in\mathcal{F}(U)\mapsto\{x\mapsto s_x\}\in\mathcal{F}^+(U)$ is well-defined and a morphism of presheaves. We can identify $\mathcal{F}$ with the image presheaf of this morphism (and hence view $\mathcal{F}$ as a sub-presheaf of $\mathcal{F}^+$) iff the morphism is injective.
Injectivity is characterised by injectivity of all $\phi_U$. What is $\ker\phi_U$? It is the set of $s\in\mathcal{F}(U)$ such that $s_x=0$ for all $x$. Hence, if $\mathcal{F}$ is separated, $\ker\phi_U=0$ for all $U$.
$$(\text{Vicevesa})$$
If $\ker\phi_U=0$ for all $U$, it means there are no locally zero nonzero sections. Take $s,t\in\mathcal{F}(U)$. If $s_x=t_x$ for all $x\in U$, then $s-t$ has germ zero everywhere, hence is zero, hence $s=t$. So $\mathcal{F}$ is separated. $\square$
While we're at it, the other half of Fact U2 was that the morphism defined above is an isomorphism iff $\mathcal{F}$ is a sheaf.
Proof.
$$(\text{Isomorphism implies sheaf})$$
This is a morphism of presheaves, not sheaves, so surjectivity means $\Im^p\phi=\mathcal{F}^+$, and this is iff $\phi_U$ is surjective for all $U$. By injectivity and the above, $\mathcal{F}$ is a sub-presheaf of $\mathcal{F}^+$, and it has exactly the same sections on all open $U$, so it coincides with $\mathcal{F}^+$ and is thus a sheaf.
$$(\text{Viceversa})$$
By construction, $\mathcal{F}$ has the same stalks as $\mathcal{F}^+$. Since $\mathcal{F}$ is a sheaf, it is separated, and this implies it is a sub(pre)sheaf of $\mathcal{F}^+$, as seen above. But a subsheaf of a sheaf with the same stalks as the supersheaf is indeed the supersheaf, as seen in Fact U1 (proven by Roland). This shows $\phi$ is an isomorphism. $\square$
Facts 2-3, showing respectively that stalk-I-surjectivity and stalk-C-surjectivity are equivalent, and that stalk-injectivity is equivalent to injectivity, should be correctly proved. Fact 3 is anyway a consequence of the first half of the Lemma, which has been OK'd by Roland, so that works.
Now we get to WBF 4.
Proof.
$$(\text{Stalk-I-surjectivity implies I-surjectivity})$$
The Lemma tells us $(\Im\phi)_x=\Im\phi_x=\mathcal{G}_x$, but $\Im\phi\leq\mathcal{G}$ and they have the same stalks, so $\Im\phi=\mathcal{G}$, that is $\phi$ is surjective.
$$(\text{I-surjectivity implies stalk-I-surjectivity})$$
If $\Im\phi=\mathcal{G}$, then $\Im\phi_x=(\Im\phi)_x=\mathcal{G}_x$ for all $x$, and hence we have stalk-I-surjectivity$. $\square$
Let us remake the diagram in the question.
$$\begin{array}{ccc}
\text{C-surjectivity} & & \text{stalk-C-surjectivity} \\
 & & \uparrow\downarrow \\
\text{I-surjectivity} & \iff & \text{stalk-I-surjectivity}
\end{array}$$
This shows us WBF 1 and WBF 3 (respectively the iff in the left column and the iff up top) are equivalent. So let us proceed to prove one of them.
First, let me add a part to the Lemma.
Lemma, pt. 2
$(\coker\phi)_x\cong\coker\phi_x$.
Proof.
$$(\text{Building a morphism})$$
If $s_x\in\coker\phi_x$, this means we can find $\tilde s_x\in\mathcal{G}_x$ such that $[\tilde s_x]=s_x$. Set $(U,\tilde s)$ a representative of $\tilde s_x$. Then we have an element $[\tilde s]\in\coker\phi_U$. We then set $f_x(s_x)=[\tilde s]_x$. So let me recap: we take $s_x\in\coker\phi_x$, take a representative in $\mathcal{G}_x$, take a representative in some $\mathcal{G}(U)$, project it onto $\coker\phi_U$, project it onto $(\coker^p\phi)_x=(\coker\phi)_x$.
$$(\text{Independence on the choice of the section representative})$$
Let us first show it does not depend on the $\mathcal{G}(U)$-representative. So we have chosen $\tilde s_x\in\mathcal{G}_x$ such that its equivalence class in $\coker\phi_x$ is $s_x$. We take two representatives $(U,\tilde s_1),(V,\tilde s_2)$. This means there is $W\subseteq U\cap V$ such that $\tau_{U,W}(\tilde s_1)=\tau_{V,W}(\tilde s_2)$. I would like it if $\tau_{U,W}(\pi_U(\tilde s_1))=\pi_W(\tau_{U,W}(\tilde s_1))$, for then we would have:
$$\tau_{U,W}(\pi_U(\tilde s_1))=\pi_W(\tau_{U,W}(\tilde s_1))=\pi_W(\tau_{V,W}(\tilde s_1))=\tau_{V,W}(\pi_V(\tilde s_1)),$$
and hence the germs of $\pi_U(\tilde s_1),\pi_V(\tilde s_2)$ would coincide, showing this first independence. So what we want is that the projection $\pi:\mathcal{G}\to\coker\phi$ be a (pre)sheaf morphism. Naturally, $\tau_{U,W}(\mathcal{G}(U))=\mathcal{G}(W)$. $\phi$ s a morphism, so $\tau_{U,W}(\Im\phi_U)=\Im\phi_W$. But then, equivalence classes are sent to equivalence classes, so indeed the above holds.
$$(\text{Independence on the choice of the germ representative})$$
Let us choose $\tilde s_x^1,\tilde s_x^2$ such that $\pi_x(\tilde s_x^1)=s_x=\pi_x(\tilde s_x^2)$. This means $\tilde s_x^1-\tilde s_x^2=\phi_x(t_x)$. We have already shown that the choice of section representative does not affect the outcome, so we go ahead and choose $(U,\tilde s^1),(V,\tilde s^2)$ whose germs at $x$ are $\tilde s_x^1,\tilde s_x^2$. There certainly exists some $W$ and a representative $(W,t)$ such that $\phi_W(t)=\tilde s^1-\tilde s^2$. This means that, when we project onto $\coker\phi_W$, these coincide, and so their germs at $x$ also coincide. So this $f$ is well-defined indeed.
$$(\text{Injectivity})$$
What is $\ker f_x$? It consists of $s_x\in\coker\phi_x$ such that, choosing $\tilde s_x\in\mathcal{G}_x$ which projects to $s_x$, and choosing $\tilde s\in\mathcal{G}(U)$ with germ $\tilde s_x$ at $x$, the equivalence class of $\tilde s$ in $\coker\phi_U$ has zero germ. That is, there is $W\subseteq U$ and $(W,t)$ such that $\phi_W(t)=\tau_{U,W}(\tilde s)$. But then $\tilde s_x=(\tau_{U,W}(\tilde s))_x=(\phi_W(t))_x\in\Im\phi_x$, so $s_x=0$ in the first place, proving injectivity.
$$(\text{Surjectivity})$$
Let $s_x\in(\coker\phi)_x$. This means we have $s\in\coker\phi_U$ with germ $s_x$ at $x$. Go back up to $\tilde s\in\mathcal{G}(U)$. Project this onto the stalk and obtain the germ $\tilde s_x$. Project this onto $\coker\phi_x$, et voilà, a preimage. So the surjectivity is proved, and we are done. $\square$
Finally, we can prove *WBF 3.
Proof of WBF 3.
$$(\text{C-surjectivity implies stalk-C-surjectivity})$$
If $\coker\phi=0$, its stalks are zero, but then so are $(\coker^p\phi)_x$, since the stalks of a presheaf and its sheafification are the same, as proved somewhere. But then $\coker\phi_x\cong(\coker^p\phi)_x=0$ by the above Lemma pt. 2, proving stalk-C-surjectivity.
$$(\text{Viceversa})$$
$0=\coker\phi_x\cong(\coker^p\phi)_x=(\coker\phi)_x$, so $\coker\phi$ has zero stalks, thus, being a sheaf, it is the zero sheaf. $\square$
Another pitfall I fell into is the following:

Although sheaf morphisms are just presheaf morphisms between sheaves, the concepts of I- and C-surjectivity are different: for presheaf morphisms, $\phi$ is I-surjective (or equivalently C-surjective) iff $\phi_U$ is surjective for all $U$; for sheaf morphisms, it is the sheafification of $\Im^p\phi$ (resp. $\coker^p\phi$) that must be $\mathcal{G}$ (resp. 0). The former condition is not equivalent to stalk-C/I-surjectivity, since the latter is, and the former and the latter are not equivalent (example: $d$ is surjective as a sheaf morphism $d:\Omega^p\to Z^{p+1}$, but not as a presheaf morphism, in general, since $\Im^p\phi$ is the presheaf of exact forms which sheafifies to the sheaf of closed forms). The characterization given by Roland (which is easily proved) is one of sheaf morphism surjectivity, not presheaf morphism surjectivity.

One last note: the Lemma allows us to conclude that a sequence $\mathcal{F}\to\mathcal{G}\to\mathcal{H}$ of sheaves is exact iff it is exact at the stalk level, i.e. the sequence $\mathcal{F}_x\to\mathcal{G}_x\to\mathcal{H}_x$ is exact for all $x$. A presheaf sequence is instead exact iff it is exact on sections. The two are not equivalent.
