Idempotent elements of a ring #
This file proves result about idempotent elements of a ring, like:
IsIdempotentElem.one_sub_iff: In a (non-associative) ring,ais an idempotent if and only if1 - ais an idempotent.
theorem IsIdempotentElem.one_sub {R : Type u_1} [NonAssocRing R] {a : R} (h : IsIdempotentElem a) :
IsIdempotentElem (1 - a)
@[simp]
@[simp]
theorem IsIdempotentElem.mul_one_sub_self {R : Type u_1} [NonAssocRing R] {a : R} (h : IsIdempotentElem a) :
@[simp]
theorem IsIdempotentElem.one_sub_mul_self {R : Type u_1} [NonAssocRing R] {a : R} (h : IsIdempotentElem a) :
@[instance_reducible]
@[simp]
theorem IsIdempotentElem.coe_compl {R : Type u_1} [NonAssocRing R] (a : { a : R // IsIdempotentElem a }) :
@[simp]
theorem IsIdempotentElem.compl_compl {R : Type u_1} [NonAssocRing R] (a : { a : R // IsIdempotentElem a }) :
theorem IsIdempotentElem.add_sub_mul_of_commute {R : Type u_1} [NonUnitalRing R] {a b : R} (h : Commute a b) (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) :
IsIdempotentElem (a + b - a * b)
theorem IsIdempotentElem.add_sub_mul {R : Type u_1} [CommRing R] {a b : R} (hp : IsIdempotentElem a) (hq : IsIdempotentElem b) :
IsIdempotentElem (a + b - a * b)
theorem IsIdempotentElem.add {R : Type u_1} [NonUnitalNonAssocSemiring R] {a b : R} (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) (hab : a * b + b * a = 0) :
IsIdempotentElem (a + b)
a + b is idempotent when a and b anti-commute.
theorem IsIdempotentElem.add_iff {R : Type u_1} [NonUnitalNonAssocSemiring R] [IsCancelAdd R] {a b : R} (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) :
a + b is idempotent if and only if a and b anti-commute.
theorem IsIdempotentElem.sub {R : Type u_1} [NonUnitalNonAssocRing R] {a b : R} (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) (hab : a * b = a) (hba : b * a = a) :
IsIdempotentElem (b - a)
b - a is idempotent when a * b = a and b * a = a.
theorem IsIdempotentElem.mul_eq_zero_of_anticommute {R : Type u_1} {a b : R} [NonUnitalSemiring R] [HasUniqueDiv R] (ha : IsIdempotentElem a) (hab : a * b + b * a = 0) :
If idempotent a and element b anti-commute, then their product is zero.
theorem IsIdempotentElem.commute_of_anticommute {R : Type u_1} {a b : R} [NonUnitalSemiring R] [HasUniqueDiv R] (ha : IsIdempotentElem a) (hab : a * b + b * a = 0) :
Commute a b
If idempotent a and element b anti-commute, then they commute.
So anti-commutativity implies commutativity when one of them is idempotent.
theorem IsIdempotentElem.sub_iff {R : Type u_1} [NonUnitalRing R] [HasUniqueDiv R] {p q : R} (hp : IsIdempotentElem p) (hq : IsIdempotentElem q) :