@@ -186,20 +186,19 @@ Hypothesis gP : forall z, zornS g z -> z = g.
186186
187187(*The next lemma proves that when z is of zorn_type, it can be extended on any
188188real line directed by an arbitrary vector v *)
189-
190189
191- Lemma domain_extend (z : zorn_type) v :
190+ Lemma domain_extend (z : zorn_type) v :
192191 exists2 ze : zorn_type, (zornS z ze) & (exists r, (carrier ze) v r).
193- Proof .
194- case: (lem (exists r, (carrier z v r))).
195- by case=> r rP; exists z => //; exists r.
196- case: z => [c [fs1 ls1 ms1 ps1]] /= nzv.
197- have c00 : c 0 0.
198- have <- : phi 0 = 0 by rewrite linear0.
199- by move: ps1; rewrite /extend_graph /= => /(_ 0) /=; rewrite GRing.val0; apply.
200- have [a aP] : exists a, forall (x : V) (r lambda : R), c x r -> r + lambda * a <= p (x + lambda *: v).
201- suff [a aP] : exists a, forall (x : V) (r lambda : R), c x r -> 0 < lambda ->
202- r + lambda * a <= p (x + lambda *: v) /\ r - lambda * a <= p (x - lambda *: v).
192+ Proof .
193+ case: (lem (exists r, (carrier z v r))).
194+ by case=> r rP; exists z => //; exists r.
195+ case: z => [c [fs1 ls1 ms1 ps1]] /= nzv.
196+ have c00 : c 0 0.
197+ have <- : phi 0 = 0 by rewrite linear0.
198+ by move: ps1; rewrite /extend_graph /= => /(_ 0) /=; rewrite GRing.val0; apply.
199+ have [a aP] : exists a, forall (x : V) (r lambda : R), c x r -> r + lambda * a <= p (x + lambda *: v).
200+ suff [a aP] : exists a, forall (x : V) (r lambda : R), c x r -> 0 < lambda ->
201+ r + lambda * a <= p (x + lambda *: v) /\ r - lambda * a <= p (x - lambda *: v).
203202 exists a=> x r lambda cxr.
204203 have {aP} aP := aP _ _ _ cxr.
205204 case: (ltrgt0P lambda) ; [by case/aP | move=> ltl0 | move->]; last first.
@@ -356,62 +355,23 @@ by case: z {zmax} gP => [c [_ _ bp _]] /= gP => x; apply: bp; apply/gP.
356355Qed .
357356
358357End HahnBanach.
359-
360- Section Substructures.
361- Context (R: numFieldType) (V : normedModType R).
362- Variable (A : pred V) (A': subLmodType A).
363-
364- HB.instance Definition _ := NormedModule.on (subspace A).
365-
366- Check {linear_continuous (subspace A) -> R^o}.
367- (* NB : I'm afraid this describes a function continuous on A but linear on the whole V *)
368-
369- Check ((subspace A : normedModType R)).
370-
371-
372- (* defined subtvs as (val continuous is not enough *)
373- (* Use factory Lmod_isNormed to define subnormed on a subLmodtype *)
374- (* define factory subtvs -> subnormed *)
375-
376- End Substructures.
377-
378- (*
379- HB.mixin Record isSubConvexTvs
380- (R : numDomainType) (E : convexTvsType R) (A : pred E) B & SubType E A B & GRing.SubLmodule R E B := {
381- openB : set_system E ;
382- open_includedB : forall b, openB b -> b `<=` A ;
383- open_restricted: forall b, open b <-> (exists (C : set E) , open C /\ b = A `&` C)
384- }.
385-
386-
387- (* Make a factory with subspace *)
388-
389- (* Will probably need to define every intermediate topological and algebraic structure, see the beginning of tvs.v *)
390-
391- #[short(type="subConvextvsType")]
392- HB.structure Definition SubConvextvsType (R : numDomainType) (V : lmodType R) (S : pred V) :=
393- { W of SubZmodule V S W &
394- Nmodule_isLSemiModule R W & isSubLSemiModule R V S W}.
395- *)
396-
397358
398359Section HBGeom.
399- (*TODO : define on convextvstype once lemmas as continuous_linear_bounded are
400- lowered to convextvs *)
360+ (*TODO : define on convextvstype once issue #1927 solved *)
361+
401362Variable (R : realType) (V : normedModType R) (F : pred V)
402363(F' : subLmodType F) (f : {linear F' -> R}).
403364
404365(* once subnormedspaces are correctly defined replace by
405366Variable (R : realType) (V : normedModType R) (F : pred V)
406- (f : {linear_continuous (subspace F) -> R}).
367+ (f : {linear_continuous F' -> R}).
407368 *)
408369
409-
410370Let setF := [set x : V | exists (z : F'), val z = x].
411371
412372Theorem HB_geom_normed :
413373 (exists r , (r > 0 ) /\ (forall (z : F'), (`|f z| ) <= `|(val z)| * r)) ->
414- (* hypothesis to delete once this is rebased over linear_continuous
374+ (* hypothesis to delete once f is of type { linear_continuous _ -> _ }
415375 and obtain through continuous_linear_bounded *)
416376 exists g: {linear_continuous V -> R}, (forall x, (g (val x) = f x)).
417377Proof .
0 commit comments