3030 ## TODO
3131
3232- Explicitly construct a unit norm cyclic vector ζ such that
33- a ↦ ⟨(f.gns(NonUnital)StarAlgHom a) \* ζ, , ζ⟩ is a state on `A` for both unital and non-unital
33+ a ↦ ⟨(f.gns(NonUnital)StarAlgHom a) \* ζ, ζ⟩ is a state on `A` for both unital and non-unital
3434 cases.
3535
3636 -/
@@ -93,10 +93,8 @@ lemma preGNS_norm_def (a : f.PreGNS) :
9393
9494lemma preGNS_norm_sq (a : f.PreGNS) :
9595 ‖a‖ ^ 2 = f (star (f.ofPreGNS a) * f.ofPreGNS a) := by
96- have : 0 ≤ f (star (f.ofPreGNS a) * f.ofPreGNS a) := map_nonneg f <| star_mul_self_nonneg _
97- rw [preGNS_norm_def, ← ofReal_pow, Real.sq_sqrt]
98- · rw [conj_eq_iff_re.mp this.star_eq]
99- · rwa [re_nonneg_iff_nonneg this.isSelfAdjoint]
96+ have : 0 ≤ f (star (f.ofPreGNS a) * f.ofPreGNS a) := f.map_nonneg (star_mul_self_nonneg _)
97+ simp [preGNS_norm_def, ← ofReal_pow, Real.sq_sqrt this.1 , conj_eq_iff_re.mp this.star_eq]
10098
10199/--
102100The Hilbert space constructed from a positive linear functional on a C⋆-algebra.
@@ -131,38 +129,43 @@ lemma leftMulMapPreGNS_mul_eq_comp (a b : A) :
131129 f.leftMulMapPreGNS (a * b) = f.leftMulMapPreGNS a ∘L f.leftMulMapPreGNS b := by
132130 ext c; simp [mul_assoc]
133131
132+ set_option backward.isDefEq.respectTransparency false in
133+ /--
134+ This proves map_smul' of gnsNonUnitalStarAlgHom so that map_zero' can be proven as a direct
135+ consequence.
136+ -/
137+ @[simp]
138+ private lemma completion_leftMulMapPreGNS_map_smul (m : ℂ) (x : A) :
139+ (f.leftMulMapPreGNS (m • x)).completion = m • (f.leftMulMapPreGNS x).completion := by
140+ ext a
141+ induction a using induction_on with
142+ | hp => apply isClosed_eq <;> fun_prop
143+ | ih a => simp [smul_mul_assoc]
144+
134145/--
135146The non-unital ⋆-homomorphism/⋆-representation of `A` into the algebra of bounded operators on
136147a Hilbert space that is constructed from a positive linear functional `f` on a possibly non-unital
137148C⋆-algebra.
138149-/
139150noncomputable def gnsNonUnitalStarAlgHom : A →⋆ₙₐ[ℂ] (f.GNS →L[ℂ] f.GNS) where
140151 toFun a := (f.leftMulMapPreGNS a).completion
141- map_smul' r a := by
142- ext x
143- induction x using Completion.induction_on with
144- | hp => apply isClosed_eq <;> fun_prop
145- | ih x => simp [smul_mul_assoc]
146- map_zero' := by
147- ext b
148- induction b using Completion.induction_on with
149- | hp => apply isClosed_eq <;> fun_prop
150- | ih b => simp [Completion.coe_zero]
151- map_add' x y := by
152+ map_smul' := by simp
153+ map_zero' := by simpa using f.completion_leftMulMapPreGNS_map_smul 0 0
154+ map_add' _ _ := by
152155 ext c
153- induction c using Completion. induction_on with
156+ induction c using induction_on with
154157 | hp => apply isClosed_eq <;> fun_prop
155158 | ih c => simp [add_mul, Completion.coe_add]
156- map_mul' a b := by
159+ map_mul' _ _ := by
157160 ext c
158- induction c using Completion. induction_on with
161+ induction c using induction_on with
159162 | hp => apply isClosed_eq <;> fun_prop
160163 | ih c => simp
161164 map_star' a := by
162165 refine (eq_adjoint_iff (f.leftMulMapPreGNS (star a)).completion
163166 (f.leftMulMapPreGNS a).completion).mpr ?_
164167 intro x y
165- induction x, y using Completion. induction_on₂ with
168+ induction x, y using induction_on₂ with
166169 | hp => apply isClosed_eq <;> fun_prop
167170 | ih x y => simp [mul_assoc, preGNS_inner_def]
168171
@@ -180,7 +183,7 @@ set_option backward.isDefEq.respectTransparency false in
180183@[simp]
181184private lemma gnsNonUnitalStarAlgHom_map_one : f.gnsNonUnitalStarAlgHom 1 = 1 := by
182185 ext b
183- induction b using Completion. induction_on with
186+ induction b using induction_on with
184187 | hp => apply isClosed_eq <;> fun_prop
185188 | ih b => simp [gnsNonUnitalStarAlgHom]
186189
0 commit comments