Algebraic properties of dual numbers #
Main results #
DualNumber.instLocalRing: The dual numbers over a fieldKform a local ring.DualNumber.instPrincipalIdealRing: The dual numbers over a fieldKform a principal ideal ring.
theorem TrivSqZeroExt.isNilpotent_iff_isNilpotent_fst {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] {x : TrivSqZeroExt R M} :
@[simp]
theorem TrivSqZeroExt.isNilpotent_inl_iff {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (r : R) :
@[simp]
theorem TrivSqZeroExt.isNilpotent_inr {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : M) :
IsNilpotent (inr x)
theorem TrivSqZeroExt.isUnit_or_isNilpotent_of_isMaximal_isNilpotent {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [IsCentralScalar R M] (h : ∀ (I : Ideal R), I.IsMaximal → IsNilpotent I) (a : TrivSqZeroExt R M) :
theorem TrivSqZeroExt.isUnit_or_isNilpotent {R : Type u_1} {M : Type u_2} [DivisionSemiring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (a : TrivSqZeroExt R M) :
theorem DualNumber.exists_mul_left_or_mul_right {K : Type u_2} [DivisionRing K] (a b : DualNumber K) :