Non-zero divisors in a ring #
theorem
IsLeftRegular.pow_injective
{R : Type u_1}
[Monoid R]
{r : R}
[IsMulTorsionFree R]
(hx : IsLeftRegular r)
(hx' : r β 1)
:
Function.Injective fun (n : β) => r ^ n
theorem
IsAddLeftRegular.nsmul_injective
{R : Type u_1}
[AddMonoid R]
{r : R}
[IsAddTorsionFree R]
(hx : IsAddLeftRegular r)
(hx' : r β 0)
:
Function.Injective fun (n : β) => n β’ r
theorem
IsRightRegular.pow_injective
{M : Type u_2}
[Monoid M]
[IsMulTorsionFree M]
{x : M}
(hx : IsRightRegular x)
(hx' : x β 1)
:
Function.Injective fun (n : β) => x ^ n
theorem
IsAddRightRegular.nsmul_injective
{M : Type u_2}
[AddMonoid M]
[IsAddTorsionFree M]
{x : M}
(hx : IsAddRightRegular x)
(hx' : x β 0)
:
Function.Injective fun (n : β) => n β’ x
theorem
IsMulTorsionFree.pow_right_injective
{M : Type u_2}
[CancelMonoid M]
[IsMulTorsionFree M]
{x : M}
(hx : x β 1)
:
Function.Injective fun (n : β) => x ^ n
@[simp]
theorem
IsMulTorsionFree.pow_right_inj
{M : Type u_2}
[CancelMonoid M]
[IsMulTorsionFree M]
{x : M}
(hx : x β 1)
{n m : β}
:
x ^ n = x ^ m β n = m
theorem
IsMulTorsionFree.pow_right_injectiveβ
{M : Type u_2}
[MonoidWithZero M]
[IsLeftCancelMulZero M]
[IsMulTorsionFree M]
{x : M}
(hx : x β 1)
(hx' : x β 0)
:
Function.Injective fun (n : β) => x ^ n
@[simp]
theorem
IsMulTorsionFree.pow_right_injβ
{M : Type u_2}
[MonoidWithZero M]
[IsLeftCancelMulZero M]
[IsMulTorsionFree M]
{x : M}
(hx : x β 1)
(hx' : x β 0)
{n m : β}
:
x ^ n = x ^ m β n = m
theorem
IsLeftRegular.isUnit_of_finite
{R : Type u_1}
[Monoid R]
{r : R}
[Finite R]
(h : IsLeftRegular r)
:
IsUnit r
theorem
IsRightRegular.isUnit_of_finite
{R : Type u_1}
[Monoid R]
{r : R}
[Finite R]
(h : IsRightRegular r)
:
IsUnit r
theorem
isLeftRegular_iff_mem_nonZeroDivisorsLeft
{R : Type u_1}
[Ring R]
{r : R}
:
IsLeftRegular r β r β nonZeroDivisorsLeft R
theorem
isRightRegular_iff_mem_nonZeroDivisorsRight
{R : Type u_1}
[Ring R]
{r : R}
:
IsRightRegular r β r β nonZeroDivisorsRight R
theorem
isRegular_iff_mem_nonZeroDivisors
{R : Type u_1}
[Ring R]
{r : R}
:
IsRegular r β r β nonZeroDivisors R
theorem
le_nonZeroDivisorsLeft_iff_isLeftRegular
{R : Type u_1}
[Ring R]
{S : Submonoid R}
:
S β€ nonZeroDivisorsLeft R β β (s : β₯S), IsLeftRegular βs
theorem
le_nonZeroDivisorsRight_iff_isRightRegular
{R : Type u_1}
[Ring R]
{S : Submonoid R}
:
S β€ nonZeroDivisorsRight R β β (s : β₯S), IsRightRegular βs
theorem
le_nonZeroDivisors_iff_isRegular
{R : Type u_1}
[Ring R]
{S : Submonoid R}
:
S β€ nonZeroDivisors R β β (s : β₯S), IsRegular βs
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
theorem
isUnit_iff_mem_nonZeroDivisors_of_finite
{R : Type u_1}
[Ring R]
{a : R}
[Finite R]
:
IsUnit a β a β nonZeroDivisors R
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