Skip to content

Commit 48e53ad

Browse files
committed
feat(Algebra/Star/StarProjection): add IsStarProjection.map (#35898)
and attribute `IsStarProjection.{isIdempotentElem, isSelfAdjoint}` with `aesop` and `grind`.
1 parent 1423e7a commit 48e53ad

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

Mathlib/Algebra/Star/StarProjection.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ structure IsStarProjection [Mul R] [Star R] (p : R) : Prop where
2828
protected isIdempotentElem : IsIdempotentElem p
2929
protected isSelfAdjoint : IsSelfAdjoint p
3030

31+
attribute [grind →, aesop safe forward]
32+
IsStarProjection.isIdempotentElem IsStarProjection.isSelfAdjoint
33+
3134
namespace IsStarProjection
3235

3336
variable {p q : R}
@@ -40,6 +43,12 @@ theorem isStarNormal [Mul R] [Star R]
4043
(hp : IsStarProjection p) : IsStarNormal p :=
4144
hp.isSelfAdjoint.isStarNormal
4245

46+
protected theorem map {A B : Type*} [Mul A] [Star A] [Mul B] [Star B]
47+
{F : Type*} [FunLike F A B] [StarHomClass F A B] [MulHomClass F A B]
48+
{x : A} (hx : IsStarProjection x) (f : F) : IsStarProjection (f x) where
49+
isIdempotentElem := hx.isIdempotentElem.map f
50+
isSelfAdjoint := hx.isSelfAdjoint.map f
51+
4352
variable (R) in
4453
@[simp]
4554
protected theorem zero [NonUnitalNonAssocSemiring R] [StarAddMonoid R] : IsStarProjection (0 : R) :=

0 commit comments

Comments
 (0)