Note: this question is relevant but doesn't answer my question.
I want to prove the following proposition from (an English translation of) Jean-Pierre Serre's article Faisceaux algébriques cohérents. Serre only gives an outline of the proof.
When $\mathscr A$ is a coherent sheaf of rings, we have the following results:
PROPOSITION 7. For a sheaf of $\mathscr A$-modules, being coherent is equivalent to being locally isomorphic to the cokernel of a homomorphism $\phi : \mathscr A^q \to \mathscr A^p$.
In other words, when $\mathscr A$ is coherent over itself, the implications $$ \text{coherent} \iff \text{locally finitely presented} $$ hold for any sheaf $\mathscr F$ of $\mathscr A$-modules. I'm unable to prove the $\impliedby$ implication. Serre only gives an outline:
Proof. The necessity part is Proposition 2; the sufficiency follows from the coherence of $\mathscr A^q$ and $\mathscr A^p$ and from Theorem 2.
From earlier:
THEOREM 2. Let $\phi$ be a homomorphism from a coherent sheaf $\mathscr F$ to a coherent sheaf $\mathscr G$. The kernel, cokernel, and the image of $\phi$ are also coherent sheaves.
Serre's definition of a coherent sheaf:
Definition 2. A sheaf $\mathscr F$ of $\mathscr A$-modules is said to be coherent if:
(a) $\mathscr F$ is of finite type,
(b) If $s_1, \ldots, s_p$ are sections of $\mathscr F$ over an open $U \subset X$, the sheaf of relations between the $s_i$ is of finite type (over the open set $U$).
I believe (b) is equivalent to the following criterion from the nLab definition:
For every open $U$ in the base space, every finite $p \in \mathbb N$ and every morphism $$ \mathscr A^p |_U \to \mathscr F |_U $$ of $\mathscr O |_U$-modules has a finitely generated kernel.
My attempt. Suppose $\mathscr A$ is a sheaf on $X$, and coherent over itself. Let $\mathscr F$ be a locally finitely presented $\mathscr A$-module. Then each $x \in X$ is contained in some open $U_x \ni x$ for which a sequence $$ \mathscr A^q |_{U_x} \to \mathscr A^p |_{U_x} \to \mathscr F |_{U_x} \to 0 $$ exists. Since $A^q |_{U_x}$ and $A^p |_{U_x}$ are coherent, so is $\mathscr F |_{U_x}$. $\color{red}{\text{Now what?}}$ The problem is that every morphism $\sigma : \mathscr A^s |_V \to \mathscr F |_V$ must have a finitely generated kernel for any $s$ and any open $V \subseteq X$, not just the $U_x$ from above. Is there some shortcut I'm missing, or is delving into the details of the sheaf of relations necessary? Can it be proven on stalks?
It seems what's missing here is the following:
Let's prove this. One direction is more or less immediate, so we focus on the other. We then have an open cover $\{U_i\}$ on which $\mathscr{F}$ is coherent. The finite type part of coherence is immediate, since the $U_i$ cover $X$ so we only focus on the second one.
Let $V \subset X$ be open and $s_1, \dots, s_p \in \mathscr{F}(V)$. Let $\mathscr{R}$ be the sheaf of relations for these sections. We must show $\mathscr{R}$ is a finite type sheaf on $V$. To do so, observe that $\mathscr{R}|_{V \cap U_i}$ is finite type for each $i$, since $\mathscr{F}|_{U_i}$ is coherent. Indeed, this is the sheaf of relations for $s_1|_{V \cap U_i}, \dots, s_p|_{V \cap Y_i} \in \mathscr{F}(U_i \cap V) = \mathscr{F}|_{U_i}(U_i \cap V)$.
Since the $V \cap U_i$ cover $V$, it follows that $\mathscr{R}$ is finite type on $V$ as required.