@@ -134,15 +134,26 @@ HB.instance Definition _ :=
134134
135135HB.instance Definition _ := NormedZmod_PseudoMetric_eq.Build R U erefl.
136136
137-
138137HB.instance Definition _ :=
139138 @Lmodule_isNormed.Build R U normu ler_normuD normruZ normru0_eq0.
140- (* NB : when defining intermediate instances first, via
141- Zmodule_isSubNormed.Build and @Num.Zmodule_isNormed.Build, this command check
139+ (* NB : when defining intermediate instances first, via @Num.Zmodule_isNormed.Build, this command check
142140but then we have Fail Check (U : pseudometricnormedzmodtype R) and Fail Check (U
143- : normedModtype R) *) .
141+ : normedModtype R).
142+ *)
143+ Check (U : normedModType R).
144+
145+ #[local] Lemma normu_valE : forall x, @Num.norm _ V ((val : U -> V) x) = @Num.norm _ U x.
146+ Proof . by []. Qed .
147+
148+ HB.instance Definition _ := Zmodule_isSubNormed.Build _ _ _ U normu_valE.
149+ (* TODO : why is the U necessary ? *)
150+
151+ Check (U : subNormedZmodType S).
152+ Check (U : subNormedModType S).
153+
144154HB.end .
145155
156+
146157Module Lingraph.
147158Section Lingraphsec.
148159Variables (R : numDomainType) (V : lmodType R).
@@ -444,15 +455,16 @@ Qed.
444455
445456End hahn_banach.
446457
447- (*TODO : define on convextvstype once issue #1927 solved *)
448- (* OR *)
449458(* TODO : to define on tvs, characterize the topology of a tvs via its pseudonorms,
450459and the continuity of linear continuous functions via the pseudonorms. *)
451460
452461Section hahn_banach_normed.
453462Variable (R : realType) (V : normedModType R) (F : pred V)
454463 (F' : subNormedModType F) (f : {linear_continuous F' -> R}).
455464
465+
466+ (*To use the thm on a F': subLmodType F, use @SubLmodule_isSubNormedmodule.Build.
467+ TODO : a lightweight factory *)
456468Theorem hahn_banach_extension_normed :
457469 exists g : {linear_continuous V -> R}, (forall x, (g (val x) = f x)).
458470Proof .
0 commit comments