@@ -105,36 +105,19 @@ Proof. exact: initial_continuous. Qed.
105105
106106HB.instance Definition _ := @isSubNbhs.Build V S T top_continuous_valE.
107107
108- Check T : subNbhsType S.
109- Check T : subTopologicalType S.
110-
111108End SubType_isSubTopological.
112109
113110#[short(type="subConvexTvsType")]
114111HB.structure Definition SubConvexTvs (R : numDomainType) (V : convexTvsType R)
115112 (S : pred V) :=
116113 { U of SubTopological V S U & ConvexTvs R U & @GRing.SubLmodule R V S U }.
117114
118- (* For lisibility, to be added to tvs.v *)
119- (*Lemma add_continuous (K : numDomainType) (E : convexTvsType K) :
120- continuous (fun x : E * E => x.1 + x.2).
121- Proof. exact: add_continuous. Qed. *)
122-
123115Section lmodule_isSubTvs.
124116Context (R : numFieldType) (V : convexTvsType R) (S : pred V) (U : subLmodType S).
125117
126118Local Notation topU := (sub_initial_topology U).
127- Check topU : nbhsType.
128- Check topU : subChoiceType S.
129- Check topU : topologicalType.
130- Check topU : subTopologicalType S.
131- Check topU : subNbhsType S.
132- Check topU : uniformType.
133119HB.instance Definition _ := Uniform.on topU.
134- Check topU : lmodType R.
135120HB.instance Definition _ := GRing.Lmodule.on topU.
136- Check topU : uniformType.
137- Check topU : subLmodType S.
138121
139122Let add_sub: continuous (fun x : topU * topU => x.1 + x.2).
140123Proof .
154137HB.instance Definition _ :=
155138 @PreTopologicalNmodule_isTopologicalNmodule.Build topU add_sub.
156139
157- Check topU : TopologicalNmodule.type.
158140
159141Let opp_sub : continuous (-%R : topU -> topU).
160142Proof .
168150HB.instance Definition _ :=
169151 TopologicalNmodule_isTopologicalZmodule.Build topU opp_sub.
170152
171- Check topU : TopologicalZmodule.type.
172-
173153Let scale_sub : continuous (fun z : R^o * topU => z.1 *: z.2).
174154Proof .
175155apply: continuous_comp_initial => - [] /= x /= y.
188168HB.instance Definition _ :=
189169 TopologicalZmodule_isTopologicalLmodule.Build R topU scale_sub.
190170
191- Check topU : TopologicalLmodule.type R.
192-
193171Let locally_convex_sub : exists2 B : set_system topU,
194172 (forall b, b \in B -> convex_set b) & basis B.
195173Proof .
@@ -214,20 +192,8 @@ by move=> y dy; apply: ba; rewrite -cb; exact: dc.
214192Qed .
215193
216194HB.instance Definition _ := @Uniform_isConvexTvs.Build R topU locally_convex_sub.
217-
218- (*HB.instance Definition _ := @PreTopologicalLmod_isConvexTvs.Build R topU
219- add_sub scale_sub locally_convex_sub. *)
220- (* Does not work. why ? *)
221-
222- Check (topU : convexTvsType R).
223-
224- (*HB.instance Definition _ := ConvexTvs.on topU. *)
225195HB.instance Definition _ := GRing.SubLmodule.on topU.
226196
227- Check (topU : convexTvsType R).
228- Check (topU : subLmodType S).
229- Check (topU : subConvexTvsType S).
230-
231197End lmodule_isSubTvs.
232198
233199(* TODO: moved to normed_module.v *)
@@ -293,13 +259,6 @@ Proof. by rewrite /normu GRing.valZ; exact: normrZ. Qed.
293259HB.instance Definition _ :=
294260 @Lmodule_isNormed.Build R U normu ler_normuD normruZ normru0_eq0.
295261
296- (* NB : when defining intermediate instances first, via
297- @Num.Zmodule_isNormed.Build, this command check but then we have
298- Fail Check (U : pseudometricnormedzmodtype R) and
299- Fail Check (U : normedModType R).
300- *)
301- Check U : pseudoMetricNormedZmodType R.
302- Check U : normedModType R.
303262
304263(* hack, produces no instance with MathComp 2.5.0,
305264 can be remove when supporting MC >= 2.6.0 *)
@@ -309,9 +268,6 @@ Let normu_valE : forall x, @Num.norm _ V ((val : U -> V) x) = @Num.norm _ U x.
309268Proof . by []. Qed .
310269
311270HB.instance Definition _ := Zmodule_isSubNormed.Build _ _ _ U normu_valE.
312- (* TODO : why is the U necessary ? *)
313-
314- Check U : subNormedZmodType S.
315271
316272Let continuous_valE : continuous (val : U -> V).
317273Proof .
@@ -326,10 +282,6 @@ Unshelve. all: by end_near. Qed.
326282
327283HB.instance Definition _ := isSubNbhs.Build _ _ U continuous_valE.
328284
329- Check U : subConvexTvsType S.
330-
331- Check U : subNormedModType S.
332-
333285HB.instance Definition _ := SubLmodule_isSubNormedmodule.Build _ _ _ U.
334286HB.end .
335287
@@ -612,15 +564,11 @@ Qed.
612564
613565End hahn_banach.
614566
615- (* TODO: to define on tvs, characterize the topology of a tvs via its pseudonorms,
616- and the continuity of linear continuous functions via the pseudonorms. *)
617567
618568Section hahn_banach_normed.
619569Variable (R : realType) (V : normedModType R) (F : pred V)
620570 (F' : subNormedModType F) (f : {linear_continuous F' -> R}).
621571
622- (*To use the thm on a F': subLmodType F, use @SubLmodule_isSubNormedmodule.Build.
623- TODO : a lightweight factory *)
624572Theorem hahn_banach_extension_normed :
625573 exists g : {linear_continuous V -> R}, forall x : F', g (val x) = f x.
626574Proof .
0 commit comments