Skip to content

Commit babd31d

Browse files
author
damien rouhling
committed
Replace balls with entourages and separate normed spaces
1 parent 99d2078 commit babd31d

File tree

10 files changed

+1979
-1600
lines changed

10 files changed

+1979
-1600
lines changed

AUTHORS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
- Pierre-Yves Strub, École polytechnique
88

99
# Acknowledgments
10-
- `hierarchy.v` is a reimplementation of file `Hierarchy.v` from the
11-
library Coquelicot by Sylvie Boldo, Catherine Lelay, and Guillaume
12-
Melquiond (http://coquelicot.saclay.inria.fr/)
10+
- `topology.v` and `normedtype.v` contain a reimplementation of file
11+
`Hierarchy.v` from the library Coquelicot by Sylvie Boldo, Catherine Lelay,
12+
and Guillaume Melquiond (http://coquelicot.saclay.inria.fr/)
1313
- our proof of Zorn's Lemma in `set.v` is a reimplementation of the one by
1414
Daniel Schepler (https://github.com/coq-contribs/zorns-lemma); we also took
1515
inspiration from his work on topology

FILES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
- `posnum.v`
66
- `classical_set.v`
77
- `topology.v`
8-
- `hierarchy.v`
8+
- `normedtype.v`
99
- `landau.v`
1010
- `derive.v`
1111
- `README.md`

_CoqProject

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ classical_sets.v
99
Rstruct.v
1010
Rbar.v
1111
topology.v
12-
hierarchy.v
12+
normedtype.v
1313
forms.v
1414
derive.v
1515
summability.v

classical_sets.v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,9 @@ move=> [i Di]; rewrite predeqE => a; split=> [[Ifa Xa] j Dj|IfIXa].
334334
by split=> [j /IfIXa [] | ] //; have /IfIXa [] := Di.
335335
Qed.
336336

337+
Lemma setMT A B : (@setT A) `*` (@setT B) = setT.
338+
Proof. by rewrite predeqE. Qed.
339+
337340
Definition is_prop {A} (X : set A) := forall x y, X x -> X y -> x = y.
338341
Definition is_fun {A B} (f : A -> B -> Prop) := all (is_prop \o f).
339342
Definition is_total {A B} (f : A -> B -> Prop) := all (nonempty \o f).

derive.v

Lines changed: 104 additions & 104 deletions
Large diffs are not rendered by default.

landau.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Require Import Reals.
33
From Coq Require Import ssreflect ssrfun ssrbool.
44
From mathcomp Require Import ssrnat eqtype choice fintype bigop ssralg ssrnum.
55
Require Import boolp reals Rstruct Rbar.
6-
Require Import classical_sets posnum topology hierarchy.
6+
Require Import classical_sets posnum topology normedtype.
77

88
(******************************************************************************)
99
(* BACHMANN-LANDAU NOTATIONS : BIG AND LITTLE O *)

misc/uniform_bigO.v

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Require Import Reals.
33
From Coq Require Import ssreflect ssrfun ssrbool.
44
From mathcomp Require Import ssrnat eqtype choice fintype bigop ssralg ssrnum.
55
Require Import boolp reals Rstruct Rbar.
6-
Require Import classical_sets posnum topology hierarchy landau.
6+
Require Import classical_sets posnum topology normedtype landau.
77

88
Set Implicit Arguments.
99
Unset Strict Implicit.
@@ -86,23 +86,21 @@ move=> /OuP_to_ex [_/posnumP[a] [_/posnumP[C] fOg]].
8686
apply/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]).
9393
Grab Existential Variables. all: end_near. Qed.
9494

9595
Lemma OuO_to_P f g : OuO f g -> OuP f g.
9696
Proof.
9797
move=> fOg; apply/Ouex_to_P; move: fOg => /eqOP [k hk].
9898
have /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.
102102
move=> 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.
106104
Qed.
107105

108106
End UniformBigO.

0 commit comments

Comments
 (0)