Theorem 10.81.4 (Lazard's theorem). Let M be an R-module. Then M is flat if and only if it is the colimit of a directed system of free finite R-modules.
Proof. A colimit of a directed system of flat modules is flat, as taking directed colimits is exact and commutes with tensor product. Hence if M is the colimit of a directed system of free finite modules then M is flat.
For the converse, first recall that any module M can be written as the colimit of a directed system of finitely presented modules, in the following way. Choose a surjection f: R^ I \to M for some set I, and let K be the kernel. Let E be the set of ordered pairs (J, N) where J is a finite subset of I and N is a finitely generated submodule of R^ J \cap K. Then E is made into a directed partially ordered set by defining (J, N) \leq (J', N') if and only if J \subset J' and N \subset N'. Define M_ e = R^ J/N for e = (J, N), and define f_{ee'}: M_ e \to M_{e'} to be the natural map for e \leq e'. Then (M_ e, f_{ee'}) is a directed system and the natural maps f_ e: M_ e \to M induce an isomorphism \mathop{\mathrm{colim}}\nolimits _{e \in E} M_ e \xrightarrow {\cong } M.
Now suppose M is flat. Let I = M \times \mathbf{Z}, write (x_ i) for the canonical basis of R^{I}, and take in the above discussion f: R^ I \to M to be the map sending x_ i to the projection of i onto M. To prove the theorem it suffices to show that the e \in E such that M_ e is free form a cofinal subset of E. So let e = (J, N) \in E be arbitrary. By Lemma 10.81.2 there is a free finite module F and maps h: R^ J/N \to F and g: F \to M such that the natural map f_ e: R^ J/N \to M factors as R^ J/N \xrightarrow {h} F \xrightarrow {g} M. We are going to realize F as M_{e'} for some e' \geq e.
Let \{ b_1, \ldots , b_ n \} be a finite basis of F. Choose n distinct elements i_1, \ldots , i_ n \in I such that i_{\ell } \notin J for all \ell , and such that the image of x_{i_{\ell }} under f: R^ I \to M equals the image of b_{\ell } under g: F \to M. This is possible since every element of M can be written as f(x_ i) for infinitely many distinct i \in I (by our choice of I). Now let J' = J \cup \{ i_1, \ldots , i_ n \} , and define R^{J'} \to F by x_ i \mapsto h(x_ i) for i \in J and x_{i_{\ell }} \mapsto b_{\ell } for \ell = 1, \ldots , n. Let N' = \mathop{\mathrm{Ker}}(R^{J'} \to F). Observe:
The square
\xymatrix{ R^{J'} \ar[r] \ar@{^{(}->}[d] & F \ar[d]^{g} \\ R^{I} \ar[r]_{f} & M }is commutative, hence N' \subset K = \mathop{\mathrm{Ker}}(f);
R^{J'} \to F is a surjection onto a free finite module, hence it splits and so N' is finitely generated;
J \subset J' and N \subset N'.
By (1) and (2) e' = (J', N') is in E, by (3) e' \geq e, and by construction M_{e'} = R^{J'}/N' \cong F is free. \square
Comments (1)
Comment #5032 by Laurent Moret-Bailly on