Torsion-free modules #
This files defines a torsion-free R-(semi)module M as a (semi)module where scalar multiplication
by a regular element r : R is injective as a map M → M.
In the case of a module (group over a ring), this is equivalent to saying that r • m = 0 for
some r : R, m : M implies that r is a zero-divisor.
If furthermore the base ring is a domain, this is equivalent to the naïve
r • m = 0 ↔ r = 0 ∨ m = 0 definition.
A R-module M is torsion-free if scalar multiplication by an element r : R is injective if
multiplication (on R) by r is.
For domains, this is equivalent to the usual condition of r • m = 0 → r = 0 ∨ m = 0.
See smul_eq_zero.
- isSMulRegular ⦃r : R⦄ : IsRegular r → IsSMulRegular M r
Instances
Alias of Module.IsTorsionFree.isSMulRegular.
Pullback an IsTorsionFree instance along an injective function.
A characteristic zero domain is torsion-free.