NoZeroSMulDivisors
#
This file defines the NoZeroSMulDivisors
class, and includes some tests
for the vanishing of elements (especially in modules over division rings).
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.
Alias of the forward direction of noZeroSMulDivisors_nat_iff_isAddTorsionFree
.
Alias of the forward direction of noZeroSMulDivisors_int_iff_isAddTorsionFree
.