@@ -926,13 +926,12 @@ Section independent_RVs.
926
926
Context {R : realType} d d' (T : measurableType d) (T' : measurableType d').
927
927
Variable P : probability T R.
928
928
929
- Definition independent_RVs (I0 : choiceType) (I : set I0)
930
- (X : I0 -> {mfun T >-> T'}) : Prop :=
929
+ Definition independent_RVs (I0 : choiceType)
930
+ (I : set I0) ( X : I0 -> {mfun T >-> T'}) : Prop :=
931
931
mutual_independence P I (fun i => g_sigma_algebra_mapping (X i)).
932
932
933
933
Definition independent_RVs2 (X Y : {mfun T >-> T'}) :=
934
- independent_RVs [set 0%N; 1%N]
935
- [eta (fun => cst point) with 0%N |-> X, 1%N |-> Y].
934
+ independent_RVs [set: bool] [eta (fun=> cst point) with false |-> X, true |-> Y].
936
935
937
936
End independent_RVs.
938
937
@@ -967,54 +966,54 @@ Local Open Scope ring_scope.
967
966
Lemma independent_RVs2_comp (X Y : {RV P >-> R}) (f g : {mfun R >-> R}) :
968
967
independent_RVs2 P X Y -> independent_RVs2 P (f \o X) (g \o Y).
969
968
Proof .
970
- move=> indeXY; split => [i [|]->{i}/= Z/=|J J01 E JE] .
971
- - by rewrite /g_sigma_algebra_mapping/= /preimage_class/= => -[B mB <-];
972
- exact/measurableT_comp.
973
- - by rewrite /g_sigma_algebra_mapping/= /preimage_class/= => -[B mB <-];
974
- exact/measurableT_comp.
975
- - apply indeXY => //= i iJ; have := JE _ iJ .
976
- have : i \in [set 0%N; 1%N] by rewrite inE; apply: J01 .
977
- rewrite inE/= => -[|] /eqP ->/=; rewrite !inE .
978
- + exact: g_sigma_algebra_mapping_comp.
979
- + by case: ifPn => [/eqP ->|i0]; exact: g_sigma_algebra_mapping_comp.
969
+ move=> indeXY; split => /= .
970
+ - move=> [] _ /= A.
971
+ + by rewrite /g_sigma_algebra_mapping/= /preimage_class/= => -[B mB <-];
972
+ exact/measurableT_comp.
973
+ + by rewrite /g_sigma_algebra_mapping/= /preimage_class/= => -[B mB <-];
974
+ exact/measurableT_comp .
975
+ - move=> J _ E JE .
976
+ apply indeXY => //= i iJ; have := JE _ iJ .
977
+ by move: i {iJ} =>[|]//=; rewrite !inE => Eg;
978
+ exact: g_sigma_algebra_mapping_comp Eg .
980
979
Qed .
981
980
982
981
Lemma independent_RVs2_funrposneg (X Y : {RV P >-> R}) :
983
982
independent_RVs2 P X Y -> independent_RVs2 P X^\+ Y^\-.
984
983
Proof .
985
- move=> indeXY; split=> [/= i [|] -> /=|J J01 E JE].
986
- - exact: g_sigma_algebra_mapping_funrpos.
984
+ move=> indeXY; split=> [[|]/= _|J J2 E JE].
987
985
- exact: g_sigma_algebra_mapping_funrneg.
986
+ - exact: g_sigma_algebra_mapping_funrpos.
988
987
- apply indeXY => //= i iJ; have := JE _ iJ.
989
- move/J01 : (iJ) => /= -[|] ->//=; rewrite !inE.
990
- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
991
- exact: measurable_funrpos.
988
+ move/J2 : iJ; move: i => [|]// _; rewrite !inE.
992
989
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
993
990
exact: measurable_funrneg.
991
+ + apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R) => //.
992
+ exact: measurable_funrpos.
994
993
Qed .
995
994
996
995
Lemma independent_RVs2_funrnegpos (X Y : {RV P >-> R}) :
997
996
independent_RVs2 P X Y -> independent_RVs2 P X^\- Y^\+.
998
997
Proof .
999
- move=> indeXY; split=> [/= i [|] -> /=|J J01 E JE].
1000
- - exact: g_sigma_algebra_mapping_funrneg.
998
+ move=> indeXY; split=> [/= [|]// _ |J J2 E JE].
1001
999
- exact: g_sigma_algebra_mapping_funrpos.
1000
+ - exact: g_sigma_algebra_mapping_funrneg.
1002
1001
- apply indeXY => //= i iJ; have := JE _ iJ.
1003
- move/J01 : (iJ) => /= -[|] ->//=; rewrite !inE.
1004
- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
1005
- exact: measurable_funrneg.
1002
+ move/J2 : iJ; move: i => [|]// _; rewrite !inE.
1006
1003
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
1007
1004
exact: measurable_funrpos.
1005
+ + apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
1006
+ exact: measurable_funrneg.
1008
1007
Qed .
1009
1008
1010
1009
Lemma independent_RVs2_funrnegneg (X Y : {RV P >-> R}) :
1011
1010
independent_RVs2 P X Y -> independent_RVs2 P X^\- Y^\-.
1012
1011
Proof .
1013
- move=> indeXY; split=> [/= i [|] -> /= |J J01 E JE].
1012
+ move=> indeXY; split=> [/= [|]// _ |J J2 E JE].
1014
1013
- exact: g_sigma_algebra_mapping_funrneg.
1015
1014
- exact: g_sigma_algebra_mapping_funrneg.
1016
1015
- apply indeXY => //= i iJ; have := JE _ iJ.
1017
- move/J01 : (iJ) => /= - [|] ->//= ; rewrite !inE.
1016
+ move/J2 : iJ; move: i => [|]// _ ; rewrite !inE.
1018
1017
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
1019
1018
exact: measurable_funrneg.
1020
1019
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
@@ -1024,11 +1023,11 @@ Qed.
1024
1023
Lemma independent_RVs2_funrpospos (X Y : {RV P >-> R}) :
1025
1024
independent_RVs2 P X Y -> independent_RVs2 P X^\+ Y^\+.
1026
1025
Proof .
1027
- move=> indeXY; split=> [/= i [|] -> /= |J J01 E JE].
1026
+ move=> indeXY; split=> [/= [|]//= _ |J J2 E JE].
1028
1027
- exact: g_sigma_algebra_mapping_funrpos.
1029
1028
- exact: g_sigma_algebra_mapping_funrpos.
1030
1029
- apply indeXY => //= i iJ; have := JE _ iJ.
1031
- move/J01 : (iJ) => /= - [|] ->//= ; rewrite !inE.
1030
+ move/J2 : iJ; move: i => [|]// _ ; rewrite !inE.
1032
1031
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
1033
1032
exact: measurable_funrpos.
1034
1033
+ apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
@@ -1167,15 +1166,14 @@ have {EX EY}EXY' : 'E_P[X_ n] * 'E_P[Y_ n] @[n --> \oo] --> 'E_P[X] * 'E_P[Y].
1167
1166
suff : forall n, 'E_P[X_ n \* Y_ n] = 'E_P[X_ n] * 'E_P[Y_ n].
1168
1167
by move=> suf; apply: (cvg_unique _ EXY) => //=; under eq_fun do rewrite suf.
1169
1168
move=> n; apply: expectationM_nnsfun => x y xX_ yY_.
1170
- suff : P (\big[setI/setT]_(j <- [fset 0%N; 1%N ]%fset)
1169
+ suff : P (\big[setI/setT]_(j <- [fset false; true ]%fset)
1171
1170
[eta fun=> set0 with 0%N |-> X_ n @^-1` [set x],
1172
1171
1%N |-> Y_ n @^-1` [set y]] j) =
1173
- \prod_(j <- [fset 0%N; 1%N ]%fset)
1172
+ \prod_(j <- [fset false; true ]%fset)
1174
1173
P ([eta fun=> set0 with 0%N |-> X_ n @^-1` [set x],
1175
1174
1%N |-> Y_ n @^-1` [set y]] j).
1176
1175
by rewrite !big_fsetU1/= ?inE//= !big_seq_fset1/=.
1177
1176
move: indeXY => [/= _]; apply => // i.
1178
- by rewrite /= !inE => /orP[|]/eqP ->; auto.
1179
1177
pose AX := approx_A setT (EFin \o X).
1180
1178
pose AY := approx_A setT (EFin \o Y).
1181
1179
pose BX := approx_B setT (EFin \o X).
0 commit comments