NoZeroSMulDivisors #
This file defines the NoZeroSMulDivisors class, and includes some tests
for the vanishing of elements (especially in modules over division rings).
Usage notes #
Note that NoZeroSMulDivisors is deprecated in favor of Module.IsTorsionFree, which is the
mathematically correct generalisation to semimodules.
NoZeroSMulDivisors R M states that a scalar multiple is 0 only if either argument is 0.
This is a version of saying that M is torsion free, without assuming R is zero-divisor free.
The main application of NoZeroSMulDivisors R M, when M is a module,
is the result smul_eq_zero: a scalar multiple is 0 iff either argument is 0.
It is a generalization of the NoZeroDivisors class to heterogeneous multiplication.
If scalar multiplication yields zero, either the scalar or the vector was zero.
Instances
Pullback a NoZeroSMulDivisors instance along an injective function.