The Stacks project

Lemma 10.82.14. Let $R$ be a ring and let $M \to M'$ be a map of $R$-modules. If $M'$ is flat, then $M \to M'$ is universally injective if and only if $M/IM \to M'/IM'$ is injective for every finitely generated ideal $I$ of $R$.

Proof. It suffices to show that $M \otimes _ R Q \to M' \otimes _ R Q$ is injective for every finite $R$-module $Q$, see Theorem 10.82.3. Then $Q$ has a finite filtration $0 = Q_0 \subset Q_1 \subset \ldots \subset Q_ n = Q$ by submodules whose subquotients are isomorphic to cyclic modules $R/I_ i$, see Lemma 10.5.4. Since $M'$ is flat, we obtain a filtration

\[ \xymatrix{ M \otimes Q_1 \ar[r] \ar[d] & M \otimes Q_2 \ar[r] \ar[d] & \ldots \ar[r] & M \otimes Q \ar[d] \\ M' \otimes Q_1 \ar@{^{(}->}[r] & M' \otimes Q_2 \ar@{^{(}->}[r] & \ldots \ar@{^{(}->}[r] & M' \otimes Q } \]

of $M' \otimes _ R Q$ by submodules $M' \otimes _ R Q_ i$ whose successive quotients are $M' \otimes _ R R/I_ i = M'/I_ iM'$. A simple induction argument shows that it suffices to check $M/I_ i M \to M'/I_ i M'$ is injective. Note that the collection of finitely generated ideals $I'_ i \subset I_ i$ is a directed set. Thus $M/I_ iM = \mathop{\mathrm{colim}}\nolimits M/I'_ iM$ is a filtered colimit, similarly for $M'$, the maps $M/I'_ iM \to M'/I'_ i M'$ are injective by assumption, and since filtered colimits are exact (Lemma 10.8.8) we conclude. $\square$

Comments (0)

There are also:

  • 2 comment(s) on Section 10.82: Universally injective module maps

Post a comment

Your email address will not be published. Required fields are marked.

In your comment you can use Markdown and LaTeX style mathematics (enclose it like $\pi$). A preview option is available if you wish to see how it works out (just click on the eye in the toolbar).

Unfortunately JavaScript is disabled in your browser, so the comment preview function will not work.

All contributions are licensed under the GNU Free Documentation License.

In order to prevent bots from posting comments, we would like you to prove that you are human. You can do this by filling in the name of the current tag in the following input field. As a reminder, this is tag 0AS5. Beware of the difference between the letter 'O' and the digit '0'.