@@ -974,37 +974,35 @@ Proof.
974974 by rewrite scaleNr scaler0 addrN.
975975 rewrite /( _ @ _ ) //= nearE /(within _ ) f0 //=. rewrite near_simpl.
976976 rewrite -nbhs_nearE => H0 {H} ; move : (nbhs_ex H0) => [tp H] {H0}.
977- pose t := tp%:num .
978- exists (2*t^-1). split=> //.
979- admit.
977+ (*pose t := tp%:num . *)
978+ exists (2*(tp%:num)^-1). split=> //.
980979 move=> x. case: (boolp.EM (x=0)).
981980 - by move=> ->; rewrite f0 normr0 normr0 //= mul0r.
982981 - move/eqP=> xneq0 Fx.
983- pose a : V := (`|x|^-1 * t /2 ) *: x.
984- have Btp : ball 0 t a.
982+ pose a : V := (`|x|^-1 * (tp%:num) /2 ) *: x.
983+ have Btp : ball 0 (tp%:num) a.
985984 apply : ball_sym ; rewrite -ball_normE /ball_ /= subr0.
986985 rewrite normrZ mulrC normrM.
987986 rewrite !gtr0_norm //= ; last first.
988- rewrite pmulr_lgt0 // ?invr_gt0 ?normr_gt0 //. admit.
987+ rewrite pmulr_lgt0 // ?invr_gt0 ?normr_gt0 //.
989988 rewrite mulrC -mulrA -mulrA ltr_pdivrMl; last by rewrite normr_gt0.
990989 rewrite mulrC -mulrA gtr_pMl.
991990 rewrite invf_lt1 //=.
992991 by rewrite ltr1n.
993- (*by have lt01 : 0 < 1 by []; have le11 : 1 <= 1 by [] ; apply : ltr_pDl.
994992 by rewrite pmulr_lgt0 // !normr_gt0.
995993 have Fa : F a by rewrite -[a]add0r; apply: linF.
996994 have : `|f a| < 1.
997995 by move: (H _ Btp Fa); rewrite /ball /ball_ //= sub0r normrN.
998- suff -> : ( f a = ( (`|x|^-1) * t /2 ) * ( f x)) .
996+ suff -> : ( f a = ( (`|x|^-1) * (tp%:num) /2 ) * ( f x)) .
999997 rewrite normrM (gtr0_norm) //.
1000- rewrite mulrC mulrC -mulrA -mulrA ltr_pdivr_mull //= ;
998+ rewrite mulrC mulrC -mulrA -mulrA ltr_pdivrMl //= ;
1001999 last by rewrite normr_gt0.
1002- rewrite mulrC [(_*1)]mulrC mul1r -ltr_pdivl_mulr //.
1003- by rewrite invf_div => Ht ; apply : ltW.
1004- by rewrite !mulr_gt0 // invr_gt0 normr_gt0.
1005- suff -> : a = 0+ (`|x|^-1 * t /2) *: x by rewrite linfF // f0 add0r.
1000+ rewrite mulrC [(_*1)]mulrC mul1r.
1001+ rewrite -[X in _ * X < _ ] invf_div ltr_pdivrMr //= ; apply: ltW.
1002+ by rewrite !mulr_gt0 ?normr_gt0 // ? invr_gt0 normr_gt0.
1003+ suff -> : a = 0+ (`|x|^-1 * tp%:num /2) *: x by rewrite linfF // f0 add0r.
10061004 by rewrite add0r.
1007- Qed .*) Admitted .
1005+ Qed .
10081006
10091007Lemma mymysup : forall (A : set R) (a m : R),
10101008 A a -> ubound A m ->
@@ -1040,7 +1038,8 @@ Theorem HB_geom_normed :
10401038 continuousR_on_at F 0 f ->
10411039 exists g: {scalar V}, (continuous (g : V -> R)) /\ (forall x, F x -> (g x = f x)).
10421040Proof .
1043- move=> H; move: (continuousR_scalar_on_bounded H) => [r [ltr0 fxrx]] {H}.pose p:= fun x : V => `|x|*r.
1041+ move=> H; move: (continuousR_scalar_on_bounded H) => [r [ltr0 fxrx]] {H}.
1042+ pose p:= fun x : V => `|x|*r.
10441043 have convp: hahn_banach_theorem.convex p.
10451044 move=> v1 v2 l m [lt0l lt0m] addlm1 //= ; rewrite !/( p _) !mulrA -mulrDl.
10461045 suff: `|l *: v1 + m *: v2| <= (l * `|v1| + m * `|v2|).
@@ -1125,16 +1124,17 @@ Notation myHB :=
11251124linear_bounded_continuous: forall [R : numFieldType] [V W : normedModType R] (f : {linear V -> W}), bounded_near f (nbhs 0) <-> continuous f
11261125continuous_linear_bounded: forall [R : numFieldType] [V W : normedModType R] (x : V) [f : {linear V -> W}], {for 0, continuous f} -> bounded_near f (nbhs x) *)
11271126
1127+ (*TODO : clean the topological structure on F. Define subctvs ? *)
11281128Theorem new_HB_geom_normed :
1129- {within [set` F], continuous f} ->
1130- exists g: {scalar V}, (continuous (g : V -> R)) /\ (forall x, F x -> (g x = f x)).
1129+ continuous (f : (@initial_topology (sub_type F) V val) -> R) ->
1130+ exists g: {scalar V}, (continuous (g : V -> R)) /\ (forall (x : F), (g (val x) = f x)).
11311131Proof .
1132- (*
1133- Search "continuous" "linear" "bounded".
11341132 move /(_ 0) => /= H; rewrite /from_subspace /=.
1135- have f0 : {for 0, continuous f}. admit (*F needs to be open ?*).
1136- Check ( continuous_linear_bounded). _ f0).
1137- move=> H; move: (continuousR_scalar_on_bounded H) => [r [ltr0 fxrx]] {H}.
1133+ have f0 : {for 0, continuous ( (f : (@initial_topology (sub_type F) V val) -> R))}.
1134+ admit.
1135+ Check (continuous_linear_bounded).
1136+ (* TODO ; to apply this lemma, F needs to be given a normedmodtype structure *)
1137+ (* move=> H; move: (continuousR_scalar_on_bounded H) => [r [ltr0 fxrx]] {H}.
11381138 (* want : r :
11391139 ltr0 : 0 < r
11401140 fxrx : forall x : V, F x -> `|f x| <= `|x| * r*)
@@ -1171,7 +1171,7 @@ Proof.
11711171 apply: ler_pM; rewrite ?normr_ge0 ?ltW //=.
11721172Qed .
11731173*)
1174-
1174+ Admitted .
11751175
11761176
11771177End HBGeom.
0 commit comments