Skip to content

Commit 6344896

Browse files
committed
clean
1 parent d44787d commit 6344896

File tree

1 file changed

+15
-55
lines changed

1 file changed

+15
-55
lines changed

theories/hahn_banach_theorem.v

Lines changed: 15 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -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
188188
real 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.
356355
Qed.
357356

358357
End 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

398359
Section 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+
401362
Variable (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
405366
Variable (R : realType) (V : normedModType R) (F : pred V)
406-
(f : {linear_continuous (subspace F) -> R}).
367+
(f : {linear_continuous F' -> R}).
407368
*)
408369

409-
410370
Let setF := [set x : V | exists (z : F'), val z = x].
411371

412372
Theorem 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)).
417377
Proof.

0 commit comments

Comments
 (0)