88public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order
99public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Isometric
1010
11+ import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Projection
12+
1113/-!
1214
1315# Projections in C⋆-algebras
@@ -31,10 +33,17 @@ public section
3133
3234open scoped CStarAlgebra
3335
34- section Normal
36+ section NonUnital
37+ variable {A : Type *} [TopologicalSpace A] [NonUnitalRing A] [StarRing A]
38+
39+ lemma isStarProjection_iff_quasispectrum_subset_and_isSelfAdjoint [Module ℝ A] [IsScalarTower ℝ A A]
40+ [SMulCommClass ℝ A A] [NonUnitalContinuousFunctionalCalculus ℝ A IsSelfAdjoint] {p : A} :
41+ IsStarProjection p ↔ quasispectrum ℝ p ⊆ {0 , 1 } ∧ IsSelfAdjoint p :=
42+ (isStarProjection_iff p).eq ▸
43+ and_congr_left_iff.mpr fun h ↦ isIdempotentElem_iff_quasispectrum_subset ℝ p h
3544
36- variable {A : Type *} [TopologicalSpace A]
37- [NonUnitalRing A] [StarRing A] [Module ℂ A] [IsScalarTower ℂ A A] [SMulCommClass ℂ A A]
45+ section Normal
46+ variable [Module ℂ A] [IsScalarTower ℂ A A] [SMulCommClass ℂ A A]
3847 [NonUnitalContinuousFunctionalCalculus ℂ A IsStarNormal]
3948
4049/-- An idempotent element in a non-unital C⋆-algebra is self-adjoint iff it is normal. -/
@@ -43,15 +52,38 @@ theorem IsIdempotentElem.isSelfAdjoint_iff_isStarNormal {p : A} (hp : IsIdempote
4352 simp only [isSelfAdjoint_iff_isStarNormal_and_quasispectrumRestricts,
4453 QuasispectrumRestricts.real_iff, and_iff_left_iff_imp]
4554 intro h x hx
46- rcases hp.quasispectrum_subset hx with (hx | hx) <;> simp [Set.mem_singleton_iff.mp hx]
55+ rcases hp.quasispectrum_subset _ hx with (hx | hx) <;> simp [Set.mem_singleton_iff.mp hx]
4756
4857/-- An element in a non-unital C⋆-algebra is a star projection
4958if and only if it is idempotent and normal. -/
5059theorem isStarProjection_iff_isIdempotentElem_and_isStarNormal {p : A} :
5160 IsStarProjection p ↔ IsIdempotentElem p ∧ IsStarNormal p :=
5261 (isStarProjection_iff p).eq ▸ and_congr_right_iff.eq ▸ fun h => h.isSelfAdjoint_iff_isStarNormal
5362
63+ theorem isStarProjection_iff_quasispectrum_subset_and_isStarNormal {p : A} :
64+ IsStarProjection p ↔ quasispectrum ℂ p ⊆ {0 , 1 } ∧ IsStarNormal p :=
65+ isStarProjection_iff_isIdempotentElem_and_isStarNormal (p := p).eq ▸
66+ and_congr_left_iff.mpr fun h ↦ isIdempotentElem_iff_quasispectrum_subset ℂ p h
67+
5468end Normal
69+ end NonUnital
70+
71+ section Unital
72+ variable {A : Type *} [TopologicalSpace A] [Ring A] [StarRing A]
73+
74+ lemma isStarProjection_iff_spectrum_subset_and_isSelfAdjoint [Algebra ℝ A]
75+ [NonUnitalContinuousFunctionalCalculus ℝ A IsSelfAdjoint] {p : A} :
76+ IsStarProjection p ↔ spectrum ℝ p ⊆ {0 , 1 } ∧ IsSelfAdjoint p :=
77+ (isStarProjection_iff p).eq ▸
78+ and_congr_left_iff.mpr fun h ↦ isIdempotentElem_iff_spectrum_subset ℝ p h
79+
80+ theorem isStarProjection_iff_spectrum_subset_and_isStarNormal [Algebra ℂ A]
81+ [NonUnitalContinuousFunctionalCalculus ℂ A IsStarNormal] {p : A} :
82+ IsStarProjection p ↔ spectrum ℂ p ⊆ {0 , 1 } ∧ IsStarNormal p :=
83+ isStarProjection_iff_isIdempotentElem_and_isStarNormal (p := p).eq ▸
84+ and_congr_left_iff.mpr fun h ↦ isIdempotentElem_iff_spectrum_subset ℂ p h
85+
86+ end Unital
5587
5688namespace IsStarProjection
5789
0 commit comments