Skip to content

Commit ab83100

Browse files
committed
rebase
1 parent 53f98c3 commit ab83100

File tree

7 files changed

+30
-38
lines changed

7 files changed

+30
-38
lines changed

theories/kernel.v

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -765,8 +765,6 @@ HB.instance Definition _ (P : probability Y R):=
765765

766766
End knormalize.
767767

768-
<<<<<<< HEAD
769-
(* TODO: useful? *)
770768
Lemma measurable_fun_mnormalize d d' (X : measurableType d)
771769
(Y : measurableType d') (R : realType) (k : R.-ker X ~> Y) :
772770
measurable_fun [set: X] (fun x =>
@@ -797,8 +795,6 @@ apply: measurable_fun_if => //.
797795
+ by apply: measurableT_comp => //; exact/measurable_funS/measurable_kernel.
798796
Qed.
799797

800-
=======
801-
>>>>>>> ea7f1064 (rm duplicate, more uniform naming)
802798
Section kcomp_def.
803799
Context d1 d2 d3 (X : measurableType d1) (Y : measurableType d2)
804800
(Z : measurableType d3) (R : realType).

theories/lang_syntax.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,10 @@ rewrite /ubeta_nat_pdf /=; apply: measurable_fun_if => //=; last first.
168168
by rewrite setTI; apply: measurable_funTS; exact: measurable_fun_expn_onem.
169169
apply: measurable_and => /=.
170170
apply: (measurable_fun_bool true).
171-
rewrite [X in measurable X](_ : _ = `[0, +oo[%classic)//.
171+
rewrite setTI [X in measurable X](_ : _ = `[0, +oo[%classic)//.
172172
by rewrite set_interval.set_itv_c_infty.
173173
apply: (measurable_fun_bool true).
174-
by rewrite [X in measurable X](_ : _ = `]-oo, 1]%classic)//.
174+
by rewrite setTI [X in measurable X](_ : _ = `]-oo, 1]%classic)//.
175175
Qed.
176176

177177
Local Notation mu := lebesgue_measure.

theories/lang_syntax_examples.v

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ Local Close Scope lang_scope.
6969
Module bidi_tests.
7070
Local Open Scope lang_scope.
7171
Import Notations.
72+
Section bidi_tests.
7273
Context (R : realType).
7374

7475
Definition bidi_test1 x : @exp R P [::] _ := [
@@ -106,6 +107,7 @@ Definition bidi_test4 (a b c d : string)
106107
return {exp_poisson O [#c(*{exp_var c erefl}*)]}].
107108

108109
End bidi_tests.
110+
End bidi_tests.
109111

110112
Section trivial_example.
111113
Local Open Scope lang_scope.

theories/lang_syntax_table_game.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ apply: (@le_lt_trans _ _ (\int[lebesgue_measure]_(x in `[0%R, 1%R]) (beta_nat_pd
185185
by apply/EFin_measurable_fun; exact: measurable_beta_nat_pdf.
186186
- move=> x _ /=; rewrite patchE; case: ifPn => // _.
187187
by rewrite lee_fin beta_nat_pdf_ge0.
188-
- apply: (measurable_restrict (E := setT) _ _ _ _).1 => //.
188+
- apply/(measurable_restrict _ _ _) => //.
189189
apply/measurable_funTS/measurableT_comp => //.
190190
exact: measurable_beta_nat_pdf.
191191
- move=> x _.
@@ -683,7 +683,7 @@ rewrite (@integral_bernoulli_beta_nat_pdf (fun x => (1 - x) ^+ 3)%R U (1 / 11))/
683683
rewrite (le_lt_trans _ (integral_beta_bernoulli_expn_lty 3 6 4 U))//.
684684
rewrite integral_mkcond /=; apply: ge0_le_integral => //=.
685685
by move=> z _; rewrite patchE expr0 mul1r; case: ifPn.
686-
apply: (measurable_restrict _ _ _ _).1 => //.
686+
apply/(measurable_restrict _ _ _) => //.
687687
apply: measurable_funTS; apply: measurableT_comp => //=.
688688
apply: (measurableT_comp (measurable_bernoulli2 _)) => //=.
689689
apply: measurable_fun_if => //=.

theories/lebesgue_measure.v

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1728,7 +1728,7 @@ Lemma measurable_fun_pow D f n : measurable_fun D f ->
17281728
measurable_fun D (fun x => f x ^+ n).
17291729
Proof.
17301730
move=> mf.
1731-
apply: (@measurable_comp _ _ _ _ _ _ setT (fun x : R => x ^+ n) _ f) => //.
1731+
exact: (@measurable_comp _ _ _ _ _ _ setT (fun x : R => x ^+ n) _ f).
17321732
Qed.
17331733

17341734
Lemma measurable_fun_ltr D f g : measurable_fun D f -> measurable_fun D g ->
@@ -1747,20 +1747,6 @@ under eq_fun do rewrite -subr_ge0.
17471747
by rewrite preimage_true -preimage_itv_c_infty; exact: measurable_funB.
17481748
Qed.
17491749

1750-
Lemma measurable_fun_ler D f g : measurable_fun D f -> measurable_fun D g ->
1751-
measurable_fun D (fun x => f x <= g x).
1752-
Proof.
1753-
move=> mf mg mD Y mY; have [| | |] := set_bool Y => /eqP ->.
1754-
- under eq_fun do rewrite -subr_ge0.
1755-
rewrite preimage_true -preimage_itv_c_infty.
1756-
by apply: (measurable_funB mg mf) => //; exact: measurable_itv.
1757-
- under eq_fun do rewrite leNgt -subr_gt0.
1758-
rewrite preimage_false set_predC setCK -preimage_itv_o_infty.
1759-
by apply: (measurable_funB mf mg) => //; exact: measurable_itv.
1760-
- by rewrite preimage_set0 setI0.
1761-
- by rewrite preimage_setT setIT.
1762-
Qed.
1763-
17641750
(* setT should be D? (derived from measurable_and) *)
17651751
Lemma measurable_fun_eqr D f g : measurable_fun D f -> measurable_fun D g ->
17661752
measurable_fun D (fun x => f x == g x).
@@ -1876,7 +1862,7 @@ have [Y0|Y0] := boolP (0%E \in Y).
18761862
rewrite [X in _ -> X](_ : _ = Y (\d_r U)) //.
18771863
rewrite diracE.
18781864
move/mem_set.
1879-
case (_ \in _) => //= _.
1865+
case: (_ \in _) => //= _.
18801866
by rewrite inE in Y1.
18811867
+ rewrite [X in measurable X](_ : _ = set0).
18821868
exact: measurable0.
@@ -1922,13 +1908,6 @@ under eq_fun do rewrite -mulr_natr.
19221908
by do 2 apply: measurable_funM => //.
19231909
Qed.
19241910

1925-
Lemma measurable_fun_pow {R : realType} D (f : R -> R) n : measurable_fun D f ->
1926-
measurable_fun D (fun x => f x ^+ n).
1927-
Proof.
1928-
move=> mf.
1929-
exact: (@measurable_comp _ _ _ _ _ _ setT (fun x : R => x ^+ n) _ f).
1930-
Qed.
1931-
19321911
Lemma measurable_powR (R : realType) p :
19331912
measurable_fun [set: R] (@powR R ^~ p).
19341913
Proof.

theories/measure.v

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1623,6 +1623,21 @@ rewrite [X in measurable X](_ : _ = D `&` f @^-1` [set true] `&`
16231623
by apply: measurableI; [exact: mf|exact: mg].
16241624
Qed.
16251625

1626+
Lemma measurable_or D (f : T1 -> bool) (g : T1 -> bool) :
1627+
measurable_fun D f -> measurable_fun D g ->
1628+
measurable_fun D (fun x => f x || g x).
1629+
Proof.
1630+
move=> mf mg mD; apply: (measurable_fun_bool true) => //.
1631+
rewrite [X in measurable X](_ : _ = D `&` f @^-1` [set true] `|`
1632+
(D `&` g @^-1` [set true])); last first.
1633+
apply/seteqP; split=> [x [Dx/= /orP[]->]|x [|]/=].
1634+
by left.
1635+
by right.
1636+
by move=> [Dx ->]; split.
1637+
by move=> [Dx ->]; split => //; apply/orP; right.
1638+
by apply: measurableU; [exact: mf|exact: mg].
1639+
Qed.
1640+
16261641
End measurable_fun_measurableType.
16271642
#[global] Hint Extern 0 (measurable_fun _ (fun=> _)) =>
16281643
solve [apply: measurable_cst] : core.

theories/prob_lang.v

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(* mathcomp analysis (c) 2022 Inria and AIST. License: CeCILL-C. *)
22
From HB Require Import structures.
33
From mathcomp Require Import all_ssreflect ssralg ssrnum ssrint interval finmap.
4-
From mathcomp Require Import rat.
4+
From mathcomp Require Import rat archimedean.
55
From mathcomp Require Import mathcomp_extra boolp classical_sets.
66
From mathcomp Require Import functions cardinality fsbigop.
77
Require Import reals ereal signed topology normedtype sequences esum measure.
@@ -921,14 +921,14 @@ pose floor_f := widen_ord (leq_addl n `|floor `|f t| |.+1)
921921
(Ordinal (ltnSn `|floor `|f t| |)).
922922
rewrite big_mkord (bigD1 floor_f)//= ifT; last first.
923923
rewrite lee_fin lte_fin; apply/andP; split.
924-
by rewrite natr_absz (@ger0_norm _ (floor `|f t|)) ?floor_ge0 ?floor_le.
925-
rewrite -addn1 natrD natr_absz.
926-
by rewrite (@ger0_norm _ (floor `|f t|)) ?floor_ge0 ?lt_succ_floor.
924+
by rewrite natr_absz (@ger0_norm _ (floor `|f t|)) ?floor_ge0// ?ge_floor.
925+
rewrite -natr1 natr_absz.
926+
by rewrite (@ger0_norm _ (floor `|f t|)) ?floor_ge0// intrD1 lt_succ_floor.
927927
rewrite big1 ?adde0//= => j jk.
928928
rewrite ifF// lte_fin lee_fin.
929929
move: jk; rewrite neq_ltn/= => /orP[|] jr.
930930
- suff : (j.+1%:R <= `|f t|)%R by rewrite leNgt => /negbTE ->; rewrite andbF.
931-
rewrite (_ : j.+1%:R = j.+1%:~R)// floor_ge_int.
931+
rewrite (_ : j.+1%:R = j.+1%:~R)// floor_ge_int//.
932932
move: jr; rewrite -lez_nat => /le_trans; apply.
933933
by rewrite -[leRHS](@ger0_norm _ (floor `|f t|)) ?floor_ge0.
934934
- suff : (`|f t| < j%:R)%R by rewrite ltNge => /negbTE ->.
@@ -1823,7 +1823,7 @@ Hypotheses (mf : measurable_fun setT f) (mg : measurable_fun setT g).
18231823
Lemma measurable_fun_flift_neq : measurable_fun setT flift_neq.
18241824
Proof.
18251825
apply: (measurable_fun_bool true).
1826-
rewrite /flift_neq /= (_ : _ @^-1` _ = ([set x | f x] `&` [set x | ~~ g x]) `|`
1826+
rewrite setTI /flift_neq /= (_ : _ @^-1` _ = ([set x | f x] `&` [set x | ~~ g x]) `|`
18271827
([set x | ~~ f x] `&` [set x | g x])).
18281828
apply: measurableU; apply: measurableI.
18291829
- by rewrite -[X in measurable X]setTI; exact: mf.
@@ -2074,7 +2074,7 @@ Lemma sample_and_branchE t U : sample_and_branch t U =
20742074
(2 / 7)%:E * \d_(3 : R) U + (5 / 7)%:E * \d_(10 : R) U.
20752075
Proof.
20762076
rewrite /sample_and_branch letin_sample_bernoulli/=; last lra.
2077-
by rewrite !iteE !retE onem27.
2077+
by rewrite !iteE/= onem27.
20782078
Qed.
20792079

20802080
End sample_and_branch.

0 commit comments

Comments
 (0)