The Stacks project

Lemma 10.99.8. Let $R$ be a ring. Let $I \subset R$ be an ideal. Let $M$ be an $R$-module. If $M/IM$ is flat over $R/I$ and $\text{Tor}_1^ R(R/I, M) = 0$ then

  1. $M/I^ nM$ is flat over $R/I^ n$ for all $n \geq 1$, and

  2. for any module $N$ which is annihilated by $I^ m$ for some $m \geq 0$ we have $\text{Tor}_1^ R(N, M) = 0$.

In particular, if $I$ is nilpotent, then $M$ is flat over $R$.

Proof. Assume $M/IM$ is flat over $R/I$ and $\text{Tor}_1^ R(R/I, M) = 0$. Let $N$ be an $R/I$-module. Choose a short exact sequence

\[ 0 \to K \to \bigoplus \nolimits _{i \in I} R/I \to N \to 0 \]

By the long exact sequence of $\text{Tor}$ and the vanishing of $\text{Tor}_1^ R(R/I, M)$ we get

\[ 0 \to \text{Tor}_1^ R(N, M) \to K \otimes _ R M \to (\bigoplus \nolimits _{i \in I} R/I) \otimes _ R M \to N \otimes _ R M \to 0 \]

But since $K$, $\bigoplus _{i \in I} R/I$, and $N$ are all annihilated by $I$ we see that

\begin{align*} K \otimes _ R M & = K \otimes _{R/I} M/IM, \\ (\bigoplus \nolimits _{i \in I} R/I) \otimes _ R M & = (\bigoplus \nolimits _{i \in I} R/I) \otimes _{R/I} M/IM, \\ N \otimes _ R M & = N \otimes _{R/I} M/IM. \end{align*}

As $M/IM$ is flat over $R/I$ we conclude that

\[ 0 \to K \otimes _{R/I} M/IM \to (\bigoplus \nolimits _{i \in I} R/I) \otimes _{R/I} M/IM \to N \otimes _{R/} M/IM \to 0 \]

is exact. Combining this with the above we conclude that $\text{Tor}_1^ R(N, M) = 0$ for any $R$-module $N$ annihilated by $I$.

In particular, if we apply this to the module $I/I^2$, then we conclude that the sequence

\[ 0 \to I^2 \otimes _ R M \to I \otimes _ R M \to I/I^2 \otimes _ R M \to 0 \]

is short exact. This implies that $I^2 \otimes _ R M \to M$ is injective and it implies that $I/I^2 \otimes _{R/I} M/IM = IM/I^2M$.

Let us prove that $M/I^2M$ is flat over $R/I^2$. Let $I^2 \subset J$ be an ideal. We have to show that $J/I^2 \otimes _{R/I^2} M/I^2M \to M/I^2M$ is injective, see Lemma 10.39.5. As $M/IM$ is flat over $R/I$ we know that the map $(I + J)/I \otimes _{R/I} M/IM \to M/IM$ is injective. The sequence

\[ (I \cap J)/I^2 \otimes _{R/I^2} M/I^2M \to J/I^2 \otimes _{R/I^2} M/I^2M \to (I + J)/I \otimes _{R/I} M/IM \to 0 \]

is exact, as you get it by tensoring the exact sequence $0 \to (I \cap J) \to J \to (I + J)/I \to 0$ by $M/I^2M$. Hence suffices to prove the injectivity of the map $(I \cap J)/I^2 \otimes _{R/I} M/IM \to IM/I^2M$. However, the map $(I \cap J)/I^2 \to I/I^2$ is injective and as $M/IM$ is flat over $R/I$ the map $(I \cap J)/I^2 \otimes _{R/I} M/IM \to I/I^2 \otimes _{R/I} M/IM$ is injective. Since we have previously seen that $I/I^2 \otimes _{R/I} M/IM = IM/I^2M$ we obtain the desired injectivity.

Hence we have proven that the assumptions imply: (a) $\text{Tor}_1^ R(N, M) = 0$ for all $N$ annihilated by $I$, (b) $I^2 \otimes _ R M \to M$ is injective, and (c) $M/I^2M$ is flat over $R/I^2$. Thus we can continue by induction to get the same results for $I^ n$ for all $n \geq 1$. $\square$


Comments (2)

Comment #8472 by Et on

Maybe note in the almost last paragraph that you are using the snake lemma? Took me a moment to figure out what you were trying to do

Comment #8730 by Kentaro Inoue on

I think that this lemma can be proved more easily. In the first paragraph, (2) is proved in the case . In the general case, (2) can be reduced to the case by considering the -adic filtration. Then (1) follows from (2) immediately.


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 051C. Beware of the difference between the letter 'O' and the digit '0'.