Lemmas about regular elements in rings. #
theorem isLeftRegular_of_non_zero_divisor {α : Type u_1} [NonUnitalNonAssocRing α] (k : α) (h : ∀ (x : α), k * x = 0 → x = 0) :
Left Mul by a k : α over [Ring α] is injective, if k is not a zero divisor.
The typeclass that restricts all terms of α to have this property is NoZeroDivisors.
theorem isRightRegular_of_non_zero_divisor {α : Type u_1} [NonUnitalNonAssocRing α] (k : α) (h : ∀ (x : α), x * k = 0 → x = 0) :
Right Mul by a k : α over [Ring α] is injective, if k is not a zero divisor.
The typeclass that restricts all terms of α to have this property is NoZeroDivisors.
theorem IsRegular.of_ne_zero' {α : Type u_1} [NonUnitalNonAssocRing α] [NoZeroDivisors α] {k : α} (hk : k ≠ 0) :
theorem isRegular_iff_ne_zero' {α : Type u_1} [Nontrivial α] [NonUnitalNonAssocRing α] [NoZeroDivisors α] {k : α} :
theorem NoZeroDivisors.toIsCancelMulZero {α : Type u_1} [NonUnitalNonAssocRing α] [NoZeroDivisors α] :
A ring with no zero divisors is a cancellative MonoidWithZero.
Note this is not an instance as it forms a typeclass loop.