Skip to content

Commit

Permalink
convex
Browse files Browse the repository at this point in the history
  • Loading branch information
mkerjean committed Sep 17, 2024
1 parent 0f185fd commit fde7635
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 23 deletions.
37 changes: 15 additions & 22 deletions theories/normedtype.v
Original file line number Diff line number Diff line change
Expand Up @@ -852,30 +852,22 @@ Qed.
Lemma locally_convex : exists2 B : set (set V), (forall b, b \in B -> convex b) & basis B.
Proof.
exists [set B | exists x, exists r, B = ball x r].
move=> b; rewrite inE /= => [[x]] [r] -> z y l.
rewrite !inE -!ball_normE /= => zx yx l1.
(* have xz : `|z| < r + `|x|. *)
(* have -> : `|z| = `|(z - x) + x| by rewrite -addrA [X in (_+X)]addrC subrr addr0. *)
(* rewrite (@lt_le_trans _ _ (r + normr x )) //. *)
(* rewrite (@le_lt_trans _ _ (normr ((x - z)%R) + normr x)) //. *)
(* rewrite -[in X in (_ <= X)]opprB normrN ler_normD // addrC. *)
(* by rewrite (@ltr_leD _ _ _ (normr x) _ zx) //. *)
(* have xy : `|y| < r + `|x|. *)
(* have -> : `|y| = `|(y - x) + x| by rewrite -addrA [X in (_+X)]addrC subrr addr0. *)
(* rewrite (@lt_le_trans _ _ (r + normr x )) //. *)
(* rewrite (@le_lt_trans _ _ (normr ((y - x)%R) + normr x)) //. *)
(* by rewrite ler_normD // addrC. *)
(* by rewrite (@ltr_leD _ _ _ (normr x) _ yx) //=. *)
have ->: x = l *: x + (1-l) *: x. admit.
have -> :
move=> b; rewrite inE /= => [[x]] [r] -> z y l.
rewrite !inE -!ball_normE /= => zx yx l0; rewrite -subr_gt0 => l1.
have ->: x = l *: x + (1-l) *: x by rewrite scalerBl addrCA subrr addr0 scale1r.
have -> :
(l *: x + (1 - l) *: x) - (l *: z + (1 - l) *: y) = (l *: (x-z) + (1 - l) *: (x - y)).
rewrite opprD. rewrite addrCA. admit.
by rewrite opprD addrCA addrA addrA -!scalerN -scalerDr [X in l*:X]addrC -addrA -scalerDr.
rewrite (@le_lt_trans _ _ ( `|l| * `|x - z| + `|1 - l| * `|x - y|)) //.
by rewrite -!normrZ ?ler_normD //.
rewrite (@lt_trans _ _ ( `|l| * r + `|1 - l| * r )) //.
rewrite ltrD //. rewrite le_lt_pM //. normrN.
have -> : normr (1 -l) = 1 - normr l. admit.
rewrite -mulrDl addrCA subrr addr0.
rewrite (@lt_le_trans _ _ ( `|l| * r + `|1 - l| * r )) //.
rewrite ltr_leD //.
rewrite -ltr_pdivlMl ?mulrA ?mulVf ?mul1r // ?normrE ?lt0r_neq0 //.
rewrite -ler_pdivlMl ?mulrA ?mulVf ?mul1r ?ltW // ?normrE;
by apply/eqP => H; move: l1; rewrite H // lt_def => /andP [] /eqP //=.
have -> : normr (1 -l) = 1 - normr l.
by move/ltW/normr_idP: l0 => ->; move/ltW/normr_idP: l1 => ->.
by rewrite -mulrDl addrCA subrr addr0 mul1r.
split => /=.
move => B [x] [r] ->.
rewrite openE -!ball_normE /interior=> y /= bxy.
Expand All @@ -888,7 +880,7 @@ rewrite -nbhs_ballE /nbhs_ball /nbhs_ball_ /filter_from //=.
move=> [r] r0 Bxr /=.
rewrite nbhs_simpl /=; exists (ball x r) => //; split; last by apply: ballxx.
by exists x; exists r.
Admitted.
Qed.

HB.instance Definition _ :=
Uniform_isTvs.Build K V add_continuous
Expand Down Expand Up @@ -6129,3 +6121,4 @@ by have [j [Dj BiBj ij]] := maxD i Vi; move/(_ _ cBix) => ?; exists j.
Qed.

End vitali_lemma_infinite.

2 changes: 1 addition & 1 deletion theories/tvs.v
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ HB.structure Definition UniformLmodule (K : numDomainType) :=

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

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

0 comments on commit fde7635

Please sign in to comment.