Skip to content

Commit d9ba8ca

Browse files
authored
Merge pull request #1610 from affeldt-aist/changelog1110
changelog for version 1.11.0
2 parents 666855b + fdb8272 commit d9ba8ca

File tree

13 files changed

+161
-242
lines changed

13 files changed

+161
-242
lines changed

CHANGELOG.md

Lines changed: 154 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,159 @@
11
# Changelog
22

3-
Latest releases: [[1.10.0] - 2025-04-21](#1100---2025-04-21), [[1.9.0] - 2025-02-20](#190---2025-02-20), and [[1.8.0] - 2024-12-19](#180---2024-12-19)
3+
Latest releases: [[1.11.0] - 2025-05-02](#1110---2025-05-02), [[1.10.0] - 2025-04-21](#1100---2025-04-21), and [[1.9.0] - 2025-02-20](#190---2025-02-20)
4+
5+
## [1.11.0] - 2025-05-02
6+
7+
### Added
8+
9+
- in `unstable.v`:
10+
+ lemmas `eq_exists2l`, `eq_exists2r`
11+
+ module `ProperNotations` with notations `++>`, `==>`, `~~>`
12+
13+
- in `mathcomp_extra.v`:
14+
+ lemmas `inr_inj`, `inl_inj`
15+
16+
- in `boolp.v`:
17+
+ lemmas `orW`, `or3W`, `or4W`
18+
19+
- in `classical_sets.v`:
20+
+ lemmas `in_set1`, `inr_in_set_inr`, `inl_in_set_inr`, `mem_image`, `mem_range`, `image_f`
21+
+ lemmas `inr_in_set_inl`, `inl_in_set_inl`
22+
+ lemmas `set_cst`, `image_nonempty`
23+
24+
- in `functions.v`:
25+
+ lemma `natmulfctE`
26+
27+
- in `constructive_ereal.v`:
28+
+ lemma `EFin_bigmax`
29+
+ lemmas `expe_ge0`, `expe_eq0`, `expe_gt0`
30+
31+
- in `ereal.v`:
32+
+ lemmas `ereal_infEN`, `ereal_supN`, `ereal_infN`, `ereal_supEN`
33+
+ lemmas `ereal_supP`, `ereal_infP`, `ereal_sup_gtP`, `ereal_inf_ltP`,
34+
`ereal_inf_leP`, `ereal_sup_geP`, `lb_ereal_infNy_adherent`,
35+
`ereal_sup_real`, `ereal_inf_real`
36+
+ lemmas `ereal_sup_cst`, `ereal_inf_cst`,
37+
`ereal_sup_pZl`, `ereal_supZl`, `ereal_inf_pZl`, `ereal_infZl`
38+
39+
- in `sequences.v`:
40+
+ lemmas `ereal_inf_seq`, `ereal_sup_seq`
41+
42+
- in `realfun.v`:
43+
+ lemma `cvge_ninftyP`
44+
45+
- in `exp.v`:
46+
+ lemma `poweRE`
47+
+ lemmas `lnNy`, `powR_cvg0`, `derivable_powR`, `powR_derive1`
48+
+ Instance `is_derive1_powR`
49+
50+
- in `measure.v`:
51+
+ lemmas `mnormalize_id`, `measurable_fun_eqP`
52+
53+
- in `lebesgue_integral_approximation.v` (now `measurable_fun_approximation.v`):
54+
+ lemma `measurable_prod`
55+
+ lemma `measurable_fun_lte`
56+
+ lemma `measurable_fun_lee`
57+
+ lemma `measurable_fun_eqe`
58+
+ lemma `measurable_poweR`
59+
60+
- in `ftc.v`:
61+
+ lemma `integrable_locally`
62+
63+
- in `probability.v`:
64+
+ lemmas `eq_bernoulli`, `eq_bernoulliV2`
65+
66+
### Changed
67+
68+
- in `pi_irrational`:
69+
+ definition `rational`
70+
71+
### Renamed
72+
73+
- in `kernel.v`:
74+
+ `isFiniteTransition` -> `isFiniteTransitionKernel`
75+
76+
- in `ereal.v`:
77+
+ `ereal_sup_le` -> `ereal_sup_ge`
78+
79+
- in `pseudometric_normed_Zmodule.v`:
80+
+ `opp_continuous` -> `oppr_continuous`
81+
82+
- in `lebesgue_integral_approximation.v` (now `measurable_fun_approximation.v`):
83+
+ `emeasurable_fun_lt` -> `measurable_lte`
84+
+ `emeasurable_fun_le` -> `measurable_lee`
85+
+ `emeasurable_fun_eq` -> `measurable_lee`
86+
+ `emeasurable_fun_neq` -> `measurable_neqe`
87+
88+
- file `lebesgue_integral_approximation.v` -> `measurable_fun_approximation.v`
89+
90+
### Generalized
91+
92+
- in `functions.v`:
93+
+ `fct_sumE`, `addrfctE`, `sumrfctE` (from `zmodType` to `nmodType`)
94+
+ `scalerfctE` (from `pointedType` to `Type`)
95+
96+
- in `normedtype.v`:
97+
+ lemmas `gt0_cvgMlNy`, `gt0_cvgMly`
98+
99+
- in `measurable_realfun.v`
100+
+ lemma `measurable_ln`
101+
102+
### Removed
103+
104+
- in `functions.v`:
105+
+ definitions `fct_ringMixin`, `fct_ringMixin` (was only used in an `HB.instance`)
106+
107+
- in `constructive_ereal.v`:
108+
+ notations `esum_ninftyP`, `esum_ninfty`, `esum_pinftyP`, `esum_pinfty` (deprecated since 0.6.0)
109+
110+
- in `pseudometric_structure.v`:
111+
+ notations `cvg_ballPpos`, `app_cvg_locally` (deprecated since 0.6.0)
112+
113+
- in `product_topology.v`:
114+
+ notation `compact_setM` (deprecated since 0.6.0)
115+
116+
- in `separation_axioms.v`:
117+
+ notations `cvg_map_lim`, `cvgi_map_lim` (deprecated since 0.6.6)
118+
119+
- in `sequences.v`:
120+
+ notation `nonincreasing_cvg_ge` (deprecated since 0.6.6)
121+
+ notation `nondecreasing_cvg_le` (deprecated since 0.6.6)
122+
+ notations `nonincreasing_cvg`, `nondecreasing_cvg`, `nonincreasing_is_cvg`,
123+
`nondecreasing_is_cvg`, `nondecreasing_dvg_lt`, `near_nondecreasing_is_cvg`,
124+
`near_nonincreasing_is_cvg` (deprecated since 0.6.6)
125+
+ notation `ereal_nondecreasing_opp` (deprecated since 0.6.6)
126+
+ notations `ereal_nondecreasing_cvg`, `ereal_nondecreasing_is_cvg`, `ereal_nonincreasing_cvg`,
127+
`ereal_nonincreasing_is_cvg` (deprecated since 0.6.6)
128+
+ notations `lim_sup`, `lim_inf`, `lim_infN`, `lim_supE`, `lim_infE`, `lim_inf_le_lim_sup`,
129+
`cvg_lim_infE`, `cvg_lim_supE`, `le_lim_supD`, `le_lim_infD`, `lim_supD`, `lim_infD`
130+
+ notations `lim_einf_shift`, `lim_esup_le_cvg`, `lim_einfN`, `lim_esupN`, `lim_einf_sup`,
131+
`cvgNy_lim_einf_sup`, `cvg_lim_einf_sup`, `is_cvg_lim_einfE`, `is_cvg_lim_esupE`
132+
133+
- in `exp.v`:
134+
+ notation `gt0_ler_powR` (deprecated since 0.6.5)
135+
136+
- in `measure.v`:
137+
+ notation `measurable_fun_ext` (deprecated since 0.6.2)
138+
+ notations `measurable_fun_id`, `measurable_fun_cst`, `measurable_fun_comp` (deprecated since 0.6.3)
139+
+ notation `measurable_funT_comp` (deprecated since 0.6.3)
140+
141+
- in `measurable_realfun.v`:
142+
+ notation `measurable_fun_ln` (deprecated since 0.6.3)
143+
+ notations `emeasurable_itv_bnd_pinfty`, `emeasurable_itv_ninfty_bnd` (deprecated since 0.6.2)
144+
+ notation `measurable_fun_lim_sup` (deprecated since 0.6.6)
145+
+ notation `measurable_fun_max` (deprecated since 0.6.3)
146+
+ notation `measurable_fun_er_map` (deprecated since 0.6.3)
147+
+ notations `emeasurable_funN`, `emeasurable_fun_max`, `emeasurable_fun_min`,
148+
`emeasurable_fun_funepos`, `emeasurable_fun_funeneg` (deprecated since 0.6.3)
149+
+ notation `measurable_fun_lim_esup` (deprecated since 0.6.6)
150+
151+
- in `lebesgue_integral_nonneg.v`:
152+
+ notations `ge0_integralM_EFin`, `ge0_integralM`, `integralM_indic`, `integralM_indic_nnsfun`
153+
(deprecated since 0.6.4)
154+
155+
- in `lebesgue_integrable.v`:
156+
+ notation `integralM` (deprecated since 0.6.4)
4157

5158
## [1.10.0] - 2025-04-21
6159

CHANGELOG_UNRELEASED.md

Lines changed: 0 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -4,125 +4,16 @@
44

55
### Added
66

7-
- in `probability.v`:
8-
+ lemmas `eq_bernoulli`, `eq_bernoulliV2`
9-
10-
- in `measure.v`:
11-
+ lemmas `mnormalize_id`, `measurable_fun_eqP`
12-
13-
- in `ftc.v`:
14-
+ lemma `integrable_locally`
15-
16-
- in `constructive_ereal.v`:
17-
+ lemma `EFin_bigmax`
18-
19-
- in `mathcomp_extra.v`:
20-
+ lemmas `inr_inj`, `inl_inj`
21-
22-
- in `classical_sets.v`:
23-
+ lemmas `in_set1`, `inr_in_set_inr`, `inl_in_set_inr`, `mem_image`, `mem_range`, `image_f`
24-
+ lemmas `inr_in_set_inl`, `inl_in_set_inl`
25-
26-
- in `lebesgue_integral_approximation.v` (now `measurable_fun_approximation.v`):
27-
+ lemma `measurable_prod`
28-
+ lemma `measurable_fun_lte`
29-
+ lemma `measurable_fun_lee`
30-
+ lemma `measurable_fun_eqe`
31-
+ lemma `measurable_poweR`
32-
33-
- in `exp.v`:
34-
+ lemma `poweRE`
35-
36-
- in `exp.v`:
37-
+ lemmas `lnNy`, `powR_cvg0`, `derivable_powR`, `powR_derive1`
38-
+ Instance `is_derive1_powR`
39-
- in `realfun.v`:
40-
+ lemma `cvge_ninftyP`
41-
42-
- in `boolp.v`:
43-
+ lemmas `orW`, `or3W`, `or4W`
44-
45-
- in `classical_sets.v`:
46-
+ lemmas `set_cst`, `image_nonempty`
47-
48-
- in `unstable.v`:
49-
+ lemmas `eq_exists2l`, `eq_exists2r`
50-
+ module `ProperNotations` with notations `++>`, `==>`, `~~>`
51-
- in `functions.v`:
52-
+ lemma `natmulfctE`
53-
54-
- in `ereal.v`:
55-
+ lemmas `ereal_infEN`, `ereal_supN`, `ereal_infN`, `ereal_supEN`
56-
+ lemmas `ereal_supP`, `ereal_infP`, `ereal_sup_gtP`, `ereal_inf_ltP`,
57-
`ereal_inf_leP`, `ereal_sup_geP`, `lb_ereal_infNy_adherent`,
58-
`ereal_sup_real`, `ereal_inf_real`
59-
- in `constructive_ereal.v`:
60-
+ lemmas `expe_ge0`, `expe_eq0`, `expe_gt0`
61-
62-
- in `ereal.v`:
63-
+ lemmas `ereal_sup_cst`, `ereal_inf_cst`,
64-
`ereal_sup_pZl`, `ereal_supZl`, `ereal_inf_pZl`, `ereal_infZl`
65-
66-
- in `sequences.v`:
67-
+ lemmas `ereal_inf_seq`, `ereal_sup_seq`
68-
697
### Changed
708

71-
- in `pi_irrational`:
72-
+ definition `rational`
73-
749
### Renamed
7510

76-
- in `kernel.v`:
77-
+ `isFiniteTransition` -> `isFiniteTransitionKernel`
78-
79-
- in `lebesgue_integral_approximation.v`:
80-
+ `emeasurable_fun_lt` -> `measurable_lte`
81-
+ `emeasurable_fun_le` -> `measurable_lee`
82-
+ `emeasurable_fun_eq` -> `measurable_lee`
83-
+ `emeasurable_fun_neq` -> `measurable_neqe`
84-
85-
- file `lebesgue_integral_approximation.v` -> `measurable_fun_approximation.v`
86-
87-
- in `ereal.v`:
88-
+ `ereal_sup_le` -> `ereal_sup_ge`
89-
90-
- in `pseudometric_normed_Zmodule.v`:
91-
+ `opp_continuous` -> `oppr_continuous`
92-
9311
### Generalized
9412

95-
- in `normedtype.v`:
96-
+ lemmas `gt0_cvgMlNy`, `gt0_cvgMly`
97-
- in `functions.v`:
98-
+ `fct_sumE`, `addrfctE`, `sumrfctE` (from `zmodType` to `nmodType`)
99-
+ `scalerfctE` (from `pointedType` to `Type`)
100-
101-
- in `measurable_realfun.v`
102-
+ lemma `measurable_ln`
103-
10413
### Deprecated
10514

10615
### Removed
10716

108-
- in `functions.v`:
109-
+ definitions `fct_ringMixin`, `fct_ringMixin` (was only used in an `HB.instance`)
110-
111-
- in `measurable_realfun.v`:
112-
+ notation `measurable_fun_ln` (deprecated since 0.6.3)
113-
+ notations `emeasurable_itv_bnd_pinfty`, `emeasurable_itv_ninfty_bnd` (deprecated since 0.6.2)
114-
+ notation `measurable_fun_lim_sup` (deprecated since 0.6.6)
115-
+ notation `measurable_fun_max` (deprecated since 0.6.3)
116-
+ notation `measurable_fun_er_map` (deprecated since 0.6.3)
117-
+ notations `emeasurable_funN`, `emeasurable_fun_max`, `emeasurable_fun_min`,
118-
`emeasurable_fun_funepos`, `emeasurable_fun_funeneg` (deprecated since 0.6.3)
119-
+ notation `measurable_fun_lim_esup` (deprecated since 0.6.6)
120-
121-
- in `measure.v`:
122-
+ notation `measurable_fun_ext` (deprecated since 0.6.2)
123-
+ notations `measurable_fun_id`, `measurable_fun_cst`, `measurable_fun_comp` (deprecated since 0.6.3)
124-
+ notation `measurable_funT_comp` (deprecated since 0.6.3)
125-
12617
### Infrastructure
12718

12819
### Misc

INSTALL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ $ opam install coq-mathcomp-analysis
4848
```
4949
To install a precise version, type, say
5050
```
51-
$ opam install coq-mathcomp-analysis.1.9.0
51+
$ opam install coq-mathcomp-analysis.1.11.0
5252
```
5353
4. Everytime you want to work in this same context, you need to type
5454
```
@@ -88,7 +88,7 @@ $ opam install coq-mathcomp-field.2.3.0
8888
```
8989
3. Install the Finite maps library
9090
```
91-
$ opam install coq-mathcomp-finmap.2.1.0
91+
$ opam install coq-mathcomp-finmap.2.2.0
9292
```
9393
4. Install the Hierarchy Builder
9494
```

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ We try to preserve backward compatibility as best as we can.
7777

7878
Each file is documented in its header in ASCII.
7979

80-
[HTML rendering of the source code](https://math-comp.github.io/analysis/htmldoc_1_10_0/index.html) (using a fork of [`coq2html`](https://github.com/xavierleroy/coq2html)).
80+
[HTML rendering of the source code](https://math-comp.github.io/analysis/htmldoc_1_11_0/index.html) (using [`rocqnavi`](https://github.com/affeldt-aist/rocqnavi)).
8181
It includes inheritance diagrams for the mathematical structures that MathComp-Analysis adds on top of MathComp's ones.
8282

8383
Overview presentations:
@@ -92,13 +92,16 @@ Publications about MathComp-Analysis:
9292
- [Measure Construction by Extension in Dependent Type Theory with Application to Integration](https://arxiv.org/pdf/2209.02345.pdf) (2023) doi:[10.1007/s10817-023-09671-5](https://doi.org/10.1007/s10817-023-09671-5)
9393
- [The Radon-Nikodým Theorem and the Lebesgue-Stieltjes Measure in Coq](https://www.jstage.jst.go.jp/article/jssst/41/2/41_2_41/_pdf/-char/en) (2024) doi:[10.11309/jssst.41.2_41](https://doi.org/10.11309/jssst.41.2_41)
9494
- [A Comprehensive Overview of the Lebesgue Differentiation Theorem in Coq](https://drops.dagstuhl.de/storage/00lipics/lipics-vol309-itp2024/LIPIcs.ITP.2024.5/LIPIcs.ITP.2024.5.pdf) (2024) doi:[10.4230/LIPIcs.ITP.2024.5](https://doi.org/10.4230/LIPIcs.ITP.2024.5)
95+
- [Prouver que pi est irrationnel avec MathComp-Analysis](https://hal.science/hal-04859455/document) (2025)
9596

9697
Other work using MathComp-Analysis:
9798
- [A Formal Classical Proof of Hahn-Banach in Coq](https://lipn.univ-paris13.fr/~kerjean/slides/slidesTYPES19.pdf) (2019)
9899
- [Semantics of Probabilistic Programs using s-Finite Kernels in Coq](https://hal.inria.fr/hal-03917948/document) (2023)
99100
- [CoqQ: Foundational Verification of Quantum Programs](https://arxiv.org/pdf/2207.11350.pdf) (2023)
100101
- [Experimenting with an intrinsically-typed probabilistic programming language in Coq](https://staff.aist.go.jp/reynald.affeldt/documents/syntax-aplas2023.pdf) (2023)
101102
- [Taming Differentiable Logics with Coq Formalisation](https://drops.dagstuhl.de/storage/00lipics/lipics-vol309-itp2024/LIPIcs.ITP.2024.4/LIPIcs.ITP.2024.4.pdf) (2024)
103+
- [Décomposition Algébrique Cylindrique en Coq/Rocq](https://inria.hal.science/hal-04859512/document) (2025)
104+
- [Semantics of Probabilistic Programs using s-Finite Kernels in Dependent Type Theory](https://dl.acm.org/doi/pdf/10.1145/3732291) (2025)
102105

103106
## Development information
104107

reals/constructive_ereal.v

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,15 +1180,6 @@ move=> fio; apply/idP/existsP => [/eqP /=|[/= i /andP[Pi /eqP fi]]].
11801180
by apply/eqP/esum_eqyP => //; exists i.
11811181
Qed.
11821182

1183-
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `esum_eqNyP`")]
1184-
Notation esum_ninftyP := esum_eqNyP (only parsing).
1185-
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `esum_eqNy`")]
1186-
Notation esum_ninfty := esum_eqNy (only parsing).
1187-
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `esum_eqyP`")]
1188-
Notation esum_pinftyP := esum_eqyP (only parsing).
1189-
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `esum_eqy`")]
1190-
Notation esum_pinfty := esum_eqy (only parsing).
1191-
11921183
Lemma adde_ge0 x y : 0 <= x -> 0 <= y -> 0 <= x + y.
11931184
Proof. by move: x y => [r0| |] [r1| |] // ? ?; rewrite !lee_fin addr_ge0. Qed.
11941185

theories/exp.v

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,9 +1108,6 @@ Qed.
11081108
End PowR.
11091109
Notation "a `^ x" := (powR a x) : ring_scope.
11101110

1111-
#[deprecated(since="mathcomp-analysis 0.6.5", note="renamed `ge0_ler_powR`")]
1112-
Notation gt0_ler_powR := ge0_ler_powR.
1113-
11141111
Section poweR.
11151112
Local Open Scope ereal_scope.
11161113
Context {R : realType}.

theories/ftc.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1648,7 +1648,7 @@ rewrite (@increasing_ge0_integration_by_substitutiony (\- (F \o -%R))%R); last 8
16481648
by apply: funext => r/=; rewrite fctE opprK.
16491649
- apply/continuous_within_itvcyP; split.
16501650
move=> x; rewrite in_itv/= opprK andbT => Fbx.
1651-
apply: continuous_comp; first exact: opp_continuous.
1651+
apply: continuous_comp; first exact: oppr_continuous.
16521652
by apply: cG; rewrite in_itv/= ltrNl.
16531653
by rewrite /= !opprK; exact/cvg_at_leftNP.
16541654
- move=> z; rewrite in_itv/= opprK andbT => Fbz.

theories/lebesgue_integral_theory/lebesgue_integrable.v

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,6 @@ Lemma integralZr r :
519519
Proof. by rewrite muleC -integralZl; under eq_integral do rewrite muleC. Qed.
520520

521521
End integralZl.
522-
#[deprecated(since="mathcomp-analysis 0.6.4", note="use `integralZl` instead")]
523-
Notation integralM := integralZl (only parsing).
524522

525523
Section integralD_EFin.
526524
Local Open Scope ereal_scope.

0 commit comments

Comments
 (0)