Skip to content

Commit b2a28d9

Browse files
committed
use bool instead of I_2
1 parent f8e1a1c commit b2a28d9

1 file changed

Lines changed: 30 additions & 32 deletions

File tree

theories/probability.v

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,13 +1245,12 @@ Section independent_RVs.
12451245
Context {R : realType} d d' (T : measurableType d) (T' : measurableType d').
12461246
Variable P : probability T R.
12471247

1248-
Definition independent_RVs (I0 : choiceType) (I : set I0)
1249-
(X : I0 -> {mfun T >-> T'}) : Prop :=
1248+
Definition independent_RVs (I0 : choiceType)
1249+
(I : set I0) (X : I0 -> {mfun T >-> T'}) : Prop :=
12501250
mutual_independence P I (fun i => g_sigma_algebra_mapping (X i)).
12511251

12521252
Definition independent_RVs2 (X Y : {mfun T >-> T'}) :=
1253-
independent_RVs [set 0%N; 1%N]
1254-
[eta (fun=> cst point) with 0%N |-> X, 1%N |-> Y].
1253+
independent_RVs [set: bool] [eta (fun=> cst point) with false |-> X, true |-> Y].
12551254

12561255
End independent_RVs.
12571256

@@ -1286,54 +1285,54 @@ Local Open Scope ring_scope.
12861285
Lemma independent_RVs2_comp (X Y : {RV P >-> R}) (f g : {mfun R >-> R}) :
12871286
independent_RVs2 P X Y -> independent_RVs2 P (f \o X) (g \o Y).
12881287
Proof.
1289-
move=> indeXY; split => [i [|]->{i}/= Z/=|J J01 E JE].
1290-
- by rewrite /g_sigma_algebra_mapping/= /preimage_set_system/= => -[B mB <-];
1291-
exact/measurableT_comp.
1292-
- by rewrite /g_sigma_algebra_mapping/= /preimage_set_system/= => -[B mB <-];
1293-
exact/measurableT_comp.
1294-
- apply indeXY => //= i iJ; have := JE _ iJ.
1295-
have : i \in [set 0%N; 1%N] by rewrite inE; apply: J01.
1296-
rewrite inE/= => -[|] /eqP ->/=; rewrite !inE.
1297-
+ exact: g_sigma_algebra_mapping_comp.
1298-
+ by case: ifPn => [/eqP ->|i0]; exact: g_sigma_algebra_mapping_comp.
1288+
move=> indeXY; split => /=.
1289+
- move=> [] _ /= A.
1290+
+ by rewrite /g_sigma_algebra_mapping/= /preimage_set_system/= => -[B mB <-];
1291+
exact/measurableT_comp.
1292+
+ by rewrite /g_sigma_algebra_mapping/= /preimage_set_system/= => -[B mB <-];
1293+
exact/measurableT_comp.
1294+
- move=> J _ E JE.
1295+
apply indeXY => //= i iJ; have := JE _ iJ.
1296+
by move: i {iJ} =>[|]//=; rewrite !inE => Eg;
1297+
exact: g_sigma_algebra_mapping_comp Eg.
12991298
Qed.
13001299

13011300
Lemma independent_RVs2_funrposneg (X Y : {RV P >-> R}) :
13021301
independent_RVs2 P X Y -> independent_RVs2 P X^\+ Y^\-.
13031302
Proof.
1304-
move=> indeXY; split=> [/= i [|] -> /=|J J01 E JE].
1305-
- exact: g_sigma_algebra_mapping_funrpos.
1303+
move=> indeXY; split=> [[|]/= _|J J2 E JE].
13061304
- exact: g_sigma_algebra_mapping_funrneg.
1305+
- exact: g_sigma_algebra_mapping_funrpos.
13071306
- apply indeXY => //= i iJ; have := JE _ iJ.
1308-
move/J01 : (iJ) => /= -[|] ->//=; rewrite !inE.
1309-
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
1310-
exact: measurable_funrpos.
1307+
move/J2 : iJ; move: i => [|]// _; rewrite !inE.
13111308
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
13121309
exact: measurable_funrneg.
1310+
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R) => //.
1311+
exact: measurable_funrpos.
13131312
Qed.
13141313

13151314
Lemma independent_RVs2_funrnegpos (X Y : {RV P >-> R}) :
13161315
independent_RVs2 P X Y -> independent_RVs2 P X^\- Y^\+.
13171316
Proof.
1318-
move=> indeXY; split=> [/= i [|] -> /=|J J01 E JE].
1319-
- exact: g_sigma_algebra_mapping_funrneg.
1317+
move=> indeXY; split=> [/= [|]// _ |J J2 E JE].
13201318
- exact: g_sigma_algebra_mapping_funrpos.
1319+
- exact: g_sigma_algebra_mapping_funrneg.
13211320
- apply indeXY => //= i iJ; have := JE _ iJ.
1322-
move/J01 : (iJ) => /= -[|] ->//=; rewrite !inE.
1323-
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
1324-
exact: measurable_funrneg.
1321+
move/J2 : iJ; move: i => [|]// _; rewrite !inE.
13251322
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
13261323
exact: measurable_funrpos.
1324+
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
1325+
exact: measurable_funrneg.
13271326
Qed.
13281327

13291328
Lemma independent_RVs2_funrnegneg (X Y : {RV P >-> R}) :
13301329
independent_RVs2 P X Y -> independent_RVs2 P X^\- Y^\-.
13311330
Proof.
1332-
move=> indeXY; split=> [/= i [|] -> /=|J J01 E JE].
1331+
move=> indeXY; split=> [/= [|]// _ |J J2 E JE].
13331332
- exact: g_sigma_algebra_mapping_funrneg.
13341333
- exact: g_sigma_algebra_mapping_funrneg.
13351334
- apply indeXY => //= i iJ; have := JE _ iJ.
1336-
move/J01 : (iJ) => /= -[|] ->//=; rewrite !inE.
1335+
move/J2 : iJ; move: i => [|]// _; rewrite !inE.
13371336
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
13381337
exact: measurable_funrneg.
13391338
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
@@ -1343,11 +1342,11 @@ Qed.
13431342
Lemma independent_RVs2_funrpospos (X Y : {RV P >-> R}) :
13441343
independent_RVs2 P X Y -> independent_RVs2 P X^\+ Y^\+.
13451344
Proof.
1346-
move=> indeXY; split=> [/= i [|] -> /=|J J01 E JE].
1345+
move=> indeXY; split=> [/= [|]//= _ |J J2 E JE].
13471346
- exact: g_sigma_algebra_mapping_funrpos.
13481347
- exact: g_sigma_algebra_mapping_funrpos.
13491348
- apply indeXY => //= i iJ; have := JE _ iJ.
1350-
move/J01 : (iJ) => /= -[|] ->//=; rewrite !inE.
1349+
move/J2 : iJ; move: i => [|]// _; rewrite !inE.
13511350
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
13521351
exact: measurable_funrpos.
13531352
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
@@ -1486,23 +1485,22 @@ have {EX EY}EXY' : 'E_P[X_ n] * 'E_P[Y_ n] @[n --> \oo] --> 'E_P[X] * 'E_P[Y].
14861485
suff : forall n, 'E_P[X_ n \* Y_ n] = 'E_P[X_ n] * 'E_P[Y_ n].
14871486
by move=> suf; apply: (cvg_unique _ EXY) => //=; under eq_fun do rewrite suf.
14881487
move=> n; apply: expectationM_nnsfun => x y xX_ yY_.
1489-
suff : P (\big[setI/setT]_(j <- [fset 0%N; 1%N]%fset)
1488+
suff : P (\big[setI/setT]_(j <- [fset false; true]%fset)
14901489
[eta fun=> set0 with 0%N |-> X_ n @^-1` [set x],
14911490
1%N |-> Y_ n @^-1` [set y]] j) =
1492-
\prod_(j <- [fset 0%N; 1%N]%fset)
1491+
\prod_(j <- [fset false; true]%fset)
14931492
P ([eta fun=> set0 with 0%N |-> X_ n @^-1` [set x],
14941493
1%N |-> Y_ n @^-1` [set y]] j).
14951494
by rewrite !big_fsetU1/= ?inE//= !big_seq_fset1/=.
14961495
move: indeXY => [/= _]; apply => // i.
1497-
by rewrite /= !inE => /orP[|]/eqP ->; auto.
14981496
pose AX := dyadic_approx setT (EFin \o X).
14991497
pose AY := dyadic_approx setT (EFin \o Y).
15001498
pose BX := integer_approx setT (EFin \o X).
15011499
pose BY := integer_approx setT (EFin \o Y).
15021500
have mA (Z : {RV P >-> R}) m k : (k < m * 2 ^ m)%N ->
15031501
g_sigma_algebra_mapping Z (dyadic_approx setT (EFin \o Z) m k).
15041502
move=> mk; rewrite /g_sigma_algebra_mapping /dyadic_approx mk setTI.
1505-
rewrite /preimage_class/=; exists [set` dyadic_itv R m k] => //.
1503+
rewrite /preimage_set_system/=; exists [set` dyadic_itv R m k] => //.
15061504
rewrite setTI/=; apply/seteqP; split => z/=.
15071505
by rewrite inE/= => Zz; exists (Z z).
15081506
by rewrite inE/= => -[r rmk] [<-].

0 commit comments

Comments
 (0)