@@ -3,7 +3,7 @@ Require Import Reals.
33From Coq Require Import ssreflect ssrfun ssrbool.
44From mathcomp Require Import ssrnat eqtype choice fintype bigop ssralg ssrnum.
55Require Import boolp reals Rstruct Rbar.
6- Require Import classical_sets posnum topology hierarchy landau.
6+ Require Import classical_sets posnum topology normedtype landau.
77
88Set Implicit Arguments .
99Unset Strict Implicit .
@@ -86,23 +86,21 @@ move=> /OuP_to_ex [_/posnumP[a] [_/posnumP[C] fOg]].
8686apply/eqOP; near=> k; near=> x; apply: ler_trans (fOg _ _ _ _) _; last 2 first.
8787- by near: x; exists (setT, P); [split=> //=; apply: withinT|move=> ? []].
8888- by rewrite ler_pmul => //; near: k; exists C%:num => ? /ltrW.
89- - near: x; exists (setT, ball (0 : R^o * R^o) a%:num).
90- by split => //=; rewrite /within; near=> x =>_; near: x; apply: locally_ball .
91- move => x [_ [/=]] ; rewrite -ball_normE /= normmB subr0 normmB subr0 .
92- by move=> ??; rewrite ltr_maxl; apply/andP .
89+ - near: x; exists (setT, ball norm (0 : R^o * R^o) a%:num); last first .
90+ by move => x [_ /=]; rewrite normmB subr0 .
91+ split => //= ; rewrite /within; near=> x =>_; near: x .
92+ exact: (@locally_ball _ [normedModType R of R^o * R^o]) .
9393Grab Existential Variables. all: end_near. Qed .
9494
9595Lemma OuO_to_P f g : OuO f g -> OuP f g.
9696Proof .
9797move=> fOg; apply/Ouex_to_P; move: fOg => /eqOP [k hk].
9898have /hk [Q [->]] : k < maxr 1 (k + 1) by rewrite ltr_maxr ltr_addl orbC ltr01.
99- move=> [R [[_/posnumP[e1] Re1] [_/posnumP[e2] Re2]] sRQ] fOg .
100- exists (minr e1%:num e2 %:num) => //.
101- exists (maxr 1 (k + 1)); first by rewrite ltr_maxr ltr01.
99+ rewrite /= -(@filter_from_norm_locally _ [normedModType R of R^o * R^o]) .
100+ move=> -[_/posnumP[e] seQ] fOg; exists e %:num => //; exists (maxr 1 (k + 1)) .
101+ by rewrite ltr_maxr ltr01.
102102move=> x dx dxe Pdx; apply: (fOg (x, dx)); split=> //=.
103- move: dxe; rewrite ltr_maxl !ltr_minr => /andP[/andP [dxe11 _] /andP [_ dxe22]].
104- by apply/sRQ => //; split; [apply/Re1|apply/Re2];
105- rewrite /AbsRing_ball /= absrB subr0.
103+ by apply: seQ => //; rewrite /ball normmB subr0.
106104Qed .
107105
108106End UniformBigO.
0 commit comments