Skip to content

Commit

Permalink
Fixes 20231108 (#1081)
Browse files Browse the repository at this point in the history
* fixes #1054

* fixes #1063

* fixes #1055

* fixes #1066

* fixes #1082
  • Loading branch information
affeldt-aist authored Nov 9, 2023
1 parent 99f98a0 commit 8d00204
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 23 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG_UNRELEASED.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,15 @@
- in `lebesgue_integral.v`:
+ order of arguments in the lemma `le_abse_integral`

- in `lebesgue_measure.v`:
+ remove one argument of `lebesgue_regularity_inner_sup`

- in `normedtype.v`:
+ order of arguments of `squeeze_cvgr`

- moved from `derive.v` to `normedtype.v`:
+ lemmas `cvg_at_rightE`, `cvg_at_leftE`

### Renamed

- in `charge.v`
Expand Down
5 changes: 5 additions & 0 deletions coq-mathcomp-analysis.opam
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ tags: [
"keyword:analysis"
"keyword:topology"
"keyword:real numbers"
"keyword:differentiation"
"keyword:derivative"
"keyword:measure theory"
"keyword:integration"
"keyword:Lebesgue"
"logpath:mathcomp.analysis"
]
authors: [
Expand Down
3 changes: 3 additions & 0 deletions coq-mathcomp-classical.opam
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ tags: [
"keyword:classical"
"keyword:logic"
"keyword:sets"
"keyword:set theory"
"keyword:functions"
"keyword:cardinal"
"logpath:mathcomp.classical"
]
authors: [
Expand Down
19 changes: 0 additions & 19 deletions theories/derive.v
Original file line number Diff line number Diff line change
Expand Up @@ -1351,25 +1351,6 @@ have /(EVT_max leab) [c clr fcmax] : {within `[a, b], continuous (- f)}.
by exists c => // ? /fcmax; rewrite ler_opp2.
Qed.

Lemma cvg_at_rightE (R : numFieldType) (V : normedModType R) (f : R -> V) x :
cvg (f @ x^') -> lim (f @ x^') = lim (f @ at_right x).
Proof.
move=> cvfx; apply/Logic.eq_sym.
apply: (@cvg_lim _ _ _ (at_right _)) => // A /cvfx /nbhs_ballP [_ /posnumP[e] xe_A].
by exists e%:num => //= y xe_y; rewrite lt_def => /andP [xney _]; apply: xe_A.
Qed.
Arguments cvg_at_rightE {R V} f x.

Lemma cvg_at_leftE (R : numFieldType) (V : normedModType R) (f : R -> V) x :
cvg (f @ x^') -> lim (f @ x^') = lim (f @ at_left x).
Proof.
move=> cvfx; apply/Logic.eq_sym.
apply: (@cvg_lim _ _ _ (at_left _)) => // A /cvfx /nbhs_ballP [_ /posnumP[e] xe_A].
exists e%:num => //= y xe_y; rewrite lt_def => /andP [xney _].
by apply: xe_A => //; rewrite eq_sym.
Qed.
Arguments cvg_at_leftE {R V} f x.

Lemma __deprecated__le0r_cvg_map (R : realFieldType) (T : topologicalType) (F : set (set T))
(FF : ProperFilter F) (f : T -> R) :
(\forall x \near F, 0 <= f x) -> cvg (f @ F) -> 0 <= lim (f @ F).
Expand Down
4 changes: 2 additions & 2 deletions theories/lebesgue_measure.v
Original file line number Diff line number Diff line change
Expand Up @@ -1819,7 +1819,7 @@ Notation emeasurable_fun_funeneg := measurable_funeneg (only parsing).
Notation measurable_fun_lim_esup := measurable_fun_limn_esup (only parsing).

Section lebesgue_regularity.
Context {d : measure_display} {R : realType}.
Context {R : realType}.
Let mu := [the measure _ _ of @lebesgue_measure R].

Local Open Scope ereal_scope.
Expand Down Expand Up @@ -1977,7 +1977,7 @@ rewrite -{1}(setDKU BA) (@le_trans _ _ (mu B + mu (A `\` B)))//.
by rewrite lee_add//; [apply: ereal_sup_ub => /=; exists B|exact/ltW].
Qed.

Lemma lebesgue_regularity_inner_sup (D : set R) (eps : R) : measurable D ->
Lemma lebesgue_regularity_inner_sup (D : set R) : measurable D ->
mu D = ereal_sup [set mu K | K in [set K | compact K /\ K `<=` D]].
Proof.
move=> mD; have [?|] := ltP (mu D) +oo.
Expand Down
21 changes: 20 additions & 1 deletion theories/normedtype.v
Original file line number Diff line number Diff line change
Expand Up @@ -2719,6 +2719,25 @@ Module Export NbhsNorm.
Definition nbhs_simpl := (nbhs_simpl,@nbhs_nbhs_norm,@filter_from_norm_nbhs).
End NbhsNorm.

Lemma cvg_at_rightE (R : numFieldType) (V : normedModType R) (f : R -> V) x :
cvg (f @ x^') -> lim (f @ x^') = lim (f @ x^'+).
Proof.
move=> cvfx; apply/Logic.eq_sym.
apply: (@cvg_lim _ _ _ (at_right _)) => // A /cvfx /nbhs_ballP [_ /posnumP[e] xe_A].
by exists e%:num => //= y xe_y; rewrite lt_def => /andP [xney _]; apply: xe_A.
Qed.
Arguments cvg_at_rightE {R V} f x.

Lemma cvg_at_leftE (R : numFieldType) (V : normedModType R) (f : R -> V) x :
cvg (f @ x^') -> lim (f @ x^') = lim (f @ x^'-).
Proof.
move=> cvfx; apply/Logic.eq_sym.
apply: (@cvg_lim _ _ _ (at_left _)) => // A /cvfx /nbhs_ballP [_ /posnumP[e] xe_A].
exists e%:num => //= y xe_y; rewrite lt_def => /andP [xney _].
by apply: xe_A => //; rewrite eq_sym.
Qed.
Arguments cvg_at_leftE {R V} f x.

(* TODO: generalize to R : numFieldType *)
Section hausdorff.

Expand Down Expand Up @@ -5007,7 +5026,7 @@ Section FilterRealType.
Context {T : Type} {a : set (set T)} {Fa : Filter a} {R : realFieldType}.
Implicit Types f g h : T -> R.

Lemma squeeze_cvgr f g h : (\near a, f a <= g a <= h a) ->
Lemma squeeze_cvgr f h g : (\near a, f a <= g a <= h a) ->
forall (l : R), f @ a --> l -> h @ a --> l -> g @ a --> l.
Proof.
move=> fgh l lfa lga; apply/cvgrPdist_lt => e e_gt0.
Expand Down
2 changes: 1 addition & 1 deletion theories/sequences.v
Original file line number Diff line number Diff line change
Expand Up @@ -979,7 +979,7 @@ Lemma cvg_expr (R : archiFieldType) (z : R) :
`|z| < 1 -> (GRing.exp z : R ^nat) --> (0 : R).
Proof.
move=> Nz_lt1; apply/norm_cvg0P; pose t := (1 - `|z|).
apply: (@squeeze_cvgr _ _ _ _ (cst 0) _ (t^-1 *: @harmonic R)); last 2 first.
apply: (@squeeze_cvgr _ _ _ _ (cst 0) (t^-1 *: @harmonic R)); last 2 first.
- exact: cvg_cst.
- by rewrite -(scaler0 _ t^-1); exact: (cvgZr cvg_harmonic).
near=> n; rewrite normr_ge0 normrX/= ler_pdivl_mull ?subr_gt0//.
Expand Down

0 comments on commit 8d00204

Please sign in to comment.