Idempotents #
This file defines idempotents for an arbitrary multiplication and proves some basic results, including:
IsIdempotentElem.mul_of_commute: In a semigroup, the product of two commuting idempotents is an idempotent;IsIdempotentElem.pow_succ_eq: In a monoida ^ (n+1) = aforaan idempotent andna natural number.
Tags #
projection, idempotent
An element a is said to be idempotent if a * a = a.
Equations
- IsIdempotentElem a = (a * a = a)
Instances For
theorem IsIdempotentElem.of_isIdempotent {M : Type u_1} [Mul M] [Std.IdempotentOp fun (x1 x2 : M) => x1 * x2] (a : M) :
theorem IsIdempotentElem.mul_of_commute {S : Type u_3} [Semigroup S] {a b : S} (hab : Commute a b) (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) :
IsIdempotentElem (a * b)
theorem IsIdempotentElem.mul {S : Type u_3} [CommSemigroup S] {a b : S} (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) :
IsIdempotentElem (a * b)
@[instance_reducible]
theorem IsIdempotentElem.pow {M : Type u_1} [Monoid M] {a : M} (n : ℕ) (h : IsIdempotentElem a) :
IsIdempotentElem (a ^ n)
theorem IsIdempotentElem.pow_succ_eq {M : Type u_1} [Monoid M] {a : M} (n : ℕ) (h : IsIdempotentElem a) :
theorem IsIdempotentElem.pow_eq {M : Type u_1} [Monoid M] {a : M} (h : IsIdempotentElem a) {n : ℕ} (hn : n ≠ 0) :
@[simp]
theorem IsIdempotentElem.map {M : Type u_4} {N : Type u_5} {F : Type u_6} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] {e : M} (he : IsIdempotentElem e) (f : F) :
IsIdempotentElem (f e)
theorem IsIdempotentElem.mul_mul_self {M : Type u_4} [Semigroup M] {x : M} (hx : IsIdempotentElem x) (y : M) :
theorem IsIdempotentElem.mul_self_mul {M : Type u_4} [Semigroup M] {x : M} (hx : IsIdempotentElem x) (y : M) :