Skip to content

Commit 5e78cea

Browse files
committed
rebase
1 parent bf04e4d commit 5e78cea

File tree

5 files changed

+26
-36
lines changed

5 files changed

+26
-36
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/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
@@ -1615,6 +1615,21 @@ rewrite [X in measurable X](_ : _ = D `&` f @^-1` [set true] `&`
16151615
by apply: measurableI; [exact: mf|exact: mg].
16161616
Qed.
16171617

1618+
Lemma measurable_or D (f : T1 -> bool) (g : T1 -> bool) :
1619+
measurable_fun D f -> measurable_fun D g ->
1620+
measurable_fun D (fun x => f x || g x).
1621+
Proof.
1622+
move=> mf mg mD; apply: (measurable_fun_bool true) => //.
1623+
rewrite [X in measurable X](_ : _ = D `&` f @^-1` [set true] `|`
1624+
(D `&` g @^-1` [set true])); last first.
1625+
apply/seteqP; split=> [x [Dx/= /orP[]->]|x [|]/=].
1626+
by left.
1627+
by right.
1628+
by move=> [Dx ->]; split.
1629+
by move=> [Dx ->]; split => //; apply/orP; right.
1630+
by apply: measurableU; [exact: mf|exact: mg].
1631+
Qed.
1632+
16181633
End measurable_fun_measurableType.
16191634
#[global] Hint Extern 0 (measurable_fun _ (fun=> _)) =>
16201635
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)