Documentation

Mathlib.Algebra.Group.Idempotent

Idempotents #

This file defines idempotents for an arbitrary multiplication and proves some basic results, including:

Tags #

projection, idempotent

def IsIdempotentElem {M : Type u_1} [Mul M] (a : M) :

An element a is said to be idempotent if a * a = a.

Equations
Instances For
    theorem IsIdempotentElem.of_isIdempotent {M : Type u_1} [Mul M] [Std.IdempotentOp fun (x1 x2 : M) => x1 * x2] (a : M) :
    theorem IsIdempotentElem.eq {M : Type u_1} [Mul M] {a : M} (ha : IsIdempotentElem a) :
    a * a = a
    theorem IsIdempotentElem.mul_of_commute {S : Type u_3} [Semigroup S] {a b : S} (hab : Commute a b) (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) :
    theorem IsIdempotentElem.mul {S : Type u_3} [CommSemigroup S] {a b : S} (ha : IsIdempotentElem a) (hb : IsIdempotentElem b) :
    Equations
    @[simp]
    theorem IsIdempotentElem.coe_one {M : Type u_1} [MulOneClass M] :
    1 = 1
    theorem IsIdempotentElem.pow {M : Type u_1} [Monoid M] {a : M} (n : ) (h : IsIdempotentElem a) :
    theorem IsIdempotentElem.pow_succ_eq {M : Type u_1} [Monoid M] {a : M} (n : ) (h : IsIdempotentElem a) :
    a ^ (n + 1) = a
    @[simp]
    theorem IsIdempotentElem.iff_eq_one {M : Type u_1} [CancelMonoid M] {a : M} :
    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) :