src/HOL/Probability/Independent_Family.thy
changeset 43920 cedb5cb948fd
parent 43340 60e181c4eae4
child 44282 f0de18b62d63
equal deleted inserted replaced
43919:a7e4fb1a0502 43920:cedb5cb948fd
   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]