# The Stacks Project

## Tag 052U

Lemma 10.107.6. Let $R$ be a ring. The following are equivalent:

1. every $Z \subset \mathop{\mathrm{Spec}}(R)$ which is closed and closed under generalizations is also open, and
2. any finite flat $R$-module is finite locally free.

Proof. If any finite flat $R$-module is finite locally free then the support of $R/I$ where $I$ is a pure ideal is open. Hence the implication (2) $\Rightarrow$ (1) follows from Lemma 10.107.3.

For the converse assume that $R$ satisfies (1). Let $M$ be a finite flat $R$-module. The support $Z = \text{Supp}(M)$ of $M$ is closed, see Lemma 10.39.5. On the other hand, if $\mathfrak p \subset \mathfrak p'$, then by Lemma 10.77.4 the module $M_{\mathfrak p'}$ is free, and $M_{\mathfrak p} = M_{\mathfrak p'} \otimes_{R_{\mathfrak p'}} R_{\mathfrak p}$ Hence $\mathfrak p' \in \text{Supp}(M) \Rightarrow \mathfrak p \in \text{Supp}(M)$, in other words, the support is closed under generalization. As $R$ satisfies (1) we see that the support of $M$ is open and closed. Suppose that $M$ is generated by $r$ elements $m_1, \ldots, m_r$. The modules $\wedge^i(M)$, $i = 1, \ldots, r$ are finite flat $R$-modules also, because $\wedge^i(M)_{\mathfrak p} = \wedge^i(M_{\mathfrak p})$ is free over $R_{\mathfrak p}$. Note that $\text{Supp}(\wedge^{i + 1}(M)) \subset \text{Supp}(\wedge^i(M))$. Thus we see that there exists a decomposition $$\mathop{\mathrm{Spec}}(R) = U_0 \amalg U_1 \amalg \ldots \amalg U_r$$ by open and closed subsets such that the support of $\wedge^i(M)$ is $U_r \cup \ldots \cup U_i$ for all $i = 0, \ldots, r$. Let $\mathfrak p$ be a prime of $R$, and say $\mathfrak p \in U_i$. Note that $\wedge^i(M) \otimes_R \kappa(\mathfrak p) = \wedge^i(M \otimes_R \kappa(\mathfrak p))$. Hence, after possibly renumbering $m_1, \ldots, m_r$ we may assume that $m_1, \ldots, m_i$ generate $M \otimes_R \kappa(\mathfrak p)$. By Nakayama's Lemma 10.19.1 we get a surjection $$R_f^{\oplus i} \longrightarrow M_f, \quad (a_1, \ldots, a_i) \longmapsto \sum a_im_i$$ for some $f \in R$, $f \not \in \mathfrak p$. We may also assume that $D(f) \subset U_i$. This means that $\wedge^i(M_f) = \wedge^i(M)_f$ is a flat $R_f$ module whose support is all of $\mathop{\mathrm{Spec}}(R_f)$. By the above it is generated by a single element, namely $m_1 \wedge \ldots \wedge m_i$. Hence $\wedge^i(M)_f \cong R_f/J$ for some pure ideal $J \subset R_f$ with $V(J) = \mathop{\mathrm{Spec}}(R_f)$. Clearly this means that $J = (0)$, see Lemma 10.107.3. Thus $m_1 \wedge \ldots \wedge m_i$ is a basis for $\wedge^i(M_f)$ and it follows that the displayed map is injective as well as surjective. This proves that $M$ is finite locally free as desired. $\square$

The code snippet corresponding to this tag is a part of the file algebra.tex and is located in lines 25181–25189 (see updates for more information).

\begin{lemma}
\label{lemma-finite-flat-module-finitely-presented}
Let $R$ be a ring. The following are equivalent:
\begin{enumerate}
\item every $Z \subset \Spec(R)$ which is closed and closed under
generalizations is also open, and
\item any finite flat $R$-module is finite locally free.
\end{enumerate}
\end{lemma}

\begin{proof}
If any finite flat $R$-module is finite locally free then the support
of $R/I$ where $I$ is a pure ideal is open. Hence the implication
(2) $\Rightarrow$ (1) follows from
Lemma \ref{lemma-pure-ideal-determined-by-zero-set}.

\medskip\noindent
For the converse assume that $R$ satisfies (1).
Let $M$ be a finite flat $R$-module.
The support $Z = \text{Supp}(M)$ of $M$ is closed, see
Lemma \ref{lemma-support-closed}.
On the other hand, if $\mathfrak p \subset \mathfrak p'$, then by
Lemma \ref{lemma-finite-flat-local}
the module $M_{\mathfrak p'}$ is free, and
$M_{\mathfrak p} = M_{\mathfrak p'} \otimes_{R_{\mathfrak p'}} R_{\mathfrak p}$
Hence
$\mathfrak p' \in \text{Supp}(M) \Rightarrow \mathfrak p \in \text{Supp}(M)$,
in other words, the support is closed under generalization.
As $R$ satisfies (1) we see that the support of $M$ is open and closed.
Suppose that $M$ is generated by $r$ elements $m_1, \ldots, m_r$.
The modules $\wedge^i(M)$, $i = 1, \ldots, r$ are finite flat $R$-modules
also, because $\wedge^i(M)_{\mathfrak p} = \wedge^i(M_{\mathfrak p})$
is free over $R_{\mathfrak p}$. Note that
$\text{Supp}(\wedge^{i + 1}(M)) \subset \text{Supp}(\wedge^i(M))$.
Thus we see that there exists a decomposition
$$\Spec(R) = U_0 \amalg U_1 \amalg \ldots \amalg U_r$$
by open and closed subsets such that the support of
$\wedge^i(M)$ is $U_r \cup \ldots \cup U_i$ for all $i = 0, \ldots, r$.
Let $\mathfrak p$ be a prime of $R$, and say $\mathfrak p \in U_i$.
Note that
$\wedge^i(M) \otimes_R \kappa(\mathfrak p) = \wedge^i(M \otimes_R \kappa(\mathfrak p))$.
Hence, after possibly renumbering $m_1, \ldots, m_r$ we may assume that
$m_1, \ldots, m_i$ generate $M \otimes_R \kappa(\mathfrak p)$. By
Nakayama's Lemma \ref{lemma-NAK}
we get a surjection
$$R_f^{\oplus i} \longrightarrow M_f, \quad (a_1, \ldots, a_i) \longmapsto \sum a_im_i$$
for some $f \in R$, $f \not \in \mathfrak p$. We may also assume that
$D(f) \subset U_i$. This means that $\wedge^i(M_f) = \wedge^i(M)_f$
is a flat $R_f$ module whose support is all of $\Spec(R_f)$.
By the above it is generated by a single element, namely
$m_1 \wedge \ldots \wedge m_i$. Hence $\wedge^i(M)_f \cong R_f/J$
for some pure ideal $J \subset R_f$ with $V(J) = \Spec(R_f)$.
Clearly this means that $J = (0)$, see
Lemma \ref{lemma-pure-ideal-determined-by-zero-set}.
Thus $m_1 \wedge \ldots \wedge m_i$ is a basis for
$\wedge^i(M_f)$ and it follows that the displayed map is injective
as well as surjective. This proves that $M$ is finite locally free
as desired.
\end{proof}

There are no comments yet for this tag.

## Add a comment on tag 052U

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 lower-right corner).

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 box. So in case this where tag 0321 you just have to write 0321. Beware of the difference between the letter 'O' and the digit 0.

This captcha seems more appropriate than the usual illegible gibberish, right?