Skip to content

Commit a3de8e5

Browse files
committed
convex
1 parent 403ecee commit a3de8e5

File tree

2 files changed

+16
-23
lines changed

2 files changed

+16
-23
lines changed

theories/normedtype.v

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -852,30 +852,22 @@ Qed.
852852
Lemma locally_convex : exists2 B : set (set V), (forall b, b \in B -> convex b) & basis B.
853853
Proof.
854854
exists [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.
879871
split => /=.
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 //=.
888880
move=> [r] r0 Bxr /=.
889881
rewrite nbhs_simpl /=; exists (ball x r) => //; split; last by apply: ballxx.
890882
by exists x; exists r.
891-
Admitted.
883+
Qed.
892884

893885
HB.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.
61286120
Qed.
61296121

61306122
End vitali_lemma_infinite.
6123+

theories/tvs.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ HB.structure Definition UniformLmodule (K : numDomainType) :=
4141

4242
Definition convex (R : numDomainType) (M : lmodType R) (A : set M) :=
4343
forall x y (lambda : R), x \in A -> y \in A ->
44-
(`|lambda| < 1) -> lambda *: x + (1 - lambda) *: y \in A.
44+
(0< lambda) -> (lambda < 1) -> lambda *: x + (1 - lambda) *: y \in A.
4545

4646
HB.mixin Record Uniform_isTvs (R : numDomainType) E of Uniform E & GRing.Lmodule R E := {
4747
add_continuous : continuous (fun x : E * E => x.1 + x.2) ;

0 commit comments

Comments
 (0)