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
.)
A star projection is a self-adjoint idempotent.
- isIdempotentElem : IsIdempotentElem p
- isSelfAdjoint : IsSelfAdjoint p
Instances For
theorem
IsStarProjection.isStarNormal
{R : Type u_1}
{p : R}
[Mul R]
[Star R]
(hp : IsStarProjection p)
:
@[simp]
@[simp]
theorem
IsStarProjection.pow_eq
{R : Type u_1}
{p : R}
[Monoid R]
[Star R]
(hp : IsStarProjection p)
{n : ℕ}
(hn : n ≠ 0)
:
theorem
IsStarProjection.pow_succ_eq
{R : Type u_1}
{p : R}
[Monoid R]
[Star R]
(hp : IsStarProjection p)
(n : ℕ)
:
theorem
IsStarProjection.one_sub
{R : Type u_1}
{p : R}
[NonAssocRing R]
[StarRing R]
(hp : IsStarProjection p)
:
IsStarProjection (1 - p)
theorem
IsStarProjection.of_one_sub
{R : Type u_1}
{p : R}
[NonAssocRing R]
[StarRing R]
:
IsStarProjection (1 - p) → IsStarProjection 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)
:
theorem
IsStarProjection.one_sub_mul_self
{R : Type u_1}
{p : R}
[NonAssocRing R]
[Star R]
(hp : IsStarProjection p)
:
theorem
IsStarProjection.add
{R : Type u_1}
{p q : R}
[NonUnitalNonAssocSemiring R]
[StarRing R]
(hp : IsStarProjection p)
(hq : IsStarProjection q)
(hpq : p * q = 0)
:
IsStarProjection (p + q)
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)
:
IsStarProjection (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)