Flat modules #
M is flat if · ⊗ M preserves finite limits (equivalently, pullbacks, or equalizers).
If R is a ring, an R-module M is flat if and only if it is mono-flat, and to show
a module is flat, it suffices to check inclusions of finitely generated ideals into R.
See https://stacks.math.columbia.edu/tag/00HD.
Main theorems #
Module.Flat.iff_characterModule_injective:CharacterModule Mis an injective module iffMis flat.Module.Flat.iff_lTensor_injective,Module.Flat.iff_rTensor_injective,Module.Flat.iff_lTensor_injective',Module.Flat.iff_rTensor_injective': A moduleMover a ringRis flat iff for all (finitely generated) idealsIofR, the tensor product of the inclusionI → Rand the identityM → Mis injective.
Define the character module of M to be M →+ ℚ ⧸ ℤ.
The character module of M is an injective module if and only if
f ⊗ 𝟙 M is injective for any linear map f in the same universe as M.
CharacterModule M is an injective module iff M is flat.
See [Lam64] for a self-contained proof.
CharacterModule M is Baer iff M is flat.
An R-module M is flat iff for all ideals I of R, the tensor product of the
inclusion I → R and the identity M → M is injective. See iff_rTensor_injective to
restrict to finitely generated ideals I.
The lTensor-variant of iff_rTensor_injective'. .
A module M over a ring R is flat iff for all finitely generated ideals I of R, the
tensor product of the inclusion I → R and the identity M → M is injective. See
iff_rTensor_injective' to extend to all ideals I.
The lTensor-variant of iff_rTensor_injective.
An R-module M is flat if for all finitely generated ideals I of R,
the canonical map I ⊗ M →ₗ M is injective.