The Stacks project

Lemma 10.168.1. Let $R \to S$ be a ring map. Let $M$ be an $S$-module. Assume that

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

  2. $M$ is a finitely presented $S$-module, and

  3. $M$ is flat over $R$.

In this case we have the following:

  1. There exists a finite type $\mathbf{Z}$-algebra $R_0$ and a finite type ring map $R_0 \to S_0$ and a finite $S_0$-module $M_0$ such that $M_0$ is flat over $R_0$, together with a ring maps $R_0 \to R$ and $S_0 \to S$ and an $S_0$-module map $M_0 \to M$ such that $S \cong R \otimes _{R_0} S_0$ and $M = S \otimes _{S_0} M_0$.

  2. If $R = \mathop{\mathrm{colim}}\nolimits _{\lambda \in \Lambda } R_\lambda $ is written as a directed colimit, then there exists a $\lambda $ and a ring map $R_\lambda \to S_\lambda $ of finite presentation, and an $S_\lambda $-module $M_\lambda $ of finite presentation such that $M_\lambda $ is flat over $R_\lambda $ and such that $S = R \otimes _{R_\lambda } S_\lambda $ and $M = S \otimes _{S_{\lambda }} M_\lambda $.

  3. If

    \[ (R \to S, M) = \mathop{\mathrm{colim}}\nolimits _{\lambda \in \Lambda } (R_\lambda \to S_\lambda , M_\lambda ) \]

    is written as a directed colimit such that

    1. $R_\mu \otimes _{R_\lambda } S_\lambda \to S_\mu $ and $S_\mu \otimes _{S_\lambda } M_\lambda \to M_\mu $ are isomorphisms for $\mu \geq \lambda $,

    2. $R_\lambda \to S_\lambda $ is of finite presentation,

    3. $M_\lambda $ is a finitely presented $S_\lambda $-module,

    then for all sufficiently large $\lambda $ the module $M_\lambda $ is flat over $R_\lambda $.

Proof. We first write $(R \to S, M)$ as the directed colimit of a system $(R_\lambda \to S_\lambda , M_\lambda )$ as in as in Lemma 10.127.18. Let $\mathfrak q \subset S$ be a prime. Let $\mathfrak p \subset R$, $\mathfrak q_\lambda \subset S_\lambda $, and $\mathfrak p_\lambda \subset R_\lambda $ the corresponding primes. As seen in the proof of Theorem 10.129.4

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

is a system as in Lemma 10.127.13, and hence by Lemma 10.128.3 we see that for some $\lambda _{\mathfrak q} \in \Lambda $ for all $\lambda \geq \lambda _{\mathfrak q}$ the module $M_\lambda $ is flat over $R_\lambda $ at the prime $\mathfrak q_{\lambda }$.

By Theorem 10.129.4 we get an open subset $U_\lambda \subset \mathop{\mathrm{Spec}}(S_\lambda )$ such that $M_\lambda $ flat over $R_\lambda $ at all the primes of $U_\lambda $. Denote $V_\lambda \subset \mathop{\mathrm{Spec}}(S)$ the inverse image of $U_\lambda $ under the map $\mathop{\mathrm{Spec}}(S) \to \mathop{\mathrm{Spec}}(S_\lambda )$. The argument above shows that for every $\mathfrak q \in \mathop{\mathrm{Spec}}(S)$ there exists a $\lambda _{\mathfrak q}$ such that $\mathfrak q \in V_\lambda $ for all $\lambda \geq \lambda _{\mathfrak q}$. Since $\mathop{\mathrm{Spec}}(S)$ is quasi-compact we see this implies there exists a single $\lambda _0 \in \Lambda $ such that $V_{\lambda _0} = \mathop{\mathrm{Spec}}(S)$.

The complement $\mathop{\mathrm{Spec}}(S_{\lambda _0}) \setminus U_{\lambda _0}$ is $V(I)$ for some ideal $I \subset S_{\lambda _0}$. As $V_{\lambda _0} = \mathop{\mathrm{Spec}}(S)$ we see that $IS = S$. Choose $f_1, \ldots , f_ r \in I$ and $s_1, \ldots , s_ n \in S$ such that $\sum f_ i s_ i = 1$. Since $\mathop{\mathrm{colim}}\nolimits S_\lambda = S$, after increasing $\lambda _0$ we may assume there exist $s_{i, \lambda _0} \in S_{\lambda _0}$ such that $\sum f_ i s_{i, \lambda _0} = 1$. Hence for this $\lambda _0$ we have $U_{\lambda _0} = \mathop{\mathrm{Spec}}(S_{\lambda _0})$. This proves (1).

Proof of (2). Let $(R_0 \to S_0, M_0)$ be as in (1) and suppose that $R = \mathop{\mathrm{colim}}\nolimits R_\lambda $. Since $R_0$ is a finite type $\mathbf{Z}$ algebra, there exists a $\lambda $ and a map $R_0 \to R_\lambda $ such that $R_0 \to R_\lambda \to R$ is the given map $R_0 \to R$ (see Lemma 10.127.3). Then, part (2) follows by taking $S_\lambda = R_\lambda \otimes _{R_0} S_0$ and $M_\lambda = S_\lambda \otimes _{S_0} M_0$.

Finally, we come to the proof of (3). Let $(R_\lambda \to S_\lambda , M_\lambda )$ be as in (3). Choose $(R_0 \to S_0, M_0)$ and $R_0 \to R$ as in (1). As in the proof of (2), there exists a $\lambda _0$ and a ring map $R_0 \to R_{\lambda _0}$ such that $R_0 \to R_{\lambda _0} \to R$ is the given map $R_0 \to R$. Since $S_0$ is of finite presentation over $R_0$ and since $S = \mathop{\mathrm{colim}}\nolimits S_\lambda $ we see that for some $\lambda _1 \geq \lambda _0$ we get an $R_0$-algebra map $S_0 \to S_{\lambda _1}$ such that the composition $S_0 \to S_{\lambda _1} \to S$ is the given map $S_0 \to S$ (see Lemma 10.127.3). For all $\lambda \geq \lambda _1$ this gives maps

\[ \Psi _{\lambda } : R_\lambda \otimes _{R_0} S_0 \longrightarrow R_\lambda \otimes _{R_{\lambda _1}} S_{\lambda _1} \cong S_\lambda \]

the last isomorphism by assumption. By construction $\mathop{\mathrm{colim}}\nolimits _\lambda \Psi _\lambda $ is an isomorphism. Hence $\Psi _\lambda $ is an isomorphism for all $\lambda $ large enough by Lemma 10.127.8. In the same vein, there exists a $\lambda _2 \geq \lambda _1$ and an $S_0$-module map $M_0 \to M_{\lambda _2}$ such that $M_0 \to M_{\lambda _2} \to M$ is the given map $M_0 \to M$ (see Lemma 10.127.5). For $\lambda \geq \lambda _2$ there is an induced map

\[ S_\lambda \otimes _{S_0} M_0 \longrightarrow S_\lambda \otimes _{S_{\lambda _2}} M_{\lambda _2} \cong M_\lambda \]

and for $\lambda $ large enough this map is an isomorphism by Lemma 10.127.6. This implies (3) because $M_0$ is flat over $R_0$. $\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 02JO. Beware of the difference between the letter 'O' and the digit '0'.