The Stacks project

Lemma 10.128.10 (Critère de platitude par fibres: locally nilpotent case). Let

\[ \xymatrix{ S \ar[rr] & & S' \\ & R \ar[lu] \ar[ru] } \]

be a commutative diagram in the category of rings. Let $I \subset R$ be a locally nilpotent ideal and $M$ an $S'$-module. Assume

  1. $R \to S$ is of finite type,

  2. $R \to S'$ is of finite presentation,

  3. $M$ is a finitely presented $S'$-module,

  4. $M/IM$ is flat as a $S/IS$-module, and

  5. $M$ is flat as an $R$-module.

Then $M$ is a flat $S$-module and $S_\mathfrak q$ is flat and essentially of finite presentation over $R$ for every $\mathfrak q \subset S$ such that $M \otimes _ S \kappa (\mathfrak q)$ is nonzero.

Proof. If $M \otimes _ S \kappa (\mathfrak q)$ is nonzero, then $S' \otimes _ S \kappa (\mathfrak q)$ is nonzero and hence there exists a prime $\mathfrak q' \subset S'$ lying over $\mathfrak q$ (Lemma 10.17.9). Let $\mathfrak p \subset R$ be the image of $\mathfrak q$ in $\mathop{\mathrm{Spec}}(R)$. Then $I \subset \mathfrak p$ as $I$ is locally nilpotent hence $M/\mathfrak p M$ is flat over $S/\mathfrak pS$. Hence we may apply Lemma 10.128.9 to $R_\mathfrak p \to S_\mathfrak q \to S'_{\mathfrak q'}$ and $M_{\mathfrak q'}$. We conclude that $M_{\mathfrak q'}$ is flat over $S$ and $S_\mathfrak q$ is flat and essentially of finite presentation over $R$. Since $\mathfrak q'$ was an arbitrary prime of $S'$ we also see that $M$ is flat over $S$ (Lemma 10.39.18). $\square$

Comments (0)

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