Documentation

Mathlib.Algebra.Ring.Idempotent

Idempotent elements of a ring #

This file proves result about idempotent elements of a ring, like:

@[simp]
theorem IsIdempotentElem.mul_one_sub_self {R : Type u_1} [NonAssocRing R] {a : R} (h : IsIdempotentElem a) :
a * (1 - a) = 0
@[simp]
theorem IsIdempotentElem.one_sub_mul_self {R : Type u_1} [NonAssocRing R] {a : R} (h : IsIdempotentElem a) :
(1 - a) * a = 0
@[simp]
theorem IsIdempotentElem.coe_compl {R : Type u_1} [NonAssocRing R] (a : { a : R // IsIdempotentElem a }) :
a = 1 - a
@[simp]
@[simp]
@[simp]
theorem IsIdempotentElem.of_mul_add {R : Type u_1} [Semiring R] {a b : R} (mul : a * b = 0) (add : a + b = 1) :
theorem IsIdempotentElem.add_sub_mul_of_commute {R : Type u_1} [Ring R] {a b : R} (h : Commute a b) (hp : IsIdempotentElem a) (hq : 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) :

a + b is idempotent when a and b anti-commute.

theorem IsIdempotentElem.mul_eq_zero_of_anticommute {R : Type u_1} {a b : R} [NonUnitalSemiring R] [IsAddTorsionFree R] (ha : IsIdempotentElem a) (hab : a * b + b * a = 0) :
a * b = 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] [IsAddTorsionFree R] (ha : IsIdempotentElem a) (hab : a * b + b * a = 0) :

If idempotent a and element b anti-commute, then they commute. So anti-commutativity implies commutativity when one of them is idempotent.