@@ -26,6 +26,64 @@ open scoped NNReal
2626-- the `ₗ` subscript variables are for special cases about linear (as opposed to semilinear) maps
2727variable {𝕜 𝕜₂ 𝕜₃ E F Fₗ G : Type *}
2828
29+ section SeminormedAddCommGroup
30+ variable [SeminormedAddCommGroup E] [SeminormedAddCommGroup F] [SeminormedAddCommGroup G]
31+ [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕜₂] [NontriviallyNormedField 𝕜₃]
32+ [NormedSpace 𝕜 E] [NormedSpace 𝕜₂ F] [NormedSpace 𝕜₃ G]
33+ {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₃ : 𝕜₂ →+* 𝕜₃} (f : E →SL[σ₁₂] F)
34+
35+ namespace LinearIsometry
36+ section
37+ variable [NontrivialTopology E] [RingHomIsometric σ₁₂]
38+
39+ @[simp] lemma norm_toContinuousLinearMap (f : E →ₛₗᵢ[σ₁₂] F) : ‖f.toContinuousLinearMap‖ = 1 :=
40+ f.toContinuousLinearMap.homothety_norm <| by simp
41+
42+ @[simp] lemma nnnorm_toContinuousLinearMap (f : E →ₛₗᵢ[σ₁₂] F) : ‖f.toContinuousLinearMap‖₊ = 1 :=
43+ Subtype.ext f.norm_toContinuousLinearMap
44+
45+ @[simp] lemma enorm_toContinuousLinearMap (f : E →ₛₗᵢ[σ₁₂] F) : ‖f.toContinuousLinearMap‖ₑ = 1 :=
46+ congrArg _ f.nnnorm_toContinuousLinearMap
47+
48+ end
49+
50+ variable {σ₁₃ : 𝕜 →+* 𝕜₃} [RingHomCompTriple σ₁₂ σ₂₃ σ₁₃]
51+
52+ /-- Postcomposition of a continuous linear map with a linear isometry preserves
53+ the operator norm. -/
54+ lemma norm_toContinuousLinearMap_comp [RingHomIsometric σ₁₂] (f : F →ₛₗᵢ[σ₂₃] G)
55+ {g : E →SL[σ₁₂] F} : ‖f.toContinuousLinearMap.comp g‖ = ‖g‖ :=
56+ (f.toContinuousLinearMap.comp g).opNorm_ext g fun x ↦ by simp
57+
58+ /-- Composing on the left with a linear isometry gives a linear isometry between spaces of
59+ continuous linear maps. -/
60+ def postcomp [RingHomIsometric σ₁₂] [RingHomIsometric σ₁₃] (a : F →ₛₗᵢ[σ₂₃] G) :
61+ (E →SL[σ₁₂] F) →ₛₗᵢ[σ₂₃] (E →SL[σ₁₃] G) where
62+ toFun f := a.toContinuousLinearMap.comp f
63+ map_add' f g := by simp
64+ map_smul' c f := by simp
65+ norm_map' f := by simp [a.norm_toContinuousLinearMap_comp]
66+
67+ end LinearIsometry
68+
69+ namespace LinearIsometryEquiv
70+ variable [NontrivialTopology E] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜}
71+ [RingHomInvPair σ₁₂ σ₂₁] [RingHomInvPair σ₂₁ σ₁₂] [RingHomIsometric σ₁₂]
72+
73+ @[simp] lemma norm_toContinuousLinearMap (e : E ≃ₛₗᵢ[σ₁₂] F) :
74+ ‖e.toContinuousLinearEquiv.toContinuousLinearMap‖ = 1 :=
75+ e.toLinearIsometry.norm_toContinuousLinearMap
76+
77+ @[simp] lemma nnnorm_toContinuousLinearMap (e : E ≃ₛₗᵢ[σ₁₂] F) :
78+ ‖e.toContinuousLinearEquiv.toContinuousLinearMap‖₊ = 1 :=
79+ e.toLinearIsometry.nnnorm_toContinuousLinearMap
80+
81+ @[simp] lemma enorm_toContinuousLinearMap (e : E ≃ₛₗᵢ[σ₁₂] F) :
82+ ‖e.toContinuousLinearEquiv.toContinuousLinearMap‖ₑ = 1 :=
83+ e.toLinearIsometry.enorm_toContinuousLinearMap
84+
85+ end LinearIsometryEquiv
86+ end SeminormedAddCommGroup
2987
3088section Normed
3189
@@ -91,8 +149,6 @@ end LinearMap
91149
92150namespace ContinuousLinearMap
93151
94- section OpNorm
95-
96152open Set Real
97153
98154/-- An operator is zero iff its norm vanishes. -/
@@ -121,47 +177,8 @@ theorem antilipschitz_of_isEmbedding (f : E →L[𝕜] Fₗ) (hf : IsEmbedding f
121177 ∃ K, AntilipschitzWith K f :=
122178 f.toLinearMap.antilipschitz_of_comap_nhds_le <| map_zero f ▸ (hf.nhds_eq_comap 0 ).ge
123179
124- end OpNorm
125-
126180end ContinuousLinearMap
127181
128- namespace LinearIsometry
129-
130- @[simp]
131- theorem norm_toContinuousLinearMap [Nontrivial E] [RingHomIsometric σ₁₂] (f : E →ₛₗᵢ[σ₁₂] F) :
132- ‖f.toContinuousLinearMap‖ = 1 :=
133- f.toContinuousLinearMap.homothety_norm <| by simp
134-
135- @[simp]
136- theorem nnnorm_toContinuousLinearMap [Nontrivial E] [RingHomIsometric σ₁₂] (f : E →ₛₗᵢ[σ₁₂] F) :
137- ‖f.toContinuousLinearMap‖₊ = 1 :=
138- Subtype.ext f.norm_toContinuousLinearMap
139-
140- @[simp]
141- theorem enorm_toContinuousLinearMap [Nontrivial E] [RingHomIsometric σ₁₂] (f : E →ₛₗᵢ[σ₁₂] F) :
142- ‖f.toContinuousLinearMap‖ₑ = 1 :=
143- congrArg _ f.nnnorm_toContinuousLinearMap
144-
145- variable {σ₁₃ : 𝕜 →+* 𝕜₃} [RingHomCompTriple σ₁₂ σ₂₃ σ₁₃]
146-
147- /-- Postcomposition of a continuous linear map with a linear isometry preserves
148- the operator norm. -/
149- theorem norm_toContinuousLinearMap_comp [RingHomIsometric σ₁₂] (f : F →ₛₗᵢ[σ₂₃] G)
150- {g : E →SL[σ₁₂] F} : ‖f.toContinuousLinearMap.comp g‖ = ‖g‖ :=
151- opNorm_ext (f.toContinuousLinearMap.comp g) g fun x => by
152- simp only [norm_map, coe_toContinuousLinearMap, coe_comp', Function.comp_apply]
153-
154- /-- Composing on the left with a linear isometry gives a linear isometry between spaces of
155- continuous linear maps. -/
156- def postcomp [RingHomIsometric σ₁₂] [RingHomIsometric σ₁₃] (a : F →ₛₗᵢ[σ₂₃] G) :
157- (E →SL[σ₁₂] F) →ₛₗᵢ[σ₂₃] (E →SL[σ₁₃] G) where
158- toFun f := a.toContinuousLinearMap.comp f
159- map_add' f g := by simp
160- map_smul' c f := by simp
161- norm_map' f := by simp [a.norm_toContinuousLinearMap_comp]
162-
163- end LinearIsometry
164-
165182end
166183
167184namespace ContinuousLinearMap
@@ -272,7 +289,7 @@ end Normed
272289/-- A bounded bilinear form `B` in a real normed space is *coercive*
273290if there is some positive constant C such that `C * ‖u‖ * ‖u‖ ≤ B u u`.
274291-/
275- def IsCoercive [NormedAddCommGroup E] [NormedSpace ℝ E] (B : E →L[ℝ] E →L[ℝ] ℝ) : Prop :=
292+ def IsCoercive [SeminormedAddCommGroup E] [NormedSpace ℝ E] (B : E →L[ℝ] E →L[ℝ] ℝ) : Prop :=
276293 ∃ C, 0 < C ∧ ∀ u, C * ‖u‖ * ‖u‖ ≤ B u u
277294
278295section Equicontinuous
@@ -348,8 +365,8 @@ lemma ContinuousLinearMap.norm_single_le_one [∀ i, SeminormedAddCommGroup (E i
348365 ‖ContinuousLinearMap.single 𝕜 E i‖ ≤ 1 :=
349366 (LinearIsometry.single 𝕜 E i).norm_toContinuousLinearMap_le
350367
351- lemma ContinuousLinearMap.norm_single [∀ i, NormedAddCommGroup (E i)] [∀ i, NormedSpace 𝕜 (E i)]
352- (i : ι) [Nontrivial (E i)] :
368+ lemma ContinuousLinearMap.norm_single [∀ i, SeminormedAddCommGroup (E i)]
369+ [∀ i, NormedSpace 𝕜 (E i)] (i : ι) [NontrivialTopology (E i)] :
353370 ‖ContinuousLinearMap.single 𝕜 E i‖ = 1 :=
354371 (LinearIsometry.single 𝕜 E i).norm_toContinuousLinearMap
355372
@@ -389,13 +406,13 @@ lemma ContinuousLinearMap.norm_inr_le_one [SeminormedAddCommGroup E] [NormedSpac
389406 ‖ContinuousLinearMap.inr 𝕜 E F‖ ≤ 1 :=
390407 (LinearIsometry.inr 𝕜 E F).norm_toContinuousLinearMap_le
391408
392- lemma ContinuousLinearMap.norm_inl [NormedAddCommGroup E] [NormedSpace 𝕜 E]
393- [NormedAddCommGroup F ] [NormedSpace 𝕜 F] [Nontrivial E ] :
409+ lemma ContinuousLinearMap.norm_inl [SeminormedAddCommGroup E] [NontrivialTopology E]
410+ [NormedSpace 𝕜 E ] [SeminormedAddCommGroup F] [NormedSpace 𝕜 F ] :
394411 ‖ContinuousLinearMap.inl 𝕜 E F‖ = 1 :=
395412 (LinearIsometry.inl 𝕜 E F).norm_toContinuousLinearMap
396413
397- lemma ContinuousLinearMap.norm_inr [NormedAddCommGroup E] [NormedSpace 𝕜 E]
398- [NormedAddCommGroup F] [NormedSpace 𝕜 F] [Nontrivial F] :
414+ lemma ContinuousLinearMap.norm_inr [SeminormedAddCommGroup E] [NontrivialTopology E]
415+ [NormedSpace 𝕜 E] [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] [NontrivialTopology F] :
399416 ‖ContinuousLinearMap.inr 𝕜 E F‖ = 1 :=
400417 (LinearIsometry.inr 𝕜 E F).norm_toContinuousLinearMap
401418
0 commit comments