Skip to content

Commit 0b2fce8

Browse files
committed
rebase
1 parent 48017bb commit 0b2fce8

1 file changed

Lines changed: 24 additions & 47 deletions

File tree

theories/sampling.v

Lines changed: 24 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -78,33 +78,6 @@ Lemma preimage_set1 T {U : eqType} (X : T -> U) r :
7878
X @^-1` [set r] = [set i | X i == r].
7979
Proof. by apply/seteqP; split => [x /eqP H//|x /eqP]. Qed.
8080

81-
(* PR in progress *)
82-
Lemma integral21_prod_meas2 {d1} {T1 : measurableType d1} d2 {T2 : measurableType d2}
83-
{R : realType} (m1 : {sigma_finite_measure set T1 -> \bar R})
84-
(m2 : {sigma_finite_measure set T2 -> \bar R}) (f : T1 * T2 -> \bar R) :
85-
(m1 \x m2)%E.-integrable [set: T1 * T2] f ->
86-
(\int[m2]_x fubini_G m1 f x = \int[(m1 \x^ m2)%E]_z f z)%E.
87-
Proof.
88-
move=> intf; rewrite fubini2//.
89-
apply: eq_measure_integral => //= A mA _.
90-
apply: product_measure_unique => // B C mB mC/=.
91-
by rewrite product_measure2E.
92-
Qed.
93-
94-
(* PR in progress *)
95-
Lemma integral12_prod_meas2 {d1} {T1 : measurableType d1}
96-
{d2} {T2 : measurableType d2} {R : realType}
97-
(m1 : {sigma_finite_measure set T1 -> \bar R})
98-
(m2 : {sigma_finite_measure set T2 -> \bar R}) (f : T1 * T2 -> \bar R) :
99-
(m1 \x m2)%E.-integrable [set: T1 * T2] f ->
100-
(\int[m1]_x fubini_F m2 f x = \int[(m1 \x^ m2)%E]_z f z)%E.
101-
Proof.
102-
move=> intf; rewrite fubini1//.
103-
apply: eq_measure_integral => //= A mA _.
104-
apply: product_measure_unique => // B C mB mC/=.
105-
by rewrite product_measure2E.
106-
Qed.
107-
10881
(* PR in progress *)
10982
Lemma integrable_prod_measP {d1} {T1 : measurableType d1} d2 {T2 : measurableType d2}
11083
{R : realType} (m1 : {sigma_finite_measure set T1 -> \bar R})
@@ -126,7 +99,7 @@ Lemma integral_prod_meas1E {d1} {T1 : measurableType d1}
12699
(m2 : {sigma_finite_measure set T2 -> \bar R}) (f : T1 * T2 -> \bar R) :
127100
(m1 \x m2)%E.-integrable [set: T1 * T2] f ->
128101
(\int[m1 \x^ m2]_x f x = \int[(m1 \x m2)%E]_z f z)%E.
129-
Proof. by move=> intf; rewrite -fubini1// integral12_prod_meas2. Qed.
102+
Proof. by move=> intf; rewrite -integral12_prod_meas1// integral12_prod_meas2. Qed.
130103

131104
Section PR_to_hoelder.
132105
Context d (T : measurableType d) (R : realType).
@@ -228,10 +201,10 @@ Local Open Scope ereal_scope.
228201
Definition pair_of_tuple n (w : n.+1.-tuple T) :=
229202
(thead w, [the _.-tuple _ of behead w]).
230203

231-
Lemma measurable_pair_of_tuple n :
232-
measurable_fun [set: _.-tuple _] (@pair_of_tuple n).
204+
Lemma measurable_pair_of_tuple n (D : set (n.+1.-tuple T)) :
205+
measurable_fun D (@pair_of_tuple n).
233206
Proof.
234-
by apply/measurable_fun_pair => /=;
207+
by apply/measurable_funTS/measurable_fun_pair => /=;
235208
[exact: measurable_tnth|exact: measurable_behead].
236209
Qed.
237210

@@ -374,7 +347,8 @@ Proof.
374347
move=> mf f0.
375348
rewrite -(@ge0_integral_pushforward _ _ _ _ R _ (measurable_tuple_of_pair n) _
376349
setT (fun x : n.+1.-tuple T => (f x)%:E)).
377-
- by apply: eq_measure_integral => A mA _ /=; rewrite image_pair_of_tuple.
350+
- apply: eq_measure_integral => /=; first exact: measurable_tuple_of_pair.
351+
by move=> _ A mA _ /=; rewrite image_pair_of_tuple.
378352
- exact: measurableT.
379353
- exact: measurableT_comp.
380354
- by move=> x/= _; rewrite lee_fin.
@@ -408,8 +382,8 @@ Proof.
408382
move=> /integrableP[mf intf].
409383
rewrite -(@integral_pushforward _ _ _ _ R _ (measurable_tuple_of_pair n) _
410384
setT (fun x : n.+1.-tuple T => (f x)%:E)).
411-
- apply: eq_measure_integral => A mA _ /=.
412-
by rewrite image_pair_of_tuple.
385+
- apply: eq_measure_integral => /=; first exact: measurable_tuple_of_pair.
386+
by move=> _ A mA _ /=; rewrite image_pair_of_tuple.
413387
- exact: mf.
414388
- rewrite /=.
415389
apply/integrable_prod_measP => /=.
@@ -421,12 +395,14 @@ rewrite -(@integral_pushforward _ _ _ _ R _ (measurable_tuple_of_pair n) _
421395
\o (pair_of_tuple n)) x); last first.
422396
by apply: eq_integral => x _ /=; rewrite tuple_of_pairK.
423397
rewrite le_eqVlt; apply/orP; left; apply/eqP.
424-
rewrite -[RHS](@integral_pushforward _ _ _ _ R _ (measurable_pair_of_tuple n)
398+
rewrite -[RHS](@integral_pushforward _ _ _ _ R _ (measurable_pair_of_tuple n setT)
425399
_ setT (fun x => (abse \o (EFin \o (f \o (tuple_of_pair n)))) x))//.
426-
+ apply: eq_measure_integral => // A mA _.
427-
apply: product_measure_unique => // B C mB mC.
428-
rewrite /= /pushforward/= -product_measure2E//; congr (_ _).
429-
by rewrite image_preimage// range_pair_of_tuple.
400+
+ apply: eq_measure_integral => /=; first exact: measurable_pair_of_tuple.
401+
move=> _ A mA _/=; rewrite /pushforward /=.
402+
rewrite image_pair_of_tuple -comp_preimage (_ : _ \o _ = id); last first.
403+
by apply/funext=> x/=; rewrite pair_of_tupleK.
404+
rewrite preimage_id; apply: product_measure_unique => // B C mB mC.
405+
by rewrite /= /pushforward/= -product_measure2E.
430406
+ apply/measurable_EFinP => //=; apply: measurableT_comp => //=.
431407
by apply: measurableT_comp => //=; [exact/measurable_EFinP|
432408
exact: measurable_tuple_of_pair].
@@ -447,7 +423,8 @@ Proof.
447423
rewrite -(preimage_setT ((@tnth n _)^~ i)).
448424
rewrite -(@ge0_integral_pushforward _ _ _ _ _ _ (measurable_tnth i) (\X_n P) _
449425
(EFin \o normr \o f) measurableT).
450-
- by apply: eq_measure_integral => A mA _/=; rewrite /pushforward ipro_tnth.
426+
- apply: eq_measure_integral => /=; first exact: measurable_tnth.
427+
by move=> _ A mA _/=; rewrite /pushforward ipro_tnth.
451428
- by do 2 apply: measurableT_comp.
452429
- by move=> y _/=; rewrite lee_fin normr_ge0.
453430
Qed.
@@ -577,16 +554,16 @@ rewrite -integral12_prod_meas2/=; last first.
577554
by apply: integral_ge0 => //.
578555
rewrite lte_mul_pinfty//.
579556
- exact: integral_ge0.
580-
- exact/integral_fune_fin_num/Lfun1_integrable/Lfun_norm.
557+
- exact/integrable_fin_num/Lfun1_integrable/Lfun_norm.
581558
- by move: lX => /Lfun1_integrable/integrableP[_ /=].
582559
rewrite /fubini_F/=.
583560
under eq_integral => x _.
584561
under eq_integral => y _ do rewrite EFinM.
585562
rewrite integralZl//; last exact/Lfun1_integrable.
586-
rewrite -[X in _ * X]fineK ?integral_fune_fin_num//; last exact/Lfun1_integrable.
563+
rewrite -[X in _ * X]fineK ?integrable_fin_num//; last exact/Lfun1_integrable.
587564
over.
588565
rewrite /=integralZr//; last exact/Lfun1_integrable.
589-
by rewrite fineK// integral_fune_fin_num; last exact/Lfun1_integrable.
566+
by rewrite fineK// integrable_fin_num; last exact/Lfun1_integrable.
590567
Qed.
591568

592569
End properties_of_expectation.
@@ -618,7 +595,7 @@ have h2 : (\prod_(i < n) Tnth (behead_tuple X) i)%R \in Lfun (\X_n P) 1.
618595
have := IH (behead_tuple X).
619596
rewrite unlock /= => ->; last by move => x /mem_behead/lfunX.
620597
rewrite abse_prod -ge0_fin_numE ?prode_ge0// prode_fin_num// => i _.
621-
rewrite abse_fin_num integral_fune_fin_num//.
598+
rewrite abse_fin_num integrable_fin_num//.
622599
exact/Lfun1_integrable/lfunX/mem_behead/mem_tnth.
623600
rewrite [LHS](@integral_iproS _ _ _ _ _ MF); last first.
624601
rewrite /MF/F; apply/integrableP; split; first exact: measurableT_comp.
@@ -734,13 +711,13 @@ Qed.
734711
End properties_of_independence.
735712

736713
HB.mixin Record RV_isBernoulli d (T : measurableType d) (R : realType)
737-
(P : probability T R) (p : R) (X : T -> bool) of @isMeasurableFun d _ T bool X := {
738-
bernoulliP : distribution P X = bernoulli p }.
714+
(P : probability T R) (p : R) (X : T -> bool) of @isMeasurableFun d _ T bool X
715+
:= { bernoulliP : distribution P X = bernoulli p }.
739716

740717
#[short(type=bernoulliRV)]
741718
HB.structure Definition BernoulliRV d (T : measurableType d) (R : realType)
742719
(P : probability T R) (p : R) :=
743-
{X of @RV_isBernoulli _ _ _ P p X}.
720+
{X of @RV_isBernoulli _ _ _ P p X & MeasurableFun d X}.
744721
Arguments bernoulliRV {d T R}.
745722

746723
Section properties_of_BernoulliRV.

0 commit comments

Comments
 (0)