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.lean.
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 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 u : R} (hnil : IsNilpotent r) (hu : IsUnit u) (h_comm : Commute r u) :
theorem IsNilpotent.not_isUnit {R : Type u_1} [Ring R] [Nontrivial R] {x : R} (hx : IsNilpotent x) :
theorem IsIdempotentElem.eq_zero_of_isNilpotent {R : Type u_1} [MonoidWithZero R] {e : R} (idem : IsIdempotentElem e) (nilp : IsNilpotent e) :
theorem IsNilpotent.eq_zero_of_isIdempotentElem {R : Type u_1} [MonoidWithZero R] {e : R} (idem : IsIdempotentElem e) (nilp : IsNilpotent e) :
Alias of IsIdempotentElem.eq_zero_of_isNilpotent.
theorem IsRadical.of_dvd {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x y : R} (hy : IsRadical y) (h0 : y ≠ 0) (hxy : x ∣ y) :
theorem Commute.isNilpotent_add {R : Type u_1} {x 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 (∑ i ∈ s, f i)
theorem Commute.isNilpotent_finsum {R : Type u_1} [Semiring R] {ι : Type u_3} {f : ι → R} (hf : ∀ (b : ι), IsNilpotent (f b)) (h_comm : ∀ (i j : ι), Commute (f i) (f j)) :
IsNilpotent (finsum f)
theorem Commute.isNilpotent_mul_right_iff {R : Type u_1} {x y : R} [Semiring R] (h_comm : Commute x y) (hy : y ∈ nonZeroDivisorsRight R) :
theorem Commute.isNilpotent_mul_left_iff {R : Type u_1} {x y : R} [Semiring R] (h_comm : Commute x y) (hx : x ∈ nonZeroDivisorsLeft R) :
theorem Commute.isNilpotent_sub {R : Type u_1} {x 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 (∑ i ∈ s, f i)
theorem isNilpotent_finsum {R : Type u_1} [CommSemiring R] {ι : Type u_3} {f : ι → R} (hf : ∀ (b : ι), IsNilpotent (f b)) :
IsNilpotent (finsum f)