## 10.93 Characterizing projective modules

The goal of this section is to prove that a module is projective if and only if it is flat, Mittag-Leffler, and a direct sum of countably generated modules (Theorem 10.93.3 below).

Lemma 10.93.1. Let $M$ be an $R$-module. If $M$ is flat, Mittag-Leffler, and countably generated, then $M$ is projective.

Proof. By Lazard's theorem (Theorem 10.81.4), we can write $M = \mathop{\mathrm{colim}}\nolimits _{i \in I} M_ i$ for a directed system of finite free $R$-modules $(M_ i, f_{ij})$ indexed by a set $I$. By Lemma 10.92.1, we may assume $I$ is countable. Now let

$0 \to N_1 \to N_2 \to N_3 \to 0$

be an exact sequence of $R$-modules. We must show that applying $\mathop{\mathrm{Hom}}\nolimits _ R(M, -)$ preserves exactness. Since $M_ i$ is finite free,

$0 \to \mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N_1) \to \mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N_2) \to \mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N_3) \to 0$

is exact for each $i$. Since $M$ is Mittag-Leffler, $(\mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N_{1}))$ is a Mittag-Leffler inverse system. So by Lemma 10.86.4,

$0 \to \mathop{\mathrm{lim}}\nolimits _{i \in I} \mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N_1) \to \mathop{\mathrm{lim}}\nolimits _{i \in I} \mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N_2) \to \mathop{\mathrm{lim}}\nolimits _{i \in I} \mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N_3) \to 0$

is exact. But for any $R$-module $N$ there is a functorial isomorphism $\mathop{\mathrm{Hom}}\nolimits _ R(M, N) \cong \mathop{\mathrm{lim}}\nolimits _{i \in I} \mathop{\mathrm{Hom}}\nolimits _ R(M_ i, N)$, so

$0 \to \mathop{\mathrm{Hom}}\nolimits _ R(M, N_1) \to \mathop{\mathrm{Hom}}\nolimits _ R(M, N_2) \to \mathop{\mathrm{Hom}}\nolimits _ R(M, N_3) \to 0$

is exact. $\square$

Remark 10.93.2. Lemma 10.93.1 does not hold without the countable generation assumption. For example, the $\mathbf Z$-module $M = \mathbf{Z}[[x]]$ is flat and Mittag-Leffler but not projective. It is Mittag-Leffler by Lemma 10.91.4. Subgroups of free abelian groups are free, hence a projective $\mathbf Z$-module is in fact free and so are its submodules. Thus to show $M$ is not projective it suffices to produce a non-free submodule. Fix a prime $p$ and consider the submodule $N$ consisting of power series $f(x) = \sum a_ i x^ i$ such that for every integer $m \geq 1$, $p^ m$ divides $a_ i$ for all but finitely many $i$. Then $\sum a_ i p^ i x^ i$ is in $N$ for all $a_ i \in \mathbf{Z}$, so $N$ is uncountable. Thus if $N$ were free it would have uncountable rank and the dimension of $N/pN$ over $\mathbf{Z}/p$ would be uncountable. This is not true as the elements $x^ i \in N/pN$ for $i \geq 0$ span $N/pN$.

Theorem 10.93.3. Let $M$ be an $R$-module. Then $M$ is projective if and only it satisfies:

1. $M$ is flat,

2. $M$ is Mittag-Leffler,

3. $M$ is a direct sum of countably generated $R$-modules.

Proof. First suppose $M$ is projective. Then $M$ is a direct summand of a free module, so $M$ is flat and Mittag-Leffler since these properties pass to direct summands. By Kaplansky's theorem (Theorem 10.84.5), $M$ satisfies (3).

Conversely, suppose $M$ satisfies (1)-(3). Since being flat and Mittag-Leffler passes to direct summands, $M$ is a direct sum of flat, Mittag-Leffler, countably generated $R$-modules. Lemma 10.93.1 implies $M$ is a direct sum of projective modules. Hence $M$ is projective. $\square$

Lemma 10.93.4. Let $f: M \to N$ be universally injective map of $R$-modules. Suppose $M$ is a direct sum of countably generated $R$-modules, and suppose $N$ is flat and Mittag-Leffler. Then $M$ is projective.

Proof. By Lemmas 10.82.7 and 10.89.7, $M$ is flat and Mittag-Leffler, so the conclusion follows from Theorem 10.93.3. $\square$

Lemma 10.93.5. Let $R$ be a Noetherian ring and let $M$ be a $R$-module. Suppose $M$ is a direct sum of countably generated $R$-modules, and suppose there is a universally injective map $M \to R[[t_1, \ldots , t_ n]]$ for some $n$. Then $M$ is projective.

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