$F(U)=\{ f \in \mathbb{C}(U) \mid z \dfrac{df}{dz}=1 \}$. Show that $F$ is a sheaf and determine its stalks. Let $F(U)=\{ f \in \mathbb{C}(U) \mid  z \dfrac{df}{dz}=1 \}$ where $\mathbb{C}(U)$ denotes the set of complex analytic functions on an open subset $U \subseteq \mathbb{C}$. Show that $F$ is a sheaf under restriction of functions. Prove that the stalk of $F$ at the point $0$ is empty and its stalk at any other point is non-canonically isomoprhic to $\mathbb{C}$.
My attempt: I think I understand what the question wants us to do but I do not know how to write it down rigorously. So, $F(U)$ consists of all logarithm functions defined on $\mathbb{U}$, an open subset of $\mathbb{C}$. Of course, $U \neq \mathbb{C}$. If $U$ is the complement of the line $\mathcal{l}=\{x+yi \mid x\in (-\infty,0] ,y=0\}$, then we get the normal way of defining logarithm that we are used to it in complex analysis. It's also obvious that if $U$ contains $0$, then $z \dfrac{df}{dz}=1$ cannot hold. So, the stalk of $F$ over $0$ is empty.
I'm not sure how to prove that the stalk at any other point is isomorphic to $\mathbb{C}$. Why is $F$ a sheaf? It probably has to do something with Picard's theorem in Differential Equations. I'm sure there must be some sort of a theorem that allows us to locally patch solutions to differential equations, but I don't know the name.
I have something in mind but it's long and boring and I'm sure there must be an easier way to see this. Any help is appreciated.
 A: $F$ is a sheaf essentially because it's a presheaf of functions defined by local conditions. 
So if you have a covering $(U_i)$ of $U$ with $f_i\in F(U_i)$ so that $f_{i\mid U_{ij}} = f_{j\mid U_{ij}} (*)$ then putting $f(x) = f_i(x)$ for $i$ s.t. $x\in U_i$, for $x\in U$ is : (i) well-defined by $(*)$, (ii) $f\in F(U)$ because locally $f$ satisfies this conidition, as locally it coincides with some $f_i$ which does.
Moreover, $f$ is clearly the only element of $F(U)$ that works, so $F$ is indeed a sheaf.
Note that the only interesting thing here is that the condition for $f\in \mathbb{C}(U)$ to be in $F(U)$ is a local condition. 
Indeed, the uniqueness part in the definition of sheaf comes from the fact that $U\mapsto\mathbb{C}(U)$ is itself a sheaf and that $F$ is a subpresheaf of it; existence comes from the locality of the condition. 
I think it's really important for you to understand this point about locality, if you want to understand sheaves. 
Now for the noncanonical isomorphism, here's the thing: if you have $x\neq 0$, then for some connected open neighbourhood $U$ of $x$, there is a logarithm defined on $U$, which I'll call $\log_x$ (not to be confused with log in base $x$ which is irrelevant here). 
So $\log_x \in F(U)$. what are the other elements of $F(U)$ ? Well if $g\in F(U)$, then $\dfrac{dg}{dz}=\dfrac{d(\log_x)}{dz}$ on $U$, hence $\log_x-g$ is constant on $U$ ($U$ was chosen connected). Conversely, given $\lambda\in\mathbb{C}$, $\log_x+\lambda\in F(U)$.
So we have an isomorphism $\mathbb{C}\to F(U)$, $\lambda\mapsto \lambda +\log_x$. 
Now once such a $U$ and $\log_x$ have been fixed, you can make this isomorphism coherent for all smaller open connected neighbourhoods of $x$; and since these neighbourhoods form a basis of neighbourhoods at $x$, this yields an isomorphism $F_x = \displaystyle\varinjlim_{V\ni x}F(V)\to \mathbb{C}$: so the stalk at $x$ is $\mathbb{C}$. Note however that this isomorphism relied on a choice of a $\log_x$, and two different choices will yield two different isomorphisms. Hence the "noncanonically"
