Skip to content

Commit e4c675f

Browse files
committed
rebase wrt 0.6.6
1 parent d7d02e2 commit e4c675f

File tree

6 files changed

+39
-44
lines changed

6 files changed

+39
-44
lines changed

.github/workflows/docker-action.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,7 @@ jobs:
1515
strategy:
1616
matrix:
1717
image:
18-
- 'mathcomp/mathcomp:1.15.0-coq-8.14'
19-
- 'mathcomp/mathcomp:1.15.0-coq-8.15'
2018
- 'mathcomp/mathcomp:1.15.0-coq-8.16'
21-
- 'mathcomp/mathcomp:1.16.0-coq-8.14'
22-
- 'mathcomp/mathcomp:1.17.0-coq-8.15'
2319
- 'mathcomp/mathcomp:1.17.0-coq-8.16'
2420
- 'mathcomp/mathcomp:1.17.0-coq-8.17'
2521
fail-fast: false

coq-mathcomp-classical.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ the Coq proof-assistant and using the Mathematical Components library."""
1818
build: [make "-C" "classical" "-j%{jobs}%"]
1919
install: [make "-C" "classical" "install"]
2020
depends: [
21-
"coq" { (>= "8.14" & < "8.19~") | (= "dev") }
21+
"coq" { (>= "8.16" & < "8.19~") | (= "dev") }
2222
"coq-mathcomp-ssreflect" { (>= "1.13.0" & < "1.19~") | (= "dev") }
2323
"coq-mathcomp-fingroup"
2424
"coq-mathcomp-algebra"

theories/lang_syntax.v

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ Proof. done. Qed.
8989
Let mswap_sigma_additive x : semi_sigma_additive (mswap x).
9090
Proof. exact: measure_semi_sigma_additive. Qed.
9191

92-
HB.instance Definition _ x := isMeasure.Build _ R _
92+
HB.instance Definition _ x := isMeasure.Build _ _ R
9393
(mswap x) (mswap0 x) (mswap_ge0 x) (@mswap_sigma_additive x).
9494

9595
Definition mkswap : _ -> {measure set Z -> \bar R} :=
@@ -185,7 +185,7 @@ Let T0 z : (T' z) set0 = 0. Proof. by []. Qed.
185185
Let T_ge0 z x : 0 <= (T' z) x. Proof. by []. Qed.
186186
Let T_semi_sigma_additive z : semi_sigma_additive (T' z).
187187
Proof. exact: measure_semi_sigma_additive. Qed.
188-
HB.instance Definition _ z := @isMeasure.Build _ R X (T' z) (T0 z) (T_ge0 z)
188+
HB.instance Definition _ z := @isMeasure.Build _ X R (T' z) (T0 z) (T_ge0 z)
189189
(@T_semi_sigma_additive z).
190190

191191
Let sfinT z : sfinite_measure (T' z). Proof. exact: sfinite_kernel_measure. Qed.
@@ -197,7 +197,7 @@ Let U0 z : (U' z) set0 = 0. Proof. by []. Qed.
197197
Let U_ge0 z x : 0 <= (U' z) x. Proof. by []. Qed.
198198
Let U_semi_sigma_additive z : semi_sigma_additive (U' z).
199199
Proof. exact: measure_semi_sigma_additive. Qed.
200-
HB.instance Definition _ z := @isMeasure.Build _ R Y (U' z) (U0 z) (U_ge0 z)
200+
HB.instance Definition _ z := @isMeasure.Build _ Y R (U' z) (U0 z) (U_ge0 z)
201201
(@U_semi_sigma_additive z).
202202

203203
Let sfinU z : sfinite_measure (U' z). Proof. exact: sfinite_kernel_measure. Qed.

theories/lang_syntax_examples.v

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Lemma letin'_sample_bernoulli d d' (T : measurableType d)
5959
Proof.
6060
rewrite letin'E/=.
6161
rewrite ge0_integral_measure_sum// 2!big_ord_recl/= big_ord0 adde0/=.
62-
by rewrite !ge0_integral_mscale//= !integral_dirac//= indicT 2!mul1e.
62+
by rewrite !ge0_integral_mscale//= !integral_dirac//= !diracT 2!mul1e.
6363
Qed.
6464

6565
Section letin'_return.
@@ -81,7 +81,7 @@ Lemma letin'_retk (f : X -> Y) (mf : measurable_fun setT f)
8181
(k : R.-sfker Y * X ~> Z) x U :
8282
measurable U -> letin' (ret mf) k x U = k (f x, x) U.
8383
Proof.
84-
move=> mU; rewrite letin'E retE integral_dirac ?indicT ?mul1e//.
84+
move=> mU; rewrite letin'E retE integral_dirac ?diracT ?mul1e//.
8585
exact: (measurableT_comp (measurable_kernel k _ mU)).
8686
Qed.
8787

@@ -218,9 +218,9 @@ Proof.
218218
rewrite !execP_letin !execP_sample !execD_bernoulli execP_return /=.
219219
rewrite execD_pair !exp_var'E (execD_var_erefl "x") (execD_var_erefl "y") /=.
220220
rewrite letin'E integral_measure_add//= !ge0_integral_mscale//= /onem.
221-
rewrite !integral_dirac//= !indicE !in_setT/= !mul1e.
221+
rewrite !integral_dirac//= !diracT !mul1e.
222222
rewrite !letin'E !integral_measure_add//= !ge0_integral_mscale//= /onem.
223-
by rewrite !integral_dirac//= !indicE !in_setT/= !mul1e !diracE.
223+
by rewrite !integral_dirac//= !diracT !mul1e.
224224
Qed.
225225

226226
Lemma exec_sample_pair0_TandT :
@@ -266,9 +266,9 @@ Proof.
266266
rewrite !execP_letin !execP_sample !execD_bernoulli execP_return /=.
267267
rewrite (@execD_bin _ _ binop_and) !exp_var'E (execD_var_erefl "x") (execD_var_erefl "y") /=.
268268
rewrite letin'E integral_measure_add//= !ge0_integral_mscale//= /onem.
269-
rewrite !integral_dirac//= !indicE !in_setT/= !mul1e.
269+
rewrite !integral_dirac//= !diracT !mul1e.
270270
rewrite !letin'E !integral_measure_add//= !ge0_integral_mscale//= /onem.
271-
rewrite !integral_dirac//= !indicE !in_setT/= !mul1e !diracE.
271+
rewrite !integral_dirac//= !diracT !mul1e.
272272
rewrite muleDr// -addeA; congr (_ + _)%E.
273273
by rewrite !muleA; congr (_%:E); congr (_ * _); field.
274274
rewrite -muleDl// !muleA -muleDl//.
@@ -289,11 +289,11 @@ rewrite !execP_letin !execP_sample !execD_bernoulli execP_return /=.
289289
rewrite !(@execD_bin _ _ binop_and) !exp_var'E.
290290
rewrite (execD_var_erefl "x") (execD_var_erefl "y") (execD_var_erefl "z") /=.
291291
rewrite letin'E integral_measure_add//= !ge0_integral_mscale//= /onem.
292-
rewrite !integral_dirac//= !indicE !in_setT/= !mul1e.
292+
rewrite !integral_dirac//= !diracT !mul1e.
293293
rewrite !letin'E !integral_measure_add//= !ge0_integral_mscale//= /onem.
294-
rewrite !integral_dirac//= !indicE !in_setT/= !mul1e.
294+
rewrite !integral_dirac//= !diracT !mul1e.
295295
rewrite !letin'E !integral_measure_add//= !ge0_integral_mscale//= /onem.
296-
rewrite !integral_dirac//= !indicE !in_setT/= !mul1e !diracE.
296+
rewrite !integral_dirac//= !diracT !mul1e.
297297
rewrite !muleDr// -!addeA.
298298
by congr (_ + _)%E; rewrite ?addeA !muleA -?muleDl//;
299299
congr (_ * _)%E; congr (_%:E); field.
@@ -336,24 +336,23 @@ rewrite !integral_measure_add //=; last by move=> b _; rewrite integral_ge0.
336336
rewrite !ge0_integral_mscale //=; last 2 first.
337337
by move=> b _; rewrite integral_ge0.
338338
by move=> b _; rewrite integral_ge0.
339-
rewrite !integral_dirac// !indicE !in_setT !mul1e.
339+
rewrite !integral_dirac// !diracT !mul1e.
340340
rewrite iteE/= !ge0_integral_mscale//=.
341341
rewrite ger0_norm//.
342342
rewrite !integral_indic//= !iteE/= /mscale/=.
343-
rewrite setTI diracE !in_setT !mule1.
343+
rewrite setTI !diracT !mule1.
344344
rewrite ger0_norm//.
345345
rewrite -EFinD/= eqe ifF; last first.
346346
by apply/negbTE/negP => /orP[/eqP|//]; rewrite /onem; lra.
347347
rewrite !letin'E/= !iteE/=.
348348
rewrite !ge0_integral_mscale//=.
349349
rewrite ger0_norm//.
350-
rewrite !integral_dirac//= !indicE !in_setT /= !mul1e ger0_norm//.
350+
rewrite !integral_dirac//= !diracT !mul1e ger0_norm//.
351351
rewrite exp_var'E (execD_var_erefl "x")/=.
352352
rewrite /bernoulli/= measure_addE/= /mscale/= !mul1r.
353-
rewrite muleDl//; congr (_ + _)%E;
354-
rewrite -!EFinM;
355-
congr (_%:E);
356-
by rewrite indicE /onem; case: (_ \in _); field.
353+
by rewrite muleDl//; congr (_ + _)%E;
354+
rewrite -!EFinM; congr (_%:E);
355+
rewrite !indicT !indicE /onem /=; case: (_ \in _); field.
357356
Qed.
358357

359358
Definition bernoulli12_score := [Normalize
@@ -379,25 +378,25 @@ rewrite !integral_measure_add //=; last by move=> b _; rewrite integral_ge0.
379378
rewrite !ge0_integral_mscale //=; last 2 first.
380379
by move=> b _; rewrite integral_ge0.
381380
by move=> b _; rewrite integral_ge0.
382-
rewrite !integral_dirac// !indicE !in_setT !mul1e.
381+
rewrite !integral_dirac// !diracT !mul1e.
383382
rewrite iteE/= !ge0_integral_mscale//=.
384383
rewrite ger0_norm//.
385384
rewrite !integral_indic//= !iteE/= /mscale/=.
386-
rewrite setTI diracE !in_setT !mule1.
385+
rewrite setTI !diracT !mule1.
387386
rewrite ger0_norm//.
388387
rewrite -EFinD/= eqe ifF; last first.
389388
apply/negbTE/negP => /orP[/eqP|//].
390389
by rewrite /onem; lra.
391390
rewrite !letin'E/= !iteE/=.
392391
rewrite !ge0_integral_mscale//=.
393392
rewrite ger0_norm//.
394-
rewrite !integral_dirac//= !indicE !in_setT /= !mul1e ger0_norm//.
393+
rewrite !integral_dirac//= !diracT !mul1e ger0_norm//.
395394
rewrite exp_var'E (execD_var_erefl "x")/=.
396395
rewrite /bernoulli/= measure_addE/= /mscale/= !mul1r.
397396
rewrite muleDl//; congr (_ + _)%E;
398397
rewrite -!EFinM;
399398
congr (_%:E);
400-
by rewrite indicE /onem; case: (_ \in _); field.
399+
by rewrite !indicT !indicE /onem /=; case: (_ \in _); field.
401400
Qed.
402401

403402
(* https://dl.acm.org/doi/pdf/10.1145/2933575.2935313 (Sect. 4) *)
@@ -428,24 +427,24 @@ rewrite !integral_measure_add //=; last by move=> b _; rewrite integral_ge0.
428427
rewrite !ge0_integral_mscale //=; last 2 first.
429428
by move=> b _; exact: integral_ge0.
430429
by move=> b _; exact: integral_ge0.
431-
rewrite !integral_dirac// !indicE !in_setT !mul1e.
430+
rewrite !integral_dirac// !diracT !mul1e.
432431
rewrite iteE/= !ge0_integral_mscale//=.
433432
rewrite ger0_norm//.
434-
rewrite !integral_indic//= !iteE/= /mscale/=.
435-
rewrite setTI diracE !in_setT !mule1.
433+
rewrite !integral_cst//= !diracT !(mule1,mul1e).
434+
rewrite !iteE/= /mscale/= !diracT !mule1.
436435
rewrite ger0_norm//.
437436
rewrite -EFinD/= eqe ifF; last first.
438437
apply/negbTE/negP => /orP[/eqP|//].
439438
by rewrite /onem; lra.
440439
rewrite !letin'E/= !iteE/=.
441440
rewrite !ge0_integral_mscale//=.
442441
rewrite ger0_norm//.
443-
rewrite !integral_dirac//= !indicE !in_setT /= !mul1e ger0_norm//.
442+
rewrite !integral_dirac//= !diracT !mul1e ger0_norm//.
444443
rewrite /bernoulli/= measure_addE/= /mscale/= !mul1r.
445444
rewrite muleDl//; congr (_ + _)%E;
446445
rewrite -!EFinM;
447446
congr (_%:E);
448-
by rewrite indicE /onem; case: (_ \in _); field.
447+
by rewrite !indicT !indicE /onem /=; case: (_ \in _); field.
449448
Qed.
450449

451450
End bernoulli_examples.
@@ -473,7 +472,7 @@ Proof.
473472
apply/eq_sfkernel => x U.
474473
rewrite letin'E/= /sample; unlock.
475474
rewrite integral_measure_add//= ge0_integral_mscale//= ge0_integral_mscale//=.
476-
rewrite integral_dirac//= integral_dirac//= !indicT/= !mul1e.
475+
rewrite !integral_dirac//= !diracT/= !mul1e.
477476
by rewrite /mscale/= iteE//= iteE//= fail'E mule0 adde0 ger0_norm.
478477
Qed.
479478

theories/prob_lang.v

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Lemma integral_bernoulli {R : realType}
116116
Proof.
117117
move=> f0.
118118
rewrite ge0_integral_measure_sum// 2!big_ord_recl/= big_ord0 adde0/=.
119-
by rewrite !ge0_integral_mscale//= !integral_dirac//= indicT 2!mul1e.
119+
by rewrite !ge0_integral_mscale//= !integral_dirac//= !diracT !mul1e.
120120
Qed.
121121

122122
Section uniform_probability.
@@ -131,7 +131,7 @@ HB.instance Definition _ := Measure.on uniform_probability.
131131
Let uniform_probability_setT : uniform_probability [set: _] = 1.
132132
Proof.
133133
rewrite /uniform_probability /mscale/= /mrestr/=.
134-
rewrite setTI lebesgue_measure_itv hlength_itv/= lte_fin.
134+
rewrite setTI lebesgue_measure_itv/= lte_fin.
135135
by rewrite -subr_gt0 ab0 -EFinD -EFinM mulVf// gt_eqF// subr_gt0.
136136
Qed.
137137

@@ -528,7 +528,7 @@ Proof.
528528
apply/eq_measure/funext => U.
529529
rewrite /ite; unlock => /=.
530530
rewrite /kcomp/= integral_dirac//=.
531-
rewrite indicT mul1e.
531+
rewrite diracT mul1e.
532532
rewrite -/(measure_add (ITE.kiteT k1 (x, f x)) (ITE.kiteF k2 (x, f x))).
533533
rewrite measure_addE.
534534
rewrite /ITE.kiteT /ITE.kiteF/=.
@@ -588,7 +588,7 @@ Lemma letin_retk
588588
x U : measurable U ->
589589
letin (ret mf) k x U = k (x, f x) U.
590590
Proof.
591-
move=> mU; rewrite letinE retE integral_dirac ?indicT ?mul1e//.
591+
move=> mU; rewrite letinE retE integral_dirac ?diracT ?mul1e//.
592592
exact: (measurableT_comp (measurable_kernel k _ mU)).
593593
Qed.
594594

@@ -893,7 +893,7 @@ Let kcomp_scoreE d1 d2 (T1 : measurableType d1) (T2 : measurableType d2)
893893
(score mf \; g) r U = `|f r|%:E * g (r, tt) U.
894894
Proof.
895895
rewrite /= /kcomp /kscore /= ge0_integral_mscale//=.
896-
by rewrite integral_dirac// indicT mul1e.
896+
by rewrite integral_dirac// diracT mul1e.
897897
Qed.
898898

899899
Lemma scoreE d' (T' : measurableType d') (x : T * T') (U : set T') (f : R -> R)
@@ -926,7 +926,7 @@ Proof.
926926
apply/eq_sfkernel => x U.
927927
rewrite letinE/= /sample; unlock.
928928
rewrite integral_measure_add//= ge0_integral_mscale//= ge0_integral_mscale//=.
929-
rewrite integral_dirac//= integral_dirac//= !indicT/= !mul1e.
929+
rewrite integral_dirac//= integral_dirac//= !diracT/= !mul1e.
930930
by rewrite /mscale/= iteE//= iteE//= failE mule0 adde0 ger0_norm.
931931
Qed.
932932

@@ -1004,7 +1004,7 @@ Let T0 z : (T z) set0 = 0. Proof. by []. Qed.
10041004
Let T_ge0 z x : 0 <= (T z) x. Proof. by []. Qed.
10051005
Let T_semi_sigma_additive z : semi_sigma_additive (T z).
10061006
Proof. exact: measure_semi_sigma_additive. Qed.
1007-
HB.instance Definition _ z := @isMeasure.Build _ R X (T z) (T0 z) (T_ge0 z)
1007+
HB.instance Definition _ z := @isMeasure.Build _ X R (T z) (T0 z) (T_ge0 z)
10081008
(@T_semi_sigma_additive z).
10091009

10101010
Let sfinT z : sfinite_measure (T z). Proof. exact: sfinite_kernel_measure. Qed.
@@ -1016,7 +1016,7 @@ Let U0 z : (U z) set0 = 0. Proof. by []. Qed.
10161016
Let U_ge0 z x : 0 <= (U z) x. Proof. by []. Qed.
10171017
Let U_semi_sigma_additive z : semi_sigma_additive (U z).
10181018
Proof. exact: measure_semi_sigma_additive. Qed.
1019-
HB.instance Definition _ z := @isMeasure.Build _ R Y (U z) (U0 z) (U_ge0 z)
1019+
HB.instance Definition _ z := @isMeasure.Build _ Y R (U z) (U0 z) (U_ge0 z)
10201020
(@U_semi_sigma_additive z).
10211021

10221022
Let sfinU z : sfinite_measure (U z). Proof. exact: sfinite_kernel_measure. Qed.
@@ -1145,7 +1145,7 @@ Lemma letin_sample_bernoulli d d' (T : measurableType d)
11451145
Proof.
11461146
rewrite letinE/=.
11471147
rewrite ge0_integral_measure_sum// 2!big_ord_recl/= big_ord0 adde0/=.
1148-
by rewrite !ge0_integral_mscale//= !integral_dirac//= indicT 2!mul1e.
1148+
by rewrite !ge0_integral_mscale//= !integral_dirac//= !diracT 2!mul1e.
11491149
Qed.
11501150

11511151
Section sample_and_return.

theories/prob_lang_wip.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ transitivity (\int[@mgauss01 R]_(y in U) (f1 y)%:E).
142142
apply: eq_integral => //= r.
143143
rewrite letinE/= ge0_integral_mscale//= ger0_norm//; last first.
144144
by rewrite invr_ge0// gauss_density_ge0.
145-
by rewrite integral_dirac// indicT mul1e diracE indicE.
145+
by rewrite integral_dirac// diracT mul1e diracE indicE.
146146
rewrite integral_mgauss01//.
147147
transitivity (\int[lebesgue_measure]_(x in U) (\1_U x)%:E).
148148
apply: eq_integral => /= y yU.

0 commit comments

Comments
 (0)