@@ -852,30 +852,22 @@ Qed.
852852Lemma locally_convex : exists2 B : set (set V), (forall b, b \in B -> convex b) & basis B.
853853Proof .
854854exists [set B | exists x, exists r, B = ball x r].
855- move=> b; rewrite inE /= => [[x]] [r] -> z y l.
856- rewrite !inE -!ball_normE /= => zx yx l1.
857- (* have xz : `|z| < r + `|x|. *)
858- (* have -> : `|z| = `|(z - x) + x| by rewrite -addrA [X in (_+X)]addrC subrr addr0. *)
859- (* rewrite (@lt_le_trans _ _ (r + normr x )) //. *)
860- (* rewrite (@le_lt_trans _ _ (normr ((x - z)%R) + normr x)) //. *)
861- (* rewrite -[in X in (_ <= X)]opprB normrN ler_normD // addrC. *)
862- (* by rewrite (@ltr_leD _ _ _ (normr x) _ zx) //. *)
863- (* have xy : `|y| < r + `|x|. *)
864- (* have -> : `|y| = `|(y - x) + x| by rewrite -addrA [X in (_+X)]addrC subrr addr0. *)
865- (* rewrite (@lt_le_trans _ _ (r + normr x )) //. *)
866- (* rewrite (@le_lt_trans _ _ (normr ((y - x)%R) + normr x)) //. *)
867- (* by rewrite ler_normD // addrC. *)
868- (* by rewrite (@ltr_leD _ _ _ (normr x) _ yx) //=. *)
869- have ->: x = l *: x + (1-l) *: x. admit.
870- have -> :
855+ move=> b; rewrite inE /= => [[x]] [r] -> z y l.
856+ rewrite !inE -!ball_normE /= => zx yx l0; rewrite -subr_gt0 => l1.
857+ have ->: x = l *: x + (1-l) *: x by rewrite scalerBl addrCA subrr addr0 scale1r.
858+ have -> :
871859 (l *: x + (1 - l) *: x) - (l *: z + (1 - l) *: y) = (l *: (x-z) + (1 - l) *: (x - y)).
872- rewrite opprD. rewrite addrCA. admit .
860+ by rewrite opprD addrCA addrA addrA -!scalerN -scalerDr [X in l*:X]addrC -addrA -scalerDr .
873861 rewrite (@le_lt_trans _ _ ( `|l| * `|x - z| + `|1 - l| * `|x - y|)) //.
874862 by rewrite -!normrZ ?ler_normD //.
875- rewrite (@lt_trans _ _ ( `|l| * r + `|1 - l| * r )) //.
876- rewrite ltrD //. rewrite le_lt_pM //. normrN.
877- have -> : normr (1 -l) = 1 - normr l. admit.
878- rewrite -mulrDl addrCA subrr addr0.
863+ rewrite (@lt_le_trans _ _ ( `|l| * r + `|1 - l| * r )) //.
864+ rewrite ltr_leD //.
865+ rewrite -ltr_pdivlMl ?mulrA ?mulVf ?mul1r // ?normrE ?lt0r_neq0 //.
866+ rewrite -ler_pdivlMl ?mulrA ?mulVf ?mul1r ?ltW // ?normrE;
867+ by apply/eqP => H; move: l1; rewrite H // lt_def => /andP [] /eqP //=.
868+ have -> : normr (1 -l) = 1 - normr l.
869+ by move/ltW/normr_idP: l0 => ->; move/ltW/normr_idP: l1 => ->.
870+ by rewrite -mulrDl addrCA subrr addr0 mul1r.
879871split => /=.
880872 move => B [x] [r] ->.
881873 rewrite openE -!ball_normE /interior=> y /= bxy.
@@ -888,7 +880,7 @@ rewrite -nbhs_ballE /nbhs_ball /nbhs_ball_ /filter_from //=.
888880move=> [r] r0 Bxr /=.
889881rewrite nbhs_simpl /=; exists (ball x r) => //; split; last by apply: ballxx.
890882by exists x; exists r.
891- Admitted .
883+ Qed .
892884
893885HB.instance Definition _ :=
894886 Uniform_isTvs.Build K V add_continuous
@@ -6128,3 +6120,4 @@ by have [j [Dj BiBj ij]] := maxD i Vi; move/(_ _ cBix) => ?; exists j.
61286120Qed .
61296121
61306122End vitali_lemma_infinite.
6123+
0 commit comments