src/HOL/Probability/Projective_Family.thy
changeset 57447 87429bdecad5
parent 57418 6ab1c7cb0b8d
child 58876 1888e3cb8048
equal deleted inserted replaced
57446:06e195515deb 57447:87429bdecad5
   116       done
   116       done
   117   qed
   117   qed
   118   finally show ?thesis .
   118   finally show ?thesis .
   119 qed
   119 qed
   120 
   120 
   121 lemma limP_finite:
   121 lemma limP_finite[simp]:
   122   assumes "finite J"
   122   assumes "finite J"
   123   assumes "J \<subseteq> I"
   123   assumes "J \<subseteq> I"
   124   shows "limP J M P = P J" (is "?P = _")
   124   shows "limP J M P = P J" (is "?P = _")
   125 proof (rule measure_eqI_generator_eq)
   125 proof (rule measure_eqI_generator_eq)
   126   let ?J = "{Pi\<^sub>E J E | E. \<forall>i\<in>J. E i \<in> sets (M i)}"
   126   let ?J = "{Pi\<^sub>E J E | E. \<forall>i\<in>J. E i \<in> sets (M i)}"
   235   shows "\<mu>G A = emeasure (limP J M P) X"
   235   shows "\<mu>G A = emeasure (limP J M P) X"
   236   unfolding mu_G_def
   236   unfolding mu_G_def
   237 proof (intro the_equality allI impI ballI)
   237 proof (intro the_equality allI impI ballI)
   238   fix K Y assume K: "K \<noteq> {}" "finite K" "K \<subseteq> I" "A = emb I K Y" "Y \<in> sets (Pi\<^sub>M K M)"
   238   fix K Y assume K: "K \<noteq> {}" "finite K" "K \<subseteq> I" "A = emb I K Y" "Y \<in> sets (Pi\<^sub>M K M)"
   239   have "emeasure (limP K M P) Y = emeasure (limP (K \<union> J) M P) (emb (K \<union> J) K Y)"
   239   have "emeasure (limP K M P) Y = emeasure (limP (K \<union> J) M P) (emb (K \<union> J) K Y)"
   240     using K J by simp
   240     using K J by (simp del: limP_finite)
   241   also have "emb (K \<union> J) K Y = emb (K \<union> J) J X"
   241   also have "emb (K \<union> J) K Y = emb (K \<union> J) J X"
   242     using K J by (simp add: prod_emb_injective[of "K \<union> J" I])
   242     using K J by (simp add: prod_emb_injective[of "K \<union> J" I])
   243   also have "emeasure (limP (K \<union> J) M P) (emb (K \<union> J) J X) = emeasure (limP J M P) X"
   243   also have "emeasure (limP (K \<union> J) M P) (emb (K \<union> J) J X) = emeasure (limP J M P) X"
   244     using K J by simp
   244     using K J by (simp del: limP_finite)
   245   finally show "emeasure (limP J M P) X = emeasure (limP K M P) Y" ..
   245   finally show "emeasure (limP J M P) X = emeasure (limP K M P) Y" ..
   246 qed (insert J, force)
   246 qed (insert J, force)
   247 
   247 
   248 lemma mu_G_eq:
   248 lemma mu_G_eq:
   249   "J \<noteq> {} \<Longrightarrow> finite J \<Longrightarrow> J \<subseteq> I \<Longrightarrow> X \<in> sets (Pi\<^sub>M J M) \<Longrightarrow> \<mu>G (emb I J X) = emeasure (limP J M P) X"
   249   "J \<noteq> {} \<Longrightarrow> finite J \<Longrightarrow> J \<subseteq> I \<Longrightarrow> X \<in> sets (Pi\<^sub>M J M) \<Longrightarrow> \<mu>G (emb I J X) = emeasure (limP J M P) X"
   253   assumes *: "A \<in> generator"
   253   assumes *: "A \<in> generator"
   254   shows "\<exists>J X. J \<noteq> {} \<and> finite J \<and> J \<subseteq> I \<and> X \<in> sets (Pi\<^sub>M J M) \<and> A = emb I J X \<and> \<mu>G A = emeasure (limP J M P) X"
   254   shows "\<exists>J X. J \<noteq> {} \<and> finite J \<and> J \<subseteq> I \<and> X \<in> sets (Pi\<^sub>M J M) \<and> A = emb I J X \<and> \<mu>G A = emeasure (limP J M P) X"
   255 proof -
   255 proof -
   256   from * obtain J X where J: "J \<noteq> {}" "finite J" "J \<subseteq> I" "A = emb I J X" "X \<in> sets (Pi\<^sub>M J M)"
   256   from * obtain J X where J: "J \<noteq> {}" "finite J" "J \<subseteq> I" "A = emb I J X" "X \<in> sets (Pi\<^sub>M J M)"
   257     unfolding generator_def by auto
   257     unfolding generator_def by auto
   258   with mu_G_spec[OF this] show ?thesis by auto
   258   with mu_G_spec[OF this] show ?thesis by (auto simp del: limP_finite)
   259 qed
   259 qed
   260 
   260 
   261 lemma generatorE:
   261 lemma generatorE:
   262   assumes A: "A \<in> generator"
   262   assumes A: "A \<in> generator"
   263   obtains J X where "J \<noteq> {}" "finite J" "J \<subseteq> I" "X \<in> sets (Pi\<^sub>M J M)" "emb I J X = A" "\<mu>G A = emeasure (limP J M P) X"
   263   obtains J X where "J \<noteq> {}" "finite J" "J \<subseteq> I" "X \<in> sets (Pi\<^sub>M J M)" "emb I J X = A" "\<mu>G A = emeasure (limP J M P) X"
   324     then have "\<mu>G (A \<union> B) = \<mu>G (emb I (J \<union> K) (emb (J \<union> K) J X \<union> emb (J \<union> K) K Y))"
   324     then have "\<mu>G (A \<union> B) = \<mu>G (emb I (J \<union> K) (emb (J \<union> K) J X \<union> emb (J \<union> K) K Y))"
   325       by simp
   325       by simp
   326     also have "\<dots> = emeasure (limP (J \<union> K) M P) (emb (J \<union> K) J X \<union> emb (J \<union> K) K Y)"
   326     also have "\<dots> = emeasure (limP (J \<union> K) M P) (emb (J \<union> K) J X \<union> emb (J \<union> K) K Y)"
   327       using JK J(1, 4) K(1, 4) by (simp add: mu_G_eq sets.Un del: prod_emb_Un)
   327       using JK J(1, 4) K(1, 4) by (simp add: mu_G_eq sets.Un del: prod_emb_Un)
   328     also have "\<dots> = \<mu>G A + \<mu>G B"
   328     also have "\<dots> = \<mu>G A + \<mu>G B"
   329       using J K JK_disj by (simp add: plus_emeasure[symmetric])
   329       using J K JK_disj by (simp add: plus_emeasure[symmetric] del: limP_finite)
   330     finally show "\<mu>G (A \<union> B) = \<mu>G A + \<mu>G B" .
   330     finally show "\<mu>G (A \<union> B) = \<mu>G A + \<mu>G B" .
   331   qed
   331   qed
   332 qed
   332 qed
   333 
   333 
   334 end
   334 end
   335 
   335 
   336 sublocale product_prob_space \<subseteq> projective_family I "\<lambda>J. PiM J M" M
   336 sublocale product_prob_space \<subseteq> projective_family I "\<lambda>J. PiM J M" M
   337 proof
   337 proof (simp add: projective_family_def, safe)
   338   fix J::"'i set" assume "finite J"
   338   fix J::"'i set" assume [simp]: "finite J"
   339   interpret f: finite_product_prob_space M J proof qed fact
   339   interpret f: finite_product_prob_space M J proof qed fact
   340   show "emeasure (Pi\<^sub>M J M) (space (Pi\<^sub>M J M)) \<noteq> \<infinity>" by simp
   340   show "prob_space (Pi\<^sub>M J M)"
   341   show "\<exists>A. range A \<subseteq> sets (Pi\<^sub>M J M) \<and>
   341   proof
   342             (\<Union>i. A i) = space (Pi\<^sub>M J M) \<and>
   342     show "emeasure (Pi\<^sub>M J M) (space (Pi\<^sub>M J M)) = 1"
   343             (\<forall>i. emeasure (Pi\<^sub>M J M) (A i) \<noteq> \<infinity>)" using sigma_finite[OF `finite J`]
   343       by (simp add: space_PiM emeasure_PiM emeasure_space_1)
   344     by (auto simp add: sigma_finite_measure_def)
   344   qed
   345   show "emeasure (Pi\<^sub>M J M) (space (Pi\<^sub>M J M)) = 1" by (rule f.emeasure_space_1)
   345 qed
   346 qed simp_all
       
   347 
       
   348 lemma (in product_prob_space) limP_PiM_finite[simp]:
       
   349   assumes "J \<noteq> {}" "finite J" "J \<subseteq> I" shows "limP J M (\<lambda>J. PiM J M) = PiM J M"
       
   350   using assms by (simp add: limP_finite)
       
   351 
   346 
   352 end
   347 end