Documentation

Mathlib.RingTheory.Nilpotent.Basic

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 #

theorem IsNilpotent.neg {R : Type u_1} {x : R} [Ring R] (h : IsNilpotent x) :
@[simp]
theorem isNilpotent_neg_iff {R : Type u_1} {x : R} [Ring R] :
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) :
theorem IsNilpotent.isUnit_sub_one {R : Type u_1} [Ring R] {r : R} (hnil : IsNilpotent r) :
IsUnit (r - 1)
theorem IsNilpotent.isUnit_one_sub {R : Type u_1} [Ring R] {r : R} (hnil : IsNilpotent r) :
IsUnit (1 - r)
theorem IsNilpotent.isUnit_add_one {R : Type u_1} [Ring R] {r : R} (hnil : IsNilpotent r) :
IsUnit (r + 1)
theorem IsNilpotent.isUnit_one_add {R : Type u_1} [Ring R] {r : R} (hnil : IsNilpotent r) :
IsUnit (1 + r)
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) :
IsUnit (u + r)
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) :
IsUnit (r + u)
instance instIsReducedProdInstZeroPowNat {R : Type u_1} {S : Type u_2} [Zero R] [Pow R ] [Zero S] [Pow S ] [IsReduced R] [IsReduced S] :
Equations
  • =
theorem Prime.isRadical {R : Type u_1} [CommMonoidWithZero R] {y : R} (hy : Prime y) :
theorem isReduced_iff_pow_one_lt {R : Type u_1} [MonoidWithZero R] (k : ) (hk : 1 < k) :
IsReduced R ∀ (x : R), x ^ k = 0x = 0
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.add_pow_eq_zero_of_add_le_succ_of_pow_eq_zero {R : Type u_1} {x : R} {y : R} [Semiring R] (h_comm : Commute x y) {m : } {n : } {k : } (hx : x ^ m = 0) (hy : y ^ n = 0) (h : m + n k + 1) :
(x + y) ^ k = 0
theorem Commute.add_pow_add_eq_zero_of_pow_eq_zero {R : Type u_1} {x : R} {y : R} [Semiring R] (h_comm : Commute x y) {m : } {n : } (hx : x ^ m = 0) (hy : y ^ n = 0) :
(x + y) ^ (m + n - 1) = 0
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) :
theorem Commute.isNilpotent_sum {R : Type u_1} [Semiring R] {ι : Type u_3} {s : Finset ι} {f : ιR} (hnp : is, IsNilpotent (f i)) (h_comm : ∀ (i j : ι), i sj sCommute (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) :
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) :
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) :
theorem isNilpotent_sum {R : Type u_1} [CommSemiring R] {ι : Type u_3} {s : Finset ι} {f : ιR} (hnp : is, IsNilpotent (f i)) :
IsNilpotent (Finset.sum s fun (i : ι) => f i)