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)
:
@[deprecated IsRegular.of_ne_zero' (since := "2026-01-21")]
theorem
isRegular_of_ne_zero'
{α : Type u_1}
[NonUnitalNonAssocRing α]
[NoZeroDivisors α]
{k : α}
(hk : k ≠ 0)
:
Alias of IsRegular.of_ne_zero'.
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.