820 |
820 |
821 lemma (in prob_space) indep_distribution_eq_measure: |
821 lemma (in prob_space) indep_distribution_eq_measure: |
822 assumes I: "I \<noteq> {}" "finite I" |
822 assumes I: "I \<noteq> {}" "finite I" |
823 assumes rv: "\<And>i. random_variable (M' i) (X i)" |
823 assumes rv: "\<And>i. random_variable (M' i) (X i)" |
824 shows "indep_vars M' X I \<longleftrightarrow> |
824 shows "indep_vars M' X I \<longleftrightarrow> |
825 (\<forall>A\<in>sets (\<Pi>\<^isub>M i\<in>I. (M' i \<lparr> measure := extreal\<circ>distribution (X i) \<rparr>)). |
825 (\<forall>A\<in>sets (\<Pi>\<^isub>M i\<in>I. (M' i \<lparr> measure := ereal\<circ>distribution (X i) \<rparr>)). |
826 distribution (\<lambda>x. \<lambda>i\<in>I. X i x) A = |
826 distribution (\<lambda>x. \<lambda>i\<in>I. X i x) A = |
827 finite_measure.\<mu>' (\<Pi>\<^isub>M i\<in>I. (M' i \<lparr> measure := extreal\<circ>distribution (X i) \<rparr>)) A)" |
827 finite_measure.\<mu>' (\<Pi>\<^isub>M i\<in>I. (M' i \<lparr> measure := ereal\<circ>distribution (X i) \<rparr>)) A)" |
828 (is "_ \<longleftrightarrow> (\<forall>X\<in>_. distribution ?D X = finite_measure.\<mu>' (Pi\<^isub>M I ?M) X)") |
828 (is "_ \<longleftrightarrow> (\<forall>X\<in>_. distribution ?D X = finite_measure.\<mu>' (Pi\<^isub>M I ?M) X)") |
829 proof - |
829 proof - |
830 interpret M': prob_space "?M i" for i |
830 interpret M': prob_space "?M i" for i |
831 using rv by (rule distribution_prob_space) |
831 using rv by (rule distribution_prob_space) |
832 interpret P: finite_product_prob_space ?M I |
832 interpret P: finite_product_prob_space ?M I |
833 proof qed fact |
833 proof qed fact |
834 |
834 |
835 let ?D' = "(Pi\<^isub>M I ?M) \<lparr> measure := extreal \<circ> distribution ?D \<rparr>" |
835 let ?D' = "(Pi\<^isub>M I ?M) \<lparr> measure := ereal \<circ> distribution ?D \<rparr>" |
836 have "random_variable P.P ?D" |
836 have "random_variable P.P ?D" |
837 using `finite I` rv by (intro random_variable_restrict) auto |
837 using `finite I` rv by (intro random_variable_restrict) auto |
838 then interpret D: prob_space ?D' |
838 then interpret D: prob_space ?D' |
839 by (rule distribution_prob_space) |
839 by (rule distribution_prob_space) |
840 |
840 |
936 unfolding UNIV_bool by auto |
936 unfolding UNIV_bool by auto |
937 qed |
937 qed |
938 |
938 |
939 lemma (in prob_space) indep_var_distributionD: |
939 lemma (in prob_space) indep_var_distributionD: |
940 assumes indep: "indep_var S X T Y" |
940 assumes indep: "indep_var S X T Y" |
941 defines "P \<equiv> S\<lparr>measure := extreal\<circ>distribution X\<rparr> \<Otimes>\<^isub>M T\<lparr>measure := extreal\<circ>distribution Y\<rparr>" |
941 defines "P \<equiv> S\<lparr>measure := ereal\<circ>distribution X\<rparr> \<Otimes>\<^isub>M T\<lparr>measure := ereal\<circ>distribution Y\<rparr>" |
942 assumes "A \<in> sets P" |
942 assumes "A \<in> sets P" |
943 shows "joint_distribution X Y A = finite_measure.\<mu>' P A" |
943 shows "joint_distribution X Y A = finite_measure.\<mu>' P A" |
944 proof - |
944 proof - |
945 from indep have rvs: "random_variable S X" "random_variable T Y" |
945 from indep have rvs: "random_variable S X" "random_variable T Y" |
946 by (blast dest: indep_var_rv1 indep_var_rv2)+ |
946 by (blast dest: indep_var_rv1 indep_var_rv2)+ |
947 |
947 |
948 let ?S = "S\<lparr>measure := extreal\<circ>distribution X\<rparr>" |
948 let ?S = "S\<lparr>measure := ereal\<circ>distribution X\<rparr>" |
949 let ?T = "T\<lparr>measure := extreal\<circ>distribution Y\<rparr>" |
949 let ?T = "T\<lparr>measure := ereal\<circ>distribution Y\<rparr>" |
950 interpret X: prob_space ?S by (rule distribution_prob_space) fact |
950 interpret X: prob_space ?S by (rule distribution_prob_space) fact |
951 interpret Y: prob_space ?T by (rule distribution_prob_space) fact |
951 interpret Y: prob_space ?T by (rule distribution_prob_space) fact |
952 interpret XY: pair_prob_space ?S ?T by default |
952 interpret XY: pair_prob_space ?S ?T by default |
953 |
953 |
954 let ?J = "XY.P\<lparr> measure := extreal \<circ> joint_distribution X Y \<rparr>" |
954 let ?J = "XY.P\<lparr> measure := ereal \<circ> joint_distribution X Y \<rparr>" |
955 interpret J: prob_space ?J |
955 interpret J: prob_space ?J |
956 by (rule joint_distribution_prob_space) (simp_all add: rvs) |
956 by (rule joint_distribution_prob_space) (simp_all add: rvs) |
957 |
957 |
958 have "finite_measure.\<mu>' (XY.P\<lparr> measure := extreal \<circ> joint_distribution X Y \<rparr>) A = XY.\<mu>' A" |
958 have "finite_measure.\<mu>' (XY.P\<lparr> measure := ereal \<circ> joint_distribution X Y \<rparr>) A = XY.\<mu>' A" |
959 proof (rule prob_space_unique_Int_stable) |
959 proof (rule prob_space_unique_Int_stable) |
960 show "Int_stable (pair_measure_generator ?S ?T)" (is "Int_stable ?P") |
960 show "Int_stable (pair_measure_generator ?S ?T)" (is "Int_stable ?P") |
961 by fact |
961 by fact |
962 show "space ?P \<in> sets ?P" |
962 show "space ?P \<in> sets ?P" |
963 unfolding space_pair_measure[simplified pair_measure_def space_sigma] |
963 unfolding space_pair_measure[simplified pair_measure_def space_sigma] |