Is Orzech's generalization of the surjective-endomorphism-is-injective theorem correct?

In math.stackexchange answer #239445, Makoto Kato quoted a statement from the paper

Morris Orzech, Onto Endomorphisms are Isomorphisms, Amer. Math. Monthly 78 (1971), 357--362.

The statement (Theorem 1 in said paper) claims that if $A$ is a commutative ring, if $M$ is a finitely-generated $A$-module, if $N$ is an $A$-submodule of $M$, and if $f : N \to M$ is a surjective $A$-linear map, then $f$ is also injective.

This claim generalizes the well-known fact that a surjective endomorphism of a finitely-generated $A$-module is injective (which appears, e.g., as Lemma 10.15.4 in the Stacks project, Version 5b422bc, compiled on Nov 05, 2014 -- the numbering will probably change but it is Lemma {lemma-fun} in algebra.tex -- and I am citing this because the Stacks project has an interesting alternative proof of this fact). Orzech's proof first deals with the case of $A$ noetherian and then reduces the general case to it. Unfortunately, the reduction step is wrong: the map $f$ is applied to elements of $M$ which are not known to belong to $N$. (The proof in Orzech's paper is the same as the one in Kato's post.)

Is the claim itself true for non-Noetherian $A$ ? I cannot even prove the $M = A$ case, nor can I obtain a counterexample from the usual suspects (polynomials in infinitely many variables, or idempotent variables, or nilpotent variables).


Let $A$ be a commutative ring. Let $M$ be a finitely generated $A$-module and $N$ be an $A$-submodule of $M$. Let $f\colon N \rightarrow M$ be a surjective homomorphism of $A$-modules. Then $f$ is injective.

Proof. Let $0 \neq x'_0 \in N$. It suffices to prove $f(x'_0) \neq 0$. Set $f(x'_0) = x_0$.

Let $x_1, \dots, x_n$ be generators for $M$. Then $x'_0=\sum_{i=1}^na'_ix_i$ and $x_0=\sum_{i=1}^na_ix_i$.

Let $x'_i\in N$ such that $f(x'_i) = x_i$ and write $x'_i = \sum_{j = 1}^{n} a_{ij} x_j$.

Let $A' = \mathbb{Z}[a_{ij}, a_{i}, a'_i]$. $A'$ is a Noetherian subring of $A$.

Let $N' = A'x'_0 + A'x'_1 + \cdots + A'x'_n$, $M' = A'x_1 + \cdots + A'x_n$, and $f':N'\to M'$ defined in an obvious way.


user26857's answer shows how to repair the reduction to the Noetherian case. Here is how to repair the proof of the Noetherian case:

Let $M$ be a noetherian $A$-module and let $N \subseteq M$ be a submodule. Let $f : N \to M$ be a surjective linear map. Then $f$ is injective.

Proof: Let $n \geq 0$. Although $f^n$ is not a well-defined homomorphism this is a partial homomorphism, defined on the submodule $D_n = N \cap f^{-1}(N) \cap f^{-1}(f^{-1}(N)) \cap \dotsc \cap f^{-1}(f^{-1}(\dotsc))$ (intersection of $n$ submodules). Let $K_n \subseteq D_n$ be the kernel of $f^n$. Then $K_n \subseteq K_{n+1}$ for all $n$. Since $M$ is noetherian, there is some $n$ such that $K_n = K_{n+1}$. Let $x \in N$ with $f(x)=0$. Since $f$ is surjective, the same is true for $f^n : D_n \to M$. Choose some $y \in D_n$ with $x = f^n(y)$. Then $y \in D_{n+1}$ and actually $f^{n+1}(y)=0$, so that $x=f^n(y)=0$.


I have now found A constructive proof of Orzech's theorem, which relies on the Cayley-Hamilton theorem.