-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lebesgue measure and integral #371
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
affeldt-aist
force-pushed
the
lebesgue_measure
branch
2 times, most recently
from
May 6, 2021 10:04
8a707a8
to
4e2af2c
Compare
Closed
Here is a patch I propose (context: math-comp/math-comp#732 (comment)): From 46158eb46e2ab033884151726c6dbbd9233b1e24 Mon Sep 17 00:00:00 2001
From: Kazuhiko Sakaguchi <[email protected]>
Date: Wed, 26 May 2021 14:37:16 +0900
Subject: [PATCH] normrzE
---
theories/measure_wip.v | 29 +++++++++++------------------
1 file changed, 11 insertions(+), 18 deletions(-)
diff --git a/theories/measure_wip.v b/theories/measure_wip.v
index 5f94173..e7e507f 100644
--- a/theories/measure_wip.v
+++ b/theories/measure_wip.v
@@ -63,17 +63,8 @@ Definition uncurry {A B C:Type} (f:A -> B -> C)
(p:A * B) : C := match p with (x, y) => f x y end.
(* NB: PR to MathComp in progress *)
-Lemma gez0_norm (R : numDomainType) (i : int) : 0 <= i -> `|i|%:R = i%:~R :> R.
-Proof. by move/gez0_abs => <-. Qed.
-
-Lemma gtz0_norm (R : numDomainType) (i : int) : 0 < i -> `|i|%:R = i%:~R :> R.
-Proof. by move/gtz0_abs => <-. Qed.
-
-Lemma ltz0_norm (R : numDomainType) (i : int) : i < 0 -> `|i|%:R = - i%:~R :> R.
-Proof.
-move/ltz0_abs/eqP; rewrite -eqr_oppLR => /eqP <-.
-by rewrite abszN absz_id mulrNz opprK.
-Qed.
+Lemma normrzE (R : numDomainType) i : `|i|%:R = `|i|%:~R :> R.
+Proof. by rewrite -abszE. Qed.
(* END NB: PR to MathComp in progress *)
Section eseries.
@@ -3570,10 +3561,11 @@ exists (set_of_itv \o ccitv).
rewrite predeqE => /= r; split => // _; have [r0|r0] := leP 0 r.
- exists (absz (ceil r)) => //; apply/set_of_itv_mem.
rewrite itv_boundlr/= 2!lte_bnd (le_trans _ r0)/= ?oppr_le0 ?ler0n//.
- by rewrite gez0_norm ?ceil_ge0 // ler_ceil.
+ by rewrite normrzE ger0_norm ?ceil_ge0 // ler_ceil.
- exists (absz (floor r)) => //; apply/set_of_itv_mem.
rewrite itv_boundlr /= 2!lte_bnd (le_trans (ltW r0)) ?ler0n// andbT.
- by rewrite ler_oppl ltz0_norm ?floor_lt0// ler_oppl opprK ler_floor.
+ rewrite ler_oppl normrzE ltr0_norm ?floor_lt0//.
+ by rewrite mulrNz ler_opp2 ler_floor.
move=> n; split.
by exists [fset (ccitv n)]%fset; rewrite ssetE /= big_seq_fset1.
by rewrite length_itv hlength_itv /=; case: ifPn; rewrite lte_pinfty.
@@ -3965,7 +3957,8 @@ have len_iIN_dvg : forall M, M > 0 -> exists N, (N >= 1)%N /\ (M%:E < length (iI
have ? : (0 < `|ceil M|)%N by rewrite absz_gt0 gt_eqF // ceil_gt0.
exists `|ceil M|%N; split=> //; rewrite /iIN ioo set_of_itvE setTI.
rewrite length_ccitv lte_fin (le_lt_trans (ler_ceil _)) //.
- by rewrite -gtz0_norm ?ceil_gt0// ltr_nat -addnn -ltn_subLR // subnn.
+ rewrite -[c in c%:~R]gtr0_norm ?ceil_gt0//.
+ by rewrite -normrzE ltr_nat -addnn -add1n leq_add2r.
rewrite /iIN.
wlog : i {ij iIN} b r {iroo} / i = Interval -oo%O (BSide b r).
move=> h; move: iroo => [->|iroo]; first exact: h.
@@ -3978,7 +3971,7 @@ have len_iIN_dvg : forall M, M > 0 -> exists N, (N >= 1)%N /\ (M%:E < length (iI
rewrite ltr_oppl opprK.
case: ifPn => [rrM|].
rewrite meet_l ?(le_trans r0) // lte_fin mulrSr.
- rewrite gez0_norm ?ceil_ge0// ?(addr_ge0 _ (ltW _))//.
+ rewrite normrzE ger0_norm ?ceil_ge0// ?(addr_ge0 _ (ltW _))//.
rewrite -ltr_subl_addl (@le_lt_trans _ _ (`|r| + M)) // ?ler_addr//.
by rewrite ler0_norm // addrC.
rewrite (@lt_le_trans _ _ (`|r| + M + 1)) // ?ltr_addl // ler_add2r.
@@ -3986,7 +3979,7 @@ have len_iIN_dvg : forall M, M > 0 -> exists N, (N >= 1)%N /\ (M%:E < length (iI
move=> /negP; apply: absurd.
rewrite -(ler0_norm r0) mulrSr ltr_spaddr //.
rewrite (@le_trans _ _ (`|r| + M)) // ?ler_addl //; first exact/ltW.
- by rewrite gez0_norm ?ceil_ge0// ?(addr_ge0 _ (ltW _))// ler_ceil.
+ by rewrite normrzE (ger0_norm (ceil_ge0 _)) ?addr_ge0 ?ler_ceil // ltW.
have crM : (0 < `|ceil (`|r| + M)|)%N.
by rewrite absz_gt0 gt_eqF // ceil_gt0 // -(addr0 0) ler_lt_add.
exists (`|ceil (`| r | + M)|%N); split => //.
@@ -3994,10 +3987,10 @@ have len_iIN_dvg : forall M, M > 0 -> exists N, (N >= 1)%N /\ (M%:E < length (iI
rewrite opprK andbT.
case: ifPn => [_|].
rewrite meet_l; last first.
- rewrite gez0_norm ?ceil_ge0// ?(addr_ge0 _ (ltW _))// gtr0_norm//.
+ rewrite normrzE ger0_norm ?ceil_ge0// ?(addr_ge0 _ (ltW _))// gtr0_norm//.
by rewrite (le_trans (ler_ceil _)) // ler_int ceil_le // ler_addl ltW.
rewrite lte_fin -{1}(add0r M) ltr_le_add //.
- rewrite gez0_norm ?ceil_ge0// ?(addr_ge0 _ (ltW _))// gtr0_norm//.
+ rewrite normrzE ger0_norm ?ceil_ge0// ?(addr_ge0 _ (ltW _))// gtr0_norm//.
by rewrite (le_trans (ler_ceil _)) // ler_int ceil_le // ler_addr ltW.
move/negP; apply: absurd.
rewrite -(@ltr_nat R) in crM.
--
2.20.1 |
@pi8027 I have replayed the proofs in the spirit of your patch. Maybe that's good enough with only one lemma. |
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
May 26, 2021 10:16
d2c9a2b
to
561a869
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
June 4, 2021 09:39
561a869
to
128acf5
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
June 17, 2021 11:16
cf38008
to
df90d07
Compare
Merged
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
June 23, 2021 14:28
1b8e07c
to
e850222
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
2 times, most recently
from
July 2, 2021 04:12
91ca1ca
to
d3b98f0
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
July 22, 2021 07:09
d3b98f0
to
b22e2ce
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
July 29, 2021 09:23
b22e2ce
to
067c4d7
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
August 2, 2021 02:57
067c4d7
to
39876ee
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
August 13, 2021 03:09
39876ee
to
e3d8044
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
2 times, most recently
from
August 21, 2021 07:01
2836328
to
a1cdb62
Compare
Merged
affeldt-aist
force-pushed
the
lebesgue_measure
branch
2 times, most recently
from
September 6, 2021 13:37
4080012
to
fba5815
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
2 times, most recently
from
September 18, 2021 10:48
e1e9799
to
7c210f5
Compare
CohenCyril
force-pushed
the
lebesgue_measure
branch
from
September 21, 2021 14:44
22064bb
to
0d1fb14
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
September 22, 2021 08:08
0d1fb14
to
faefd7e
Compare
CohenCyril
reviewed
Sep 22, 2021
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
November 12, 2021 07:24
f433964
to
d8828f1
Compare
affeldt-aist
added a commit
that referenced
this pull request
Nov 12, 2021
- from PR #371 Co-authored-by: Cyril Cohen <[email protected]>
Merged
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
November 21, 2021 15:48
d8828f1
to
c0f3739
Compare
affeldt-aist
added a commit
that referenced
this pull request
Nov 26, 2021
- from PR #371 Co-authored-by: Cyril Cohen <[email protected]>
affeldt-aist
force-pushed
the
lebesgue_measure
branch
3 times, most recently
from
November 30, 2021 09:39
f928521
to
f60354b
Compare
affeldt-aist
added a commit
that referenced
this pull request
Dec 3, 2021
- from PR #371 Co-authored-by: Cyril Cohen <[email protected]>
affeldt-aist
added a commit
that referenced
this pull request
Dec 4, 2021
- from PR #371 Co-authored-by: Cyril Cohen <[email protected]>
affeldt-aist
force-pushed
the
lebesgue_measure
branch
2 times, most recently
from
December 14, 2021 04:57
2207aec
to
27678e7
Compare
affeldt-aist
added a commit
that referenced
this pull request
Dec 21, 2021
- from PR #371 Co-authored-by: Cyril Cohen <[email protected]>
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
January 4, 2022 11:25
27678e7
to
fae12c5
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
2 times, most recently
from
January 17, 2022 09:11
0ea3437
to
6ee8e06
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
January 20, 2022 03:22
785d2b3
to
0df92ac
Compare
affeldt-aist
force-pushed
the
lebesgue_measure
branch
from
February 9, 2022 09:12
0f32f5c
to
2441096
Compare
CohenCyril
force-pushed
the
lebesgue_measure
branch
from
February 9, 2022 14:30
f6cacb5
to
f0b5c2e
Compare
- does not cover new files + `mathcomp_extra.v` + `fsbigop.v` + `set_interval.v` + `lebesgue_measure.v` + `lebesgue_integral.v` + `functions`
- for `functions.v`, `mathcomp_extra.v`, `fsbig.v`
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merged as #543
A formalization of the Lebesgue measure and integral.
Fixes #368 .