Skip to content

Commit 11ee871

Browse files
authored
Changelog for version 1.13.0 (#1701)
* changelog for version 1.13.0
1 parent 84996a4 commit 11ee871

8 files changed

Lines changed: 145 additions & 139 deletions

File tree

CHANGELOG.md

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

3-
Latest releases: [[1.12.0] - 2025-07-03](#1120---2025-07-03), [[1.11.0] - 2025-05-02](#1110---2025-05-02), and [[1.10.0] - 2025-04-21](#1100---2025-04-21)
3+
Latest releases: [[1.13.0] - 2025-08-16](#1130---2025-08-16), [[1.12.0] - 2025-07-03](#1120---2025-07-03), and [[1.11.0] - 2025-05-02](#1110---2025-05-02)
4+
5+
## [1.13.0] - 2025-08-16
6+
7+
### Added
8+
9+
- in `unstable.v`:
10+
+ lemma `sqrtK`
11+
12+
- in `mathcomp_extra.v`:
13+
+ lemmas `subrKC`, `sumr_le0`, `card_fset_sum1`
14+
15+
- in `functions.v`:
16+
+ lemmas `fct_prodE`, `prodrfctE`
17+
18+
- in `classical_orders.v`:
19+
+ lemma `big_lexi_order_prefix_closed_itv`
20+
21+
- in `topology_structure.v`:
22+
+ lemmas `denseI`, `dense0`
23+
24+
- in `pseudometric_normed_Zmodule.v`:
25+
+ lemma `dense_set1C`
26+
27+
- in `constructive_ereal.v`:
28+
+ lemma `expe0`, `mule0n`, `muleS`
29+
30+
- in `reals.v`:
31+
+ definition `irrational`
32+
+ lemmas `irrationalE`, `rationalP`
33+
34+
- new file `borel_hierarchy.v`:
35+
+ definitions `Gdelta`, `Fsigma`
36+
+ lemmas `closed_Fsigma`, `Gdelta_measurable`, `Gdelta_subspace_open`,
37+
`irrational_Gdelta`, `not_rational_Gdelta`
38+
39+
- in `realfun.v`:
40+
+ instance `is_derive1_sqrt`
41+
42+
- in `exp.v`:
43+
+ lemma `norm_expR`
44+
+ lemmas `expeR_eqy`
45+
+ lemmas `lt0_powR1`, `powR_eq1`
46+
+ definition `lne`
47+
+ lemmas `le0_lneNy`, `lne_EFin`, `expeRK`, `lneK`, `lneK_eq`, `lne1`, `lneM`,
48+
`lne_inj`, `lneV`, `lne_div`, `lte_lne`, `lee_lne`, `lneXn`, `le_lne1Dx`,
49+
`lne_sublinear`, `lne_ge0`, `lne_lt0`, `lne_gt0`, `lne_le0`
50+
+ lemma `lne_eq0`
51+
52+
- in `lebesgue_measure.v`:
53+
+ lemma `countable_lebesgue_measure0`
54+
55+
- in `charge.v`:
56+
+ definition `copp`, lemma `cscaleN1`
57+
58+
- in `hoelder.v`
59+
+ lemma `hoelder_conj_ge1`
60+
61+
### Changed
62+
63+
- in `constructive_ereal.v`:
64+
+ lemma `mulN1e`
65+
66+
- moved from `pi_irrational.v` to `reals.v` and changed
67+
+ definition `rational`
68+
69+
- in `measurable_realfun.v`:
70+
+ generalized and renamed:
71+
* `measurable_fun_itv_bndo_bndc` -> `measurable_fun_itv_bndo_bndcP`
72+
* `measurable_fun_itv_obnd_cbnd` -> `measurable_fun_itv_obnd_cbndP`
73+
74+
- moved from `simple_functions.v` to `measure.v`
75+
+ notations `{mfun _ >-> _}`, `[mfun of _]`
76+
+ mixin `isMeasurableFun`, structure `MesurableFun`, lemmas `measurable_funP`
77+
+ definitions `mfun`, `mfun_key`, canonical `mfun_keyed`
78+
+ definitions `mfun_Sub_subproof`, `mfun_Sub`
79+
+ lemmas `mfun_rect`, `mfun_valP`, `mfuneqP`
80+
+ lemma `measurableT_comp_subproof`
81+
82+
- moved from `simple_functions.v` to `measure.v` and renamed:
83+
+ lemma `measurable_sfunP` -> `measurable_funPTI`
84+
85+
- moved from `simple_functions.v` to `measurable_realfun.v`
86+
+ lemmas `mfun_subring_closed`, `mfun0`, `mfun1`, `mfunN`,
87+
`mfunD`, `mfunB`, `mfunM`, `mfunMn`, `mfun_sum`, `mfun_prod`, `mfunX`
88+
+ definitions `mindic`, `indic_mfun`, `scale_mfun`, `max_mfun`
89+
+ lemmas `mindicE`, `max_mfun_subproof`
90+
91+
- moved from `simple_functions.v` to `lebesgue_stieltjes_measure.v` and renamed:
92+
+ lemma `measurable_sfun_inP` -> `measurable_funP1`
93+
94+
### Renamed
95+
96+
- in `derive.v`:
97+
+ `derivemxE` -> `deriveEjacobian`
98+
99+
- in `exp.v`:
100+
+ `ltr_expeR` -> `lte_expeR`
101+
+ `ler_expeR` -> `lee_expeR`
102+
103+
- in `lebesgue_stieltjes_measure.v`:
104+
+ `cumulativeNy0` -> `cumulativeNy`
105+
+ `cumulativey1` -> `cumulativey`
106+
107+
- `measurable_sfunP` -> `measurable_funPTI`
108+
(and moved from from `simple_functions.v` to `measure.v`)
109+
110+
- `measurable_sfun_inP` -> `measurable_funP1`
111+
(and moved from `simple_functions.v` to `lebesgue_stieltjes_measure.v`)
112+
113+
### Generalized
114+
115+
- in `functions.v`
116+
+ lemma `fct_sumE` (from a pointwise equality to a functional one)
117+
118+
### Removed
119+
120+
- file `forms.v` (superseded by MathComp's `sesquilinear.v`)
121+
122+
- in `unstable.v`:
123+
+ `dependent_choice_Type` (use Rocq's `dependent_choice` instead)
124+
125+
- in `simple_functions.v`:
126+
+ duplicated hints about `measurable_set1`
127+
+ lemma `measurableT_comp_subproof` turned into a `Let` (now in `measure.v`)
4128

5129
## [1.12.0] - 2025-07-03
6130

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 `unstable.v`:
8-
+ lemma `sqrtK`
9-
10-
- in `realfun.v`:
11-
+ instance `is_derive1_sqrt`
12-
13-
- in `mathcomp_extra.v`:
14-
+ lemmas `subrKC`, `sumr_le0`, `card_fset_sum1`
15-
16-
- in `functions.v`:
17-
+ lemmas `fct_prodE`, `prodrfctE`
18-
19-
- in `exp.v`:
20-
+ lemma `norm_expR`
21-
22-
- in `hoelder.v`
23-
+ lemma `hoelder_conj_ge1`
24-
25-
- in `reals.v`:
26-
+ definition `irrational`
27-
+ lemmas `irrationalE`, `rationalP`
28-
29-
- in `topology_structure.v`:
30-
+ lemmas `denseI`, `dense0`
31-
32-
- in `pseudometric_normed_Zmodule.v`:
33-
+ lemma `dense_set1C`
34-
35-
- new file `borel_hierarchy.v`:
36-
+ definitions `Gdelta`, `Fsigma`
37-
+ lemmas `closed_Fsigma`, `Gdelta_measurable`, `Gdelta_subspace_open`,
38-
`irrational_Gdelta`, `not_rational_Gdelta`
39-
40-
- in `constructive_ereal.v`:
41-
+ lemma `expe0`, `mule0n`, `muleS`
42-
43-
- in `exp.v`:
44-
+ lemmas `expeR_eqy`
45-
+ lemmas `lt0_powR1`, `powR_eq1`
46-
+ definition `lne`
47-
+ lemmas `le0_lneNy`, `lne_EFin`, `expeRK`, `lneK`, `lneK_eq`, `lne1`, `lneM`,
48-
`lne_inj`, `lneV`, `lne_div`, `lte_lne`, `lee_lne`, `lneXn`, `le_lne1Dx`,
49-
`lne_sublinear`, `lne_ge0`, `lne_lt0`, `lne_gt0`, `lne_le0`
50-
+ lemma `lne_eq0`
51-
52-
- in `charge.v`:
53-
+ definition `copp`, lemma `cscaleN1`
54-
- in `classical_orders.v`:
55-
+ lemma `big_lexi_order_prefix_closed_itv`
56-
57-
- in `lebesgue_measure.v`:
58-
+ lemma `countable_lebesgue_measure0`
59-
607
### Changed
618

62-
- moved from `pi_irrational.v` to `reals.v` and changed
63-
+ definition `rational`
64-
65-
- in `constructive_ereal.v`:
66-
+ lemma `mulN1e`
67-
68-
- in `measurable_realfun.v`:
69-
+ generalized and renamed:
70-
* `measurable_fun_itv_bndo_bndc` -> `measurable_fun_itv_bndo_bndcP`
71-
* `measurable_fun_itv_obnd_cbnd` -> `measurable_fun_itv_obnd_cbndP`
72-
- moved from `simple_functions.v` to `measure.v`
73-
+ notations `{mfun _ >-> _}`, `[mfun of _]`
74-
+ mixin `isMeasurableFun`, structure `MesurableFun`, lemmas `measurable_funP`
75-
+ definitions `mfun`, `mfun_key`, canonical `mfun_keyed`
76-
+ definitions `mfun_Sub_subproof`, `mfun_Sub`
77-
+ lemmas `mfun_rect`, `mfun_valP`, `mfuneqP`
78-
+ lemma `measurableT_comp_subproof`
79-
80-
- moved from `simple_functions.v` to `measure.v` and renamed:
81-
+ lemma `measurable_sfunP` -> `measurable_funPTI`
82-
83-
- moved from `simple_functions.v` to `measurable_realfun.v`
84-
+ lemmas `mfun_subring_closed`, `mfun0`, `mfun1`, `mfunN`,
85-
`mfunD`, `mfunB`, `mfunM`, `mfunMn`, `mfun_sum`, `mfun_prod`, `mfunX`
86-
+ definitions `mindic`, `indic_mfun`, `scale_mfun`, `max_mfun`
87-
+ lemmas `mindicE`, `max_mfun_subproof`
88-
89-
- moved from `simple_functions.v` to `lebesgue_stieltjes_measure.v` and renamed:
90-
+ lemma `measurable_sfun_inP` -> `measurable_funP1`
91-
929
### Renamed
9310

94-
- in `lebesgue_stieltjes_measure.v`:
95-
+ `cumulativeNy0` -> `cumulativeNy`
96-
+ `cumulativey1` -> `cumulativey`
97-
98-
- in `exp.v`:
99-
+ `ltr_expeR` -> `lte_expeR`
100-
+ `ler_expeR` -> `lee_expeR`
101-
102-
- in `derive.v`:
103-
+ `derivemxE` -> `deriveEjacobian`
104-
105-
- `measurable_sfunP` -> `measurable_funPTI`
106-
(and moved from from `simple_functions.v` to `measure.v`)
107-
108-
- `measurable_sfun_inP` -> `measurable_funP1`
109-
(and moved from `simple_functions.v` to `lebesgue_stieltjes_measure.v`)
110-
11111
### Generalized
11212

113-
- in `functions.v`
114-
+ lemma `fct_sumE` (from a pointwise equality to a functional one)
115-
11613
### Deprecated
11714

11815
### Removed
11916

120-
- file `forms.v` (superseded by MathComp's `sesquilinear.v`)
121-
122-
- in `simple_functions.v`:
123-
+ duplicated hints about `measurable_set1`
124-
+ lemma `measurableT_comp_subproof` turned into a `Let` (now in `measure.v`)
125-
12617
### Infrastructure
12718

12819
### Misc

INSTALL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Requirements
44

55
- [The Coq Proof Assistant version ≥ 8.20 / Rocq Prover version ≥ 9.0](https://rocq-prover.org)
6-
- [Mathematical Components version ≥ 2.2.0](https://github.com/math-comp/math-comp)
6+
- [Mathematical Components version ≥ 2.3.0](https://github.com/math-comp/math-comp)
77
- [Finmap library version ≥ 2.1.0](https://github.com/math-comp/finmap)
88
- [Hierarchy builder version ≥ 1.8.0](https://github.com/math-comp/hierarchy-builder)
99
- [bigenough ≥ 1.0.0](https://github.com/math-comp/bigenough)
@@ -50,7 +50,7 @@ $ opam install coq-mathcomp-analysis
5050
```
5151
To install a precise version, type, say
5252
```
53-
$ opam install coq-mathcomp-analysis.1.12.0
53+
$ opam install coq-mathcomp-analysis.1.13.0
5454
```
5555
4. Everytime you want to work in this same context, you need to type
5656
```

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@ In terms of [opam](https://opam.ocaml.org/doc/Install.html), it comes as the fol
2626
- License: [CeCILL-C](LICENSE)
2727
- Compatible Rocq versions: Coq 8.20, Rocq 9.0 (or dev)
2828
- Additional dependencies:
29-
- [MathComp ssreflect 2.1.0 or later](https://math-comp.github.io)
30-
- [MathComp fingroup 2.1.0 or later](https://math-comp.github.io)
31-
- [MathComp algebra 2.1.0 or later](https://math-comp.github.io)
32-
- [MathComp solvable 2.1.0 or later](https://math-comp.github.io)
33-
- [MathComp field 2.1.0 or later](https://math-comp.github.io)
34-
- [MathComp finmap 2.0.0](https://github.com/math-comp/finmap)
29+
- [MathComp ssreflect 2.3.0 or later](https://math-comp.github.io)
30+
- [MathComp fingroup 2.3.0 or later](https://math-comp.github.io)
31+
- [MathComp algebra 2.3.0 or later](https://math-comp.github.io)
32+
- [MathComp solvable 2.3.0 or later](https://math-comp.github.io)
33+
- [MathComp field 2.3.0 or later](https://math-comp.github.io)
34+
- [MathComp finmap 2.1.0](https://github.com/math-comp/finmap)
3535
- [MathComp bigenough 1.0.0](https://github.com/math-comp/bigenough)
3636
- [Hierarchy Builder 1.8.0 or later](https://github.com/math-comp/hierarchy-builder)
3737
- Coq/Rocq namespace: `mathcomp.analysis`
@@ -73,7 +73,7 @@ We try to preserve backward compatibility as best as we can.
7373

7474
Each file is documented in its header in ASCII.
7575

76-
[HTML rendering of the source code](https://math-comp.github.io/analysis/htmldoc_1_12_0/index.html) (using [`rocqnavi`](https://github.com/affeldt-aist/rocqnavi)).
76+
[HTML rendering of the source code](https://math-comp.github.io/analysis/htmldoc_1_13_0/index.html) (using [`rocqnavi`](https://github.com/affeldt-aist/rocqnavi)).
7777
It includes inheritance diagrams for the mathematical structures that MathComp-Analysis adds on top of MathComp's ones.
7878

7979
Overview presentations:

classical/unstable.v

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,12 @@ Unset Printing Implicit Defensive.
3535
Import Order.TTheory GRing.Theory Num.Theory.
3636
Local Open Scope ring_scope.
3737

38-
(* NB: Coq 8.17.0 generalizes dependent_choice from Set to Type
39-
making the following lemma redundant *)
40-
Section dependent_choice_Type.
41-
Context X (R : X -> X -> Prop).
42-
43-
Lemma dependent_choice_Type : (forall x, {y | R x y}) ->
44-
forall x0, {f | f 0%N = x0 /\ forall n, R (f n) (f n.+1)}.
45-
Proof.
46-
move=> h x0.
47-
set (f := fix f n := if n is n'.+1 then proj1_sig (h (f n')) else x0).
48-
exists f; split => //.
49-
intro n; induction n; simpl; apply: proj2_sig.
50-
Qed.
51-
End dependent_choice_Type.
52-
5338
Section max_min.
5439
Variable R : realFieldType.
5540

5641
Let nz2 : 2%:R != 0 :> R. Proof. by rewrite pnatr_eq0. Qed.
5742

43+
(* NB: to appear in MathComp 2.5.0 (PR #1416) *)
5844
Lemma maxr_absE (x y : R) : Num.max x y = (x + y + `|x - y|) / 2%:R.
5945
Proof.
6046
apply: canRL (mulfK _) _ => //; rewrite ?pnatr_eq0//.
@@ -63,6 +49,7 @@ case: lerP => _; (* TODO: ring *) rewrite [2%:R]mulr2n mulrDr mulr1.
6349
by rewrite (addrC (x + y)) subrKA.
6450
Qed.
6551

52+
(* NB: to appear in MathComp 2.5.0 (PR #1416) *)
6653
Lemma minr_absE (x y : R) : Num.min x y = (x + y - `|x - y|) / 2%:R.
6754
Proof.
6855
apply: (addrI (Num.max x y)); rewrite addr_max_min maxr_absE. (* TODO: ring *)
@@ -77,7 +64,8 @@ Section bigmax_seq.
7764
Context d {T : orderType d} {x : T} {I : eqType}.
7865
Variables (r : seq I) (i0 : I) (P : pred I).
7966

80-
(* NB: as of [2023-08-28], bigop.leq_bigmax_seq already exists for nat *)
67+
(* NB: as of [2023-08-28], bigop.leq_bigmax_seq already exists for nat,
68+
PRed to MathComp (PR #1449) *)
8169
Lemma le_bigmax_seq F :
8270
i0 \in r -> P i0 -> (F i0 <= \big[Order.max/x]_(i <- r | P i) F i)%O.
8371
Proof.
@@ -86,7 +74,8 @@ move=> /predU1P[<-|i0t]; first by rewrite Pi0 le_max// lexx.
8674
by case: ifPn => Ph; [rewrite le_max ih// orbT|rewrite ih].
8775
Qed.
8876

89-
(* NB: as of [2023-08-28], bigop.bigmax_sup_seq already exists for nat *)
77+
(* NB: as of [2023-08-28], bigop.bigmax_sup_seq already exists for nat,
78+
PRed to MathComp (PR #1449) *)
9079
Lemma bigmax_sup_seq (m : T) (F : I -> T) :
9180
i0 \in r -> P i0 -> (m <= F i0)%O ->
9281
(m <= \big[Order.max/x]_(i <- r | P i) F i)%O.

theories/charge.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ rewrite setD0 => A0D.
711711
have [v [v0 Pv]] : {v : nat -> elt_type |
712712
v 0%N = exist _ (A0, d_ set0, A0) (And4 mA0 A0D (d_ge0 set0) A0d0) /\
713713
forall n, elt_rel (v n) (v n.+1)}.
714-
apply: dependent_choice_Type => -[[[A' ?] U] [/= mA' A'D]].
714+
apply: dependent_choice => -[[[A' ?] U] [/= mA' A'D]].
715715
have [A1 [mA1 A1DU A1t1]] := next_elt U.
716716
have A1D : A1 `<=` D by apply: (subset_trans A1DU); apply: subDsetl.
717717
by exists (exist _ (A1, d_ U, U `|` A1) (And4 mA1 A1D (d_ge0 U) A1t1)).
@@ -836,7 +836,7 @@ have [A0 [_ negA0 A0s0]] := next_elt set0.
836836
have [v [v0 Pv]] : {v |
837837
v 0%N = exist _ (A0, s_ set0, A0) (And3 (s_le0 set0) negA0 A0s0) /\
838838
forall n, elt_rel (v n) (v n.+1)}.
839-
apply: dependent_choice_Type => -[[[A s] U] [/= s_le0' nsA]].
839+
apply: dependent_choice => -[[[A s] U] [/= s_le0' nsA]].
840840
have [A' [? nsA' A's'] ] := next_elt U.
841841
by exists (exist _ (A', s_ U, U `|` A') (And3 (s_le0 U) nsA' A's')).
842842
have Ubig n : U_ (v n) = \big[setU/set0]_(i < n.+1) A_ (v i).

theories/normedtype_theory/vitali_lemma.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ have H0 : elt_prop (D0, 0%N, set0).
443443
- by move=> F D0F FH0; apply: maxD0 => // i Fi; exact: (FH0 _ Fi).1.
444444
have [v [Hv0 HvRel]] : {v : nat -> elt_type |
445445
v 0%N = exist _ _ H0 /\ forall n, Rel (v n) (v n.+1)}.
446-
apply: dependent_choice_Type => -[[[Dn n] Un] Hn].
446+
apply: dependent_choice => -[[[Dn n] Un] Hn].
447447
pose Hn1 := H_ n.+1 (Un `|` Dn).
448448
have [Dn1 maxDn1] :=
449449
ex_maximal_disjoint_subcollection (closure\o B) Hn1.

theories/probability.v

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ From mathcomp Require Import ftc gauss_integral hoelder.
6666
(* normal_prob m s == normal probability measure *)
6767
(* exponential_pdf r == pdf of the exponential distribution with rate r *)
6868
(* exponential_prob r == exponential probability measure *)
69+
(* poisson_pmf r k == pmf of the Poisson distribution with parameter r *)
70+
(* poisson_prob r == Poisson probability measure *)
6971
(* ``` *)
7072
(* *)
7173
(******************************************************************************)

0 commit comments

Comments
 (0)