Nilpotent elements #
This file develops the basic theory of nilpotent elements. In particular it shows that the nilpotent elements are closed under many operations.
For the definition of nilradical
, see Mathlib.RingTheory.Nilpotent.Lemmas
.
Main definitions #
@[simp]
theorem
IsNilpotent.smul
{R : Type u_1}
{S : Type u_2}
[MonoidWithZero R]
[MonoidWithZero S]
[MulActionWithZero R S]
[SMulCommClass R S S]
[IsScalarTower R S S]
{a : S}
(ha : IsNilpotent a)
(t : R)
:
IsNilpotent (t • a)
theorem
IsNilpotent.isUnit_add_left_of_commute
{R : Type u_1}
[Ring R]
{r : R}
{u : R}
(hnil : IsNilpotent r)
(hu : IsUnit u)
(h_comm : Commute r u)
:
theorem
IsNilpotent.isUnit_add_right_of_commute
{R : Type u_1}
[Ring R]
{r : R}
{u : R}
(hnil : IsNilpotent r)
(hu : IsUnit u)
(h_comm : Commute r u)
:
theorem
IsRadical.of_dvd
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x : R}
{y : R}
(hy : IsRadical y)
(h0 : y ≠ 0)
(hxy : x ∣ y)
:
theorem
Commute.isNilpotent_add
{R : Type u_1}
{x : R}
{y : R}
[Semiring R]
(h_comm : Commute x y)
(hx : IsNilpotent x)
(hy : IsNilpotent y)
:
IsNilpotent (x + y)
theorem
Commute.isNilpotent_sum
{R : Type u_1}
[Semiring R]
{ι : Type u_3}
{s : Finset ι}
{f : ι → R}
(hnp : ∀ i ∈ s, IsNilpotent (f i))
(h_comm : ∀ (i j : ι), i ∈ s → j ∈ s → Commute (f i) (f j))
:
IsNilpotent (Finset.sum s fun (i : ι) => f i)
theorem
Commute.isNilpotent_mul_left_iff
{R : Type u_1}
{x : R}
{y : R}
[Semiring R]
(h_comm : Commute x y)
(hy : y ∈ nonZeroDivisorsLeft R)
:
IsNilpotent (x * y) ↔ IsNilpotent x
theorem
Commute.isNilpotent_mul_right_iff
{R : Type u_1}
{x : R}
{y : R}
[Semiring R]
(h_comm : Commute x y)
(hx : x ∈ nonZeroDivisorsRight R)
:
IsNilpotent (x * y) ↔ IsNilpotent y
theorem
Commute.isNilpotent_sub
{R : Type u_1}
{x : R}
{y : R}
[Ring R]
(h_comm : Commute x y)
(hx : IsNilpotent x)
(hy : IsNilpotent y)
:
IsNilpotent (x - y)
theorem
isNilpotent_sum
{R : Type u_1}
[CommSemiring R]
{ι : Type u_3}
{s : Finset ι}
{f : ι → R}
(hnp : ∀ i ∈ s, IsNilpotent (f i))
:
IsNilpotent (Finset.sum s fun (i : ι) => f i)
theorem
NoZeroSMulDivisors.isReduced
(R : Type u_3)
(M : Type u_4)
[MonoidWithZero R]
[Zero M]
[MulActionWithZero R M]
[Nontrivial M]
[NoZeroSMulDivisors R M]
: