Skip to content

Commit e9ba370

Browse files
committed
chore: minor edits to GNS construction files (leanprover-community#37322)
Co-authored-by: Gregory Wickham <gwickham99@gmail.com>
1 parent db1186d commit e9ba370

2 files changed

Lines changed: 26 additions & 23 deletions

File tree

Mathlib/Analysis/CStarAlgebra/GelfandNaimarkSegal.lean

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ space.
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

9494
lemma 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
/--
102100
The 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
/--
135146
The non-unital ⋆-homomorphism/⋆-representation of `A` into the algebra of bounded operators on
136147
a Hilbert space that is constructed from a positive linear functional `f` on a possibly non-unital
137148
C⋆-algebra.
138149
-/
139150
noncomputable 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]
181184
private 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

Mathlib/Topology/Algebra/LinearMapCompletion.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ lifted to a continuous semilinear map between the completions of those modules.
2424

2525
namespace ContinuousLinearMap
2626

27-
open UniformSpace UniformSpace.Completion
27+
open UniformSpace Completion
2828

2929
variable {α β : Type*} {R₁ R₂ : Type*} [UniformSpace α] [AddCommGroup α] [IsUniformAddGroup α]
3030
[Semiring R₁] [Module R₁ α] [UniformContinuousConstSMul R₁ α] [Semiring R₂] [UniformSpace β]
@@ -39,7 +39,7 @@ continuous linear map when the input is itself a continuous linear map.
3939
noncomputable def completion (f : α →SL[σ] β) : Completion α →SL[σ] Completion β where
4040
__ := f.toAddMonoidHom.completion f.continuous
4141
map_smul' r x := by
42-
induction x using Completion.induction_on with
42+
induction x using induction_on with
4343
| hp =>
4444
exact isClosed_eq (continuous_map.comp <| continuous_const_smul r)
4545
(continuous_map.const_smul _)

0 commit comments

Comments
 (0)