22From mathcomp Require Import all_ssreflect.
33From mathcomp Require Import ssralg poly ssrnum ssrint interval finmap.
44From mathcomp Require Import mathcomp_extra boolp classical_sets functions.
5- From mathcomp Require Import cardinality fsbigop.
5+ From mathcomp Require Import cardinality fsbigop interval_inference .
66From HB Require Import structures.
77From mathcomp Require Import exp numfun lebesgue_measure lebesgue_integral.
8- From mathcomp Require Import reals ereal signed topology normedtype sequences.
8+ From mathcomp Require Import reals ereal topology normedtype sequences.
99From mathcomp Require Import esum measure exp numfun lebesgue_measure.
1010From mathcomp Require Import lebesgue_integral kernel probability.
1111
@@ -213,7 +213,7 @@ Section mutual_independence_properties.
213213Context {R : realType} d {T : measurableType d} (P : probability T R).
214214Local Open Scope ereal_scope.
215215
216- (**md see Achim Klenke's Probability Thery , Ch.2, sec.2.1, thm.2.13(i) *)
216+ (**md see Achim Klenke's Probability Theory , Ch.2, sec.2.1, thm.2.13(i) *)
217217Lemma mutual_independence_fset {I0 : choiceType} (I : {fset I0})
218218 (F : I0 -> set_system T) :
219219 (forall i, i \in I -> F i `<=` measurable /\ (F i) [set: T]) ->
@@ -237,7 +237,7 @@ rewrite -big_seq => ->.
237237by rewrite !big_seq; apply: eq_bigr => i iJ; rewrite /E' iJ.
238238Qed .
239239
240- (**md see Achim Klenke's Probability Thery , Ch.2, sec.2.1, thm.2.13(ii) *)
240+ (**md see Achim Klenke's Probability Theory , Ch.2, sec.2.1, thm.2.13(ii) *)
241241Lemma mutual_independence_finiteS {I0 : choiceType} (I : set I0)
242242 (F : I0 -> set_system T) :
243243 mutual_independence P I F <->
@@ -255,7 +255,7 @@ split=> [i Ii|J JI E EF].
255255by have [_] := indeF _ JI; exact.
256256Qed .
257257
258- (**md see Achim Klenke's Probability Thery , Ch.2, sec.2.1, thm.2.13(iii) *)
258+ (**md see Achim Klenke's Probability Theory , Ch.2, sec.2.1, thm.2.13(iii) *)
259259Theorem mutual_independence_finite_g_sigma {I0 : choiceType} (I : set I0)
260260 (F : I0 -> set_system T) :
261261 (forall i, i \in I -> setI_closed (F i `|` [set set0])) ->
@@ -437,7 +437,7 @@ apply/negP/set0P; exists j; split => //.
437437exact/set_mem.
438438Qed .
439439
440- (**md see Achim Klenke's Probability Thery , Ch.2, sec.2.1, thm.2.13(iv) *)
440+ (**md see Achim Klenke's Probability Theory , Ch.2, sec.2.1, thm.2.13(iv) *)
441441Lemma mutual_independence_bigcup (K0 I0 : pointedType) (K : {fset K0})
442442 (I_ : K0 -> set I0) (I : set I0) (F : I0 -> set_system T) :
443443 trivIset [set` K] (fun i => I_ i) ->
@@ -482,28 +482,28 @@ Qed.
482482
483483End mutual_independence_properties.
484484
485- Section g_sigma_algebra_mapping_lemmas .
485+ Section g_sigma_algebra_preimage_lemmas .
486486Context d {T : measurableType d} {R : realType}.
487487
488- Lemma g_sigma_algebra_mapping_comp (X : {mfun T >-> R}) (f : R -> R) :
488+ Lemma g_sigma_algebra_preimage_comp (X : {mfun T >-> R}) (f : R -> R) :
489489 measurable_fun setT f ->
490- g_sigma_algebra_mapping (f \o X)%R `<=` g_sigma_algebra_mapping X.
491- Proof . exact: preimage_set_system_comp . Qed .
490+ g_sigma_algebra_preimage (f \o X)%R `<=` g_sigma_algebra_preimage X.
491+ Proof . exact: preimage_set_system_compS . Qed .
492492
493- Lemma g_sigma_algebra_mapping_funrpos (X : {mfun T >-> R}) :
494- g_sigma_algebra_mapping X^\+%R `<=` d.-measurable.
493+ Lemma g_sigma_algebra_preimage_funrpos (X : {mfun T >-> R}) :
494+ g_sigma_algebra_preimage X^\+%R `<=` d.-measurable.
495495Proof .
496496by move=> A/= -[B mB] <-; have := measurable_funrpos (measurable_funP X); exact.
497497Qed .
498498
499- Lemma g_sigma_algebra_mapping_funrneg (X : {mfun T >-> R}) :
500- g_sigma_algebra_mapping X^\-%R `<=` d.-measurable.
499+ Lemma g_sigma_algebra_preimage_funrneg (X : {mfun T >-> R}) :
500+ g_sigma_algebra_preimage X^\-%R `<=` d.-measurable.
501501Proof .
502502by move=> A/= -[B mB] <-; have := measurable_funrneg (measurable_funP X); exact.
503503Qed .
504504
505- End g_sigma_algebra_mapping_lemmas .
506- Arguments g_sigma_algebra_mapping_comp {d T R X} f.
505+ End g_sigma_algebra_preimage_lemmas .
506+ Arguments g_sigma_algebra_preimage_comp {d T R X} f.
507507
508508Section independent_RVs.
509509Context {R : realType} d (T : measurableType d).
@@ -513,7 +513,7 @@ Variable P : probability T R.
513513
514514Definition independent_RVs (I : set I0)
515515 (X : forall i : I0, {mfun T >-> T' i}) : Prop :=
516- mutual_independence P I (fun i => g_sigma_algebra_mapping (X i)).
516+ mutual_independence P I (fun i => g_sigma_algebra_preimage (X i)).
517517
518518End independent_RVs.
519519
@@ -532,7 +532,7 @@ Context {I0 : choiceType}.
532532Context {d' : I0 -> _} (T' : forall i : I0, measurableType (d' i)).
533533Variable P : probability T R.
534534
535- (**md see Achim Klenke's Probability Thery , Ch.2, sec.2.1, thm.2.16 *)
535+ (**md see Achim Klenke's Probability Theory , Ch.2, sec.2.1, thm.2.16 *)
536536Theorem independent_generators (I : set I0) (F : forall i : I0, set_system (T' i))
537537 (X : forall i, {RV P >-> T' i}) :
538538 (forall i, i \in I -> setI_closed (F i)) ->
@@ -550,9 +550,9 @@ have closed_preimage i : I i -> setI_closed (preimage_set_system setT (X i) (F i
550550 - exact/mem_set.
551551 - by rewrite setTI.
552552have gen_preimage i : I i ->
553- <<s preimage_set_system setT (X i) (F i) >> = g_sigma_algebra_mapping (X i).
553+ <<s preimage_set_system setT (X i) (F i) >> = g_sigma_algebra_preimage (X i).
554554 move=> Ii.
555- rewrite /g_sigma_algebra_mapping AsF; last exact/mem_set.
555+ rewrite /g_sigma_algebra_preimage AsF; last exact/mem_set.
556556 by rewrite -g_sigma_preimageE.
557557rewrite /independent_RVs.
558558suff: mutual_independence P I (fun i => <<s preimage_set_system setT (X i) (F i) >>).
@@ -576,78 +576,79 @@ Lemma independent_RVs2_comp (X Y : {RV P >-> R}) (f g : {mfun R >-> R}) :
576576Proof .
577577move=> indeXY; split => /=.
578578- move=> [] _ /= A.
579- + by rewrite /g_sigma_algebra_mapping /= /preimage_set_system/= => -[B mB <-];
579+ + by rewrite /g_sigma_algebra_preimage /= /preimage_set_system/= => -[B mB <-];
580580 exact/measurableT_comp.
581- + by rewrite /g_sigma_algebra_mapping /= /preimage_set_system/= => -[B mB <-];
581+ + by rewrite /g_sigma_algebra_preimage /= /preimage_set_system/= => -[B mB <-];
582582 exact/measurableT_comp.
583583- move=> J _ E JE.
584584 apply indeXY => //= i iJ; have := JE _ iJ.
585585 by move: i {iJ} =>[|]//=; rewrite !inE => Eg;
586- exact: g_sigma_algebra_mapping_comp Eg.
586+ exact: g_sigma_algebra_preimage_comp Eg.
587587Qed .
588588
589589Lemma independent_RVs2_funrposneg (X Y : {RV P >-> R}) :
590590 independent_RVs2 P X Y -> independent_RVs2 P X^\+ Y^\-.
591591Proof .
592592move=> indeXY; split=> [[|]/= _|J J2 E JE].
593- - exact: g_sigma_algebra_mapping_funrneg .
594- - exact: g_sigma_algebra_mapping_funrpos .
593+ - exact: g_sigma_algebra_preimage_funrneg .
594+ - exact: g_sigma_algebra_preimage_funrpos .
595595- apply indeXY => //= i iJ; have := JE _ iJ.
596596 move/J2 : iJ; move: i => [|]// _; rewrite !inE.
597- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
597+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr (- x) 0)%R).
598598 exact: measurable_funrneg.
599- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R) => //.
599+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr x 0)%R) => //.
600600 exact: measurable_funrpos.
601601Qed .
602602
603603Lemma independent_RVs2_funrnegpos (X Y : {RV P >-> R}) :
604604 independent_RVs2 P X Y -> independent_RVs2 P X^\- Y^\+.
605605Proof .
606606move=> indeXY; split=> [/= [|]// _ |J J2 E JE].
607- - exact: g_sigma_algebra_mapping_funrpos .
608- - exact: g_sigma_algebra_mapping_funrneg .
607+ - exact: g_sigma_algebra_preimage_funrpos .
608+ - exact: g_sigma_algebra_preimage_funrneg .
609609- apply indeXY => //= i iJ; have := JE _ iJ.
610610 move/J2 : iJ; move: i => [|]// _; rewrite !inE.
611- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
611+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr x 0)%R).
612612 exact: measurable_funrpos.
613- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
613+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr (- x) 0)%R).
614614 exact: measurable_funrneg.
615615Qed .
616616
617617Lemma independent_RVs2_funrnegneg (X Y : {RV P >-> R}) :
618618 independent_RVs2 P X Y -> independent_RVs2 P X^\- Y^\-.
619619Proof .
620620move=> indeXY; split=> [/= [|]// _ |J J2 E JE].
621- - exact: g_sigma_algebra_mapping_funrneg .
622- - exact: g_sigma_algebra_mapping_funrneg .
621+ - exact: g_sigma_algebra_preimage_funrneg .
622+ - exact: g_sigma_algebra_preimage_funrneg .
623623- apply indeXY => //= i iJ; have := JE _ iJ.
624624 move/J2 : iJ; move: i => [|]// _; rewrite !inE.
625- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
625+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr (- x) 0)%R).
626626 exact: measurable_funrneg.
627- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr (- x) 0)%R).
627+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr (- x) 0)%R).
628628 exact: measurable_funrneg.
629629Qed .
630630
631631Lemma independent_RVs2_funrpospos (X Y : {RV P >-> R}) :
632632 independent_RVs2 P X Y -> independent_RVs2 P X^\+ Y^\+.
633633Proof .
634634move=> indeXY; split=> [/= [|]//= _ |J J2 E JE].
635- - exact: g_sigma_algebra_mapping_funrpos .
636- - exact: g_sigma_algebra_mapping_funrpos .
635+ - exact: g_sigma_algebra_preimage_funrpos .
636+ - exact: g_sigma_algebra_preimage_funrpos .
637637- apply indeXY => //= i iJ; have := JE _ iJ.
638638 move/J2 : iJ; move: i => [|]// _; rewrite !inE.
639- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
639+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr x 0)%R).
640640 exact: measurable_funrpos.
641- + apply: (g_sigma_algebra_mapping_comp (fun x => maxr x 0)%R).
641+ + apply: (g_sigma_algebra_preimage_comp (fun x => maxr x 0)%R).
642642 exact: measurable_funrpos.
643643Qed .
644644
645645End independent_RVs_lemmas.
646646
647- Definition preimage_classes I (d : I -> measure_display)
648- (Tn : forall k, semiRingOfSetsType (d k)) (T : Type) (fn : forall k, T -> Tn k) :=
649- <<s \bigcup_k preimage_set_system setT (fn k) measurable >>.
650- Arguments preimage_classes {I} d Tn {T} fn.
647+ Definition preimage_classes I0 (I : set I0) (d_ : forall i : I, measure_display)
648+ (T_ : forall k : I, semiRingOfSetsType (d_ k)) (T : Type )
649+ (f_ : forall k : I, T -> T_ k) :=
650+ <<s \bigcup_(k : I) preimage_set_system setT (f_ k) measurable >>.
651+ Arguments preimage_classes {I0} I d_ T_ {T} f_.
651652
652653Lemma measurable_prod d [T : measurableType d] [R : realType] [D : set T] [I : eqType]
653654 (s : seq I) [h : I -> T -> R] :
@@ -717,7 +718,7 @@ rewrite /independent_RVs2 /independent_RVs /mutual_independence /= => -[_].
717718move/(_ [fset false; true]%fset (@subsetT _ _)
718719 (fun b => if b then Y @^-1` B2 else X @^-1` B1)).
719720rewrite !big_fsetU1 ?inE//= !big_seq_fset1/=.
720- apply => -[|] /= _; rewrite !inE; rewrite /g_sigma_algebra_mapping .
721+ apply => -[|] /= _; rewrite !inE; rewrite /g_sigma_algebra_preimage .
721722by exists B2 => //; rewrite setTI.
722723by exists B1 => //; rewrite setTI.
723724Qed .
@@ -958,23 +959,23 @@ pose AY := dyadic_approx setT (EFin \o Y).
958959pose BX := integer_approx setT (EFin \o X).
959960pose BY := integer_approx setT (EFin \o Y).
960961have mA (Z : {RV P >-> R}) m k : (k < m * 2 ^ m)%N ->
961- g_sigma_algebra_mapping Z (dyadic_approx setT (EFin \o Z) m k).
962- move=> mk; rewrite /g_sigma_algebra_mapping /dyadic_approx mk setTI.
962+ g_sigma_algebra_preimage Z (dyadic_approx setT (EFin \o Z) m k).
963+ move=> mk; rewrite /g_sigma_algebra_preimage /dyadic_approx mk setTI.
963964 rewrite /preimage_set_system/=; exists [set` dyadic_itv R m k] => //.
964965 rewrite setTI/=; apply/seteqP; split => z/=.
965966 by rewrite inE/= => Zz; exists (Z z).
966967 by rewrite inE/= => -[r rmk] [<-].
967968have mB (Z : {RV P >-> R}) k :
968- g_sigma_algebra_mapping Z (integer_approx setT (EFin \o Z) k).
969- rewrite /g_sigma_algebra_mapping /integer_approx setTI /preimage_set_system/=.
969+ g_sigma_algebra_preimage Z (integer_approx setT (EFin \o Z) k).
970+ rewrite /g_sigma_algebra_preimage /integer_approx setTI /preimage_set_system/=.
970971 by exists `[k%:R, +oo[%classic => //; rewrite setTI preimage_itvcy.
971972have m1A (Z : {RV P >-> R}) : forall k, (k < n * 2 ^ n)%N ->
972973 measurable_fun setT
973- (\1_(dyadic_approx setT (EFin \o Z) n k) : g_sigma_algebra_mappingType Z -> R).
974+ (\1_(dyadic_approx setT (EFin \o Z) n k) : g_sigma_algebra_preimageType Z -> R).
974975 move=> k kn.
975- exact/(@measurable_indicP _ (g_sigma_algebra_mappingType Z))/mA.
976+ exact/(@measurable_indicP _ (g_sigma_algebra_preimageType Z))/mA.
976977rewrite !inE => /orP[|]/eqP->{i} //=.
977- have : @measurable_fun _ _ (g_sigma_algebra_mappingType X) _ setT (X_ n).
978+ have : @measurable_fun _ _ (g_sigma_algebra_preimageType X) _ setT (X_ n).
978979 rewrite nnsfun_approxE//.
979980 apply: measurable_funD => //=.
980981 apply: measurable_sum => //= k'; apply: measurable_funM => //.
@@ -983,7 +984,7 @@ rewrite !inE => /orP[|]/eqP->{i} //=.
983984 by apply: measurable_indic; exact: mB.
984985 rewrite /measurable_fun => /(_ measurableT _ (measurable_set1 x)).
985986 by rewrite setTI.
986- have : @measurable_fun _ _ (g_sigma_algebra_mappingType Y) _ setT (Y_ n).
987+ have : @measurable_fun _ _ (g_sigma_algebra_preimageType Y) _ setT (Y_ n).
987988 rewrite nnsfun_approxE//.
988989 apply: measurable_funD => //=.
989990 apply: measurable_sum => //= k'; apply: measurable_funM => //.
@@ -1036,7 +1037,7 @@ exact/measurable_EFinP/measurable_funM.
10361037Qed .
10371038
10381039(* TODO: rename to expectationM when deprecation is removed *)
1039- Lemma expectation_prod (X Y : {RV P >-> R}) :
1040+ Lemma expectation_mul (X Y : {RV P >-> R}) :
10401041 independent_RVs2 P X Y ->
10411042 P.-integrable setT (EFin \o X) -> P.-integrable setT (EFin \o Y) ->
10421043 'E_P [X * Y] = 'E_P [X] * 'E_P [Y].
0 commit comments