Documentation

Mathlib.Algebra.Ring.NonZeroDivisors

Non-zero divisors in a ring #

theorem IsLeftRegular.isUnit_of_finite {R : Type u_1} [Monoid R] [Finite R] {r : R} (h : IsLeftRegular r) :
theorem IsRightRegular.isUnit_of_finite {R : Type u_1} [Monoid R] [Finite R] {r : R} (h : IsRightRegular r) :
theorem le_nonZeroDivisors_iff_isRegular {R : Type u_1} [Ring R] {S : Submonoid R} :
S ≤ nonZeroDivisors R ↔ ∀ (s : ↥S), IsRegular ↑s
@[deprecated isLeftRegular_iff_mem_nonZeroDivisorsLeft (since := "2025-07-16")]

Alias of isLeftRegular_iff_mem_nonZeroDivisorsLeft.

@[deprecated isRightRegular_iff_mem_nonZeroDivisorsRight (since := "2025-07-16")]

Alias of isRightRegular_iff_mem_nonZeroDivisorsRight.

@[deprecated le_nonZeroDivisorsRight_iff_isRightRegular (since := "2025-07-16")]
theorem le_nonZeroDivisors_iff_isRightRegular {R : Type u_1} [Ring R] {S : Submonoid R} :
S ≤ nonZeroDivisorsRight R ↔ ∀ (s : ↥S), IsRightRegular ↑s

Alias of le_nonZeroDivisorsRight_iff_isRightRegular.

theorem mul_cancel_left_mem_nonZeroDivisorsLeft {R : Type u_1} [Ring R] {x y r : R} (hr : r ∈ nonZeroDivisorsLeft R) :
r * x = r * y ↔ x = y
theorem mul_cancel_right_mem_nonZeroDivisorsRight {R : Type u_1} [Ring R] {x y r : R} (hr : r ∈ nonZeroDivisorsRight R) :
x * r = y * r ↔ x = y
@[simp]
theorem mul_cancel_left_mem_nonZeroDivisors {R : Type u_1} [Ring R] {x y r : R} (hr : r ∈ nonZeroDivisors R) :
r * x = r * y ↔ x = y
theorem mul_cancel_left_coe_nonZeroDivisors {R : Type u_1} [Ring R] {x y : R} {c : ↥(nonZeroDivisors R)} :
↑c * x = ↑c * y ↔ x = y
theorem mul_cancel_right_mem_nonZeroDivisors {R : Type u_1} [Ring R] {x y r : R} (hr : r ∈ nonZeroDivisors R) :
x * r = y * r ↔ x = y
theorem mul_cancel_right_coe_nonZeroDivisors {R : Type u_1} [Ring R] {x y : R} {c : ↥(nonZeroDivisors R)} :
x * ↑c = y * ↑c ↔ x = y

In a finite ring, an element is a unit iff it is a non-zero-divisor.

theorem dvd_cancel_left_mem_nonZeroDivisors {R : Type u_1} [Ring R] {x y r : R} (hr : r ∈ nonZeroDivisors R) :
r * x ∣ r * y ↔ x ∣ y
theorem dvd_cancel_left_coe_nonZeroDivisors {R : Type u_1} [Ring R] {x y : R} {c : ↥(nonZeroDivisors R)} :
↑c * x ∣ ↑c * y ↔ x ∣ y
theorem dvd_cancel_right_mem_nonZeroDivisors {R : Type u_1} [CommRing R] {r x y : R} (hr : r ∈ nonZeroDivisors R) :
x * r ∣ y * r ↔ x ∣ y
theorem dvd_cancel_right_coe_nonZeroDivisors {R : Type u_1} [CommRing R] {x y : R} {c : ↥(nonZeroDivisors R)} :
x * ↑c ∣ y * ↑c ↔ x ∣ y