The Stacks project

Theorem 10.129.4. Let $R$ be a ring. Let $R \to S$ be a ring map of finite presentation. Let $M$ be a finitely presented $S$-module. The set

\[ \{ \mathfrak q \in \mathop{\mathrm{Spec}}(S) \mid M_{\mathfrak q}\text{ is flat over }R\} \]

is open in $\mathop{\mathrm{Spec}}(S)$.

Proof. Let $\mathfrak q \in \mathop{\mathrm{Spec}}(S)$ be a prime. Let $\mathfrak p \subset R$ be the inverse image of $\mathfrak q$ in $R$. Note that $M_{\mathfrak q}$ is flat over $R$ if and only if it is flat over $R_{\mathfrak p}$. Let us assume that $M_{\mathfrak q}$ is flat over $R$. We claim that there exists a $g \in S$, $g \not\in \mathfrak q$ such that $M_ g$ is flat over $R$.

We first reduce to the case where $R$ and $S$ are of finite type over $\mathbf{Z}$. Choose a directed set $\Lambda $ and a system $(R_\lambda \to S_\lambda , M_\lambda )$ as in Lemma 10.127.18. Set $\mathfrak p_\lambda $ equal to the inverse image of $\mathfrak p$ in $R_\lambda $. Set $\mathfrak q_\lambda $ equal to the inverse image of $\mathfrak q$ in $S_\lambda $. Then the system

\[ ((R_\lambda )_{\mathfrak p_\lambda }, (S_\lambda )_{\mathfrak q_\lambda }, (M_\lambda )_{\mathfrak q_{\lambda }}) \]

is a system as in Lemma 10.127.13. Hence by Lemma 10.128.3 we see that for some $\lambda $ the module $M_\lambda $ is flat over $R_\lambda $ at the prime $\mathfrak q_{\lambda }$. Suppose we can prove our claim for the system $(R_\lambda \to S_\lambda , M_\lambda , \mathfrak q_{\lambda })$. In other words, suppose that we can find a $g \in S_\lambda $, $g \not\in \mathfrak q_\lambda $ such that $(M_\lambda )_ g$ is flat over $R_\lambda $. By Lemma 10.127.18 we have $M = M_\lambda \otimes _{R_\lambda } R$ and hence also $M_ g = (M_\lambda )_ g \otimes _{R_\lambda } R$. Thus by Lemma 10.39.7 we deduce the claim for the system $(R \to S, M, \mathfrak q)$.

At this point we may assume that $R$ and $S$ are of finite type over $\mathbf{Z}$. We may write $S$ as a quotient of a polynomial ring $R[x_1, \ldots , x_ n]$. Of course, we may replace $S$ by $R[x_1, \ldots , x_ n]$ and assume that $S$ is a polynomial ring over $R$. In particular we see that $R \to S$ is flat and all fibres rings $S \otimes _ R \kappa (\mathfrak p)$ have global dimension $n$.

Choose a resolution $F_\bullet $ of $M$ over $S$ with each $F_ i$ finite free, see Lemma 10.71.1. Let $K_ n = \mathop{\mathrm{Ker}}(F_{n-1} \to F_{n-2})$. Note that $(K_ n)_{\mathfrak q}$ is flat over $R$, since each $F_ i$ is flat over $R$ and by assumption on $M$, see Lemma 10.39.13. In addition, the sequence

\[ 0 \to K_ n/\mathfrak p K_ n \to F_{n-1}/ \mathfrak p F_{n-1} \to \ldots \to F_0 / \mathfrak p F_0 \to M/\mathfrak p M \to 0 \]

is exact upon localizing at $\mathfrak q$, because of vanishing of $\text{Tor}_ i^{R_\mathfrak p}(\kappa (\mathfrak p), M_{\mathfrak q})$. Since the global dimension of $S_\mathfrak q/\mathfrak p S_{\mathfrak q}$ is $n$ we conclude that $K_ n / \mathfrak p K_ n$ localized at $\mathfrak q$ is a finite free module over $S_\mathfrak q/\mathfrak p S_{\mathfrak q}$. By Lemma 10.99.4 $(K_ n)_{\mathfrak q}$ is free over $S_{\mathfrak q}$. In particular, there exists a $g \in S$, $g \not\in \mathfrak q$ such that $(K_ n)_ g$ is finite free over $S_ g$.

By Lemma 10.129.3 there exists a further localization $S_ g$ such that the complex

\[ 0 \to K_ n \to F_{n-1} \to \ldots \to F_0 \]

is exact on all fibres of $R \to S$. By Lemma 10.99.5 this implies that the cokernel of $F_1 \to F_0$ is flat. This proves the theorem in the Noetherian case. $\square$

Comments (0)

There are also:

  • 3 comment(s) on Section 10.129: Openness of the flat locus

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