Lemma 10.99.7 (Local criterion for flatness). Let $R \to S$ be a local homomorphism of local Noetherian rings. Let $\mathfrak m$ be the maximal ideal of $R$, and let $\kappa = R/\mathfrak m$. Let $M$ be a finite $S$-module. If $\text{Tor}_1^ R(\kappa , M) = 0$, then $M$ is flat over $R$.

**Proof.**
Let $I \subset R$ be an ideal. By Lemma 10.39.5 it suffices to show that $I \otimes _ R M \to M$ is injective. By Remark 10.75.9 we see that this kernel is equal to $\text{Tor}_1^ R(M, R/I)$. By Lemma 10.99.6 we see that $J \otimes _ R M \to M$ is injective for all ideals of finite colength.

Choose $n >> 0$ and consider the following short exact sequence

This is a sub sequence of the short exact sequence $0 \to R \to R^{\oplus 2} \to R \to 0$. Thus we get the diagram

Note that $I + \mathfrak m^ n$ and $\mathfrak m^ n$ are ideals of finite colength. Thus a diagram chase shows that $\mathop{\mathrm{Ker}}((I \cap \mathfrak m^ n)\otimes _ R M \to M) \to \mathop{\mathrm{Ker}}(I \otimes _ R M \to M)$ is surjective. We conclude in particular that $K = \mathop{\mathrm{Ker}}(I \otimes _ R M \to M)$ is contained in the image of $(I \cap \mathfrak m^ n) \otimes _ R M$ in $I \otimes _ R M$. By Artin-Rees, Lemma 10.51.2 we see that $K$ is contained in $\mathfrak m^{n-c}(I \otimes _ R M)$ for some $c > 0$ and all $n >> 0$. Since $I \otimes _ R M$ is a finite $S$-module (!) and since $S$ is Noetherian, we see that this implies $K = 0$. Namely, the above implies $K$ maps to zero in the $\mathfrak mS$-adic completion of $I \otimes _ R M$. But the map from $S$ to its $\mathfrak mS$-adic completion is faithfully flat by Lemma 10.97.3. Hence $K = 0$, as desired. $\square$

## 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.

## Comments (0)