src/HOL/Probability/Infinite_Product_Measure.thy
changeset 42865 36353d913424
parent 42257 08d717c82828
child 42866 b0746bd57a41
equal deleted inserted replaced
42864:403e1cba1123 42865:36353d913424
   939   with f_in ext show ?thesis
   939   with f_in ext show ?thesis
   940     by (subst infprod_algebra_alt2)
   940     by (subst infprod_algebra_alt2)
   941        (auto intro!: N.measurable_sigma simp: Pi_iff infprod_algebra_def generator_def)
   941        (auto intro!: N.measurable_sigma simp: Pi_iff infprod_algebra_def generator_def)
   942 qed
   942 qed
   943 
   943 
       
   944 lemma (in product_prob_space) measurable_singleton_infprod:
       
   945   assumes "i \<in> I"
       
   946   shows "(\<lambda>x. x i) \<in> measurable (Pi\<^isub>P I M) (M i)"
       
   947 proof (unfold measurable_def, intro CollectI conjI ballI)
       
   948   show "(\<lambda>x. x i) \<in> space (Pi\<^isub>P I M) \<rightarrow> space (M i)"
       
   949     using M.sets_into_space `i \<in> I`
       
   950     by (auto simp: infprod_algebra_def generator_def)
       
   951   fix A assume "A \<in> sets (M i)"
       
   952   have "(\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>P I M) = emb I {i} (\<Pi>\<^isub>E _\<in>{i}. A)"
       
   953     by (auto simp: infprod_algebra_def generator_def emb_def)
       
   954   also have "\<dots> \<in> sets (Pi\<^isub>P I M)"
       
   955     using `i \<in> I` `A \<in> sets (M i)`
       
   956     by (intro emb_in_infprod_algebra product_algebraI) auto
       
   957   finally show "(\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>P I M) \<in> sets (Pi\<^isub>P I M)" .
       
   958 qed
       
   959 
       
   960 lemma (in product_prob_space) sigma_product_algebra_sigma_eq:
       
   961   assumes M: "\<And>i. i \<in> I \<Longrightarrow> M i = sigma (E i)"
       
   962   shows "sets (Pi\<^isub>P I M) = sigma_sets (space (Pi\<^isub>P I M)) (\<Union>i\<in>I. (\<lambda>A. (\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>P I M)) ` sets (E i))"
       
   963 proof -
       
   964   let ?E = "(\<Union>i\<in>I. (\<lambda>A. (\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>P I M)) ` sets (E i))"
       
   965   let ?M = "(\<Union>i\<in>I. (\<lambda>A. (\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>P I M)) ` sets (M i))"
       
   966   { fix i A assume "i\<in>I" "A \<in> sets (E i)"
       
   967     then have "A \<in> sets (M i)" using M by auto
       
   968     then have "A \<in> Pow (space (M i))" using M.sets_into_space by auto
       
   969     then have "A \<in> Pow (space (E i))" using M[OF `i \<in> I`] by auto }
       
   970   moreover
       
   971   have "\<And>i. i \<in> I \<Longrightarrow> (\<lambda>x. x i) \<in> space infprod_algebra \<rightarrow> space (E i)"
       
   972     by (auto simp: M infprod_algebra_def generator_def Pi_iff)
       
   973   ultimately have "sigma_sets (space (Pi\<^isub>P I M)) ?M \<subseteq> sigma_sets (space (Pi\<^isub>P I M)) ?E"
       
   974     apply (intro sigma_sets_mono UN_least)
       
   975     apply (simp add: sets_sigma M)
       
   976     apply (subst sigma_sets_vimage[symmetric])
       
   977     apply (auto intro!: sigma_sets_mono')
       
   978     done
       
   979   moreover have "sigma_sets (space (Pi\<^isub>P I M)) ?E \<subseteq> sigma_sets (space (Pi\<^isub>P I M)) ?M"
       
   980     by (intro sigma_sets_mono') (auto simp: M)
       
   981   ultimately show ?thesis
       
   982     by (subst infprod_algebra_alt2) (auto simp: sets_sigma)
       
   983 qed
       
   984 
       
   985 lemma (in product_prob_space) Int_proj_eq_emb:
       
   986   assumes "J \<noteq> {}" "J \<subseteq> I"
       
   987   shows "(\<Inter>i\<in>J. (\<lambda>x. x i) -` A i \<inter> space (Pi\<^isub>P I M)) = emb I J (Pi\<^isub>E J A)"
       
   988   using assms by (auto simp: infprod_algebra_def generator_def emb_def Pi_iff)
       
   989 
       
   990 lemma (in product_prob_space) emb_insert:
       
   991   "i \<notin> J \<Longrightarrow> emb I J (Pi\<^isub>E J f) \<inter> ((\<lambda>x. x i) -` A \<inter> space (Pi\<^isub>P I M)) =
       
   992     emb I (insert i J) (Pi\<^isub>E (insert i J) (f(i := A)))"
       
   993   by (auto simp: emb_def Pi_iff infprod_algebra_def generator_def split: split_if_asm)
       
   994 
   944 subsection {* Sequence space *}
   995 subsection {* Sequence space *}
   945 
   996 
   946 locale sequence_space = product_prob_space M "UNIV :: nat set" for M
   997 locale sequence_space = product_prob_space M "UNIV :: nat set" for M
   947 
   998 
   948 lemma (in sequence_space) infprod_in_sets[intro]:
   999 lemma (in sequence_space) infprod_in_sets[intro]: