§ Cokernel is not sheafy

I wanted to understand why the Cokernel is not a sheafy condition. I found an explanation in Ravi Vakil's homework solutions which I am expanding on here.

§ Core idea

We will show that there will be an exact sequence which is surjective at each stalk, but not globally surjective. So, locally, we wil have trivial cokernel, but globally, we will have non-trivial cokernel.

§ Exponential sheaf sequence

0  --> 2πiZ -[α:incl]-> O --[β:exp(.)]--> O* --> 0
  • O is the sheaf of the additive group of holomorphic functions. O* is the sheaf of the group of non-zero holomorphic functions.
  • α, which embeds 2πin ∈2πiZ as a constant function f(_) = 2πin isinjective.
  • e^(2πiZ) = 1. So we have that the composition of the two maps β.α isthe zero map, mapping everything in 2πiZ to the identity of O*.Thus, d^2 = 0, ensuring that this is an exact sequence.
  • Let us consider the local situation. At each point p, we want to showthat β is surjective. Pick any g ∈ O*p. We have an open neighbourhood Ugwhere g ≠ 0. take the logarithm of g to pull back g ∈ O* to log g ∈ O.Thus, β is surjective at each local point p.
  • On the other hand, the function h(z) = z cannot be in O*. If it were,then there exists a homolorphic function called l ∈ O [for log] such thatexp(l(z)) = h(z) = z everywhere on the complex plane.
  • Assume such a function exists. Then it must be the case thatd/dz exp(l(z)) = d/dz(z) = 1. Thus, exp(l(z)) l'(z) = z l'(z) = 1[use the fact that exp(l(z)) = z]. This means that l'(z) = 1/z.
  • Now, by integrating in a closed loop of e^iθ we have ∮l'(z) = l(1) - l(1) = 0.
  • We also have that ∮l'(z) = ∮1/z = 2πi.
  • This implies that 0 = 2πi which is absurd.
  • Hence, we cannot have a function whose exponential gives h(z) = z everywhere.
  • Thus, the cokernel is nontrivial globally.