Documentation

Mathlib.Algebra.Star.StarProjection

Star projections #

This file defines star projections, which are self-adjoint idempotents.

In star-ordered rings, star projections are non-negative. (See IsStarProjection.nonneg in Mathlib/Algebra/Order/Star/Basic.lean.)

structure IsStarProjection {R : Type u_1} [Mul R] [Star R] (p : R) :

A star projection is a self-adjoint idempotent.

Instances For
    theorem isStarProjection_iff' {R : Type u_1} {p : R} [Mul R] [Star R] :
    theorem IsStarProjection.isStarNormal {R : Type u_1} {p : R} [Mul R] [Star R] (hp : IsStarProjection p) :
    theorem IsStarProjection.pow_eq {R : Type u_1} {p : R} [Monoid R] [Star R] (hp : IsStarProjection p) {n : } (hn : n 0) :
    p ^ n = p
    theorem IsStarProjection.pow_succ_eq {R : Type u_1} {p : R} [Monoid R] [Star R] (hp : IsStarProjection p) (n : ) :
    p ^ (n + 1) = p

    Alias of the forward direction of isStarProjection_one_sub_iff.

    theorem IsStarProjection.mul_one_sub_self {R : Type u_1} {p : R} [NonAssocRing R] [Star R] (hp : IsStarProjection p) :
    p * (1 - p) = 0
    theorem IsStarProjection.one_sub_mul_self {R : Type u_1} {p : R} [NonAssocRing R] [Star R] (hp : IsStarProjection p) :
    (1 - p) * p = 0
    theorem IsStarProjection.add {R : Type u_1} {p q : R} [NonUnitalNonAssocSemiring R] [StarRing R] (hp : IsStarProjection p) (hq : IsStarProjection q) (hpq : p * q = 0) :

    The sum of star projections is a star projection if their product is 0.

    theorem IsStarProjection.mul {R : Type u_1} {p q : R} [NonUnitalSemiring R] [StarRing R] (hp : IsStarProjection p) (hq : IsStarProjection q) (hpq : Commute p q) :

    The product of star projections is a star projection if they commute.

    theorem IsStarProjection.add_sub_mul_of_commute {R : Type u_1} {p q : R} [Ring R] [StarRing R] (hpq : Commute p q) (hp : IsStarProjection p) (hq : IsStarProjection q) :
    IsStarProjection (p + q - p * q)