src/HOL/Probability/Fin_Map.thy
changeset 69712 dc85b5b3a532
parent 69661 a03a63b81f44
child 71547 d350aabace23
equal deleted inserted replaced
69711:82a604715919 69712:dc85b5b3a532
  1092       apply (metis (lifting, mono_tags) UNIV_I UnionE basis_proj_def countable_basis_proj countable_subset from_nat_into_surj)
  1092       apply (metis (lifting, mono_tags) UNIV_I UnionE basis_proj_def countable_basis_proj countable_subset from_nat_into_surj)
  1093       done
  1093       done
  1094     show "range S' \<subseteq> Collect open"
  1094     show "range S' \<subseteq> Collect open"
  1095       using S
  1095       using S
  1096       apply (auto simp add: from_nat_into countable_basis_proj S'_def)
  1096       apply (auto simp add: from_nat_into countable_basis_proj S'_def)
  1097       apply (metis UNIV_not_empty Union_empty from_nat_into set_mp topological_basis_open[OF basis_proj] basis_proj_def)
  1097       apply (metis UNIV_not_empty Union_empty from_nat_into subsetD topological_basis_open[OF basis_proj] basis_proj_def)
  1098       done
  1098       done
  1099     show "Collect open \<subseteq> Pow (space borel)" by simp
  1099     show "Collect open \<subseteq> Pow (space borel)" by simp
  1100     show "sets borel = sigma_sets (space borel) (Collect open)"
  1100     show "sets borel = sigma_sets (space borel) (Collect open)"
  1101       by (simp add: borel_def)
  1101       by (simp add: borel_def)
  1102   qed
  1102   qed
  1320   assumes X: "X \<in> sets M"
  1320   assumes X: "X \<in> sets M"
  1321   shows "emeasure M X = emeasure (mapmeasure M (\<lambda>_. N)) (fm ` X)"
  1321   shows "emeasure M X = emeasure (mapmeasure M (\<lambda>_. N)) (fm ` X)"
  1322   unfolding mapmeasure_def
  1322   unfolding mapmeasure_def
  1323 proof (subst emeasure_distr, subst measurable_cong_sets[OF s2 refl], rule fm_measurable)
  1323 proof (subst emeasure_distr, subst measurable_cong_sets[OF s2 refl], rule fm_measurable)
  1324   have "X \<subseteq> space (Pi\<^sub>M J (\<lambda>_. N))" using assms by (simp add: sets.sets_into_space)
  1324   have "X \<subseteq> space (Pi\<^sub>M J (\<lambda>_. N))" using assms by (simp add: sets.sets_into_space)
  1325   from assms inj_on_fm[of "\<lambda>_. N"] set_mp[OF this] have "fm -` fm ` X \<inter> space (Pi\<^sub>M J (\<lambda>_. N)) = X"
  1325   from assms inj_on_fm[of "\<lambda>_. N"] subsetD[OF this] have "fm -` fm ` X \<inter> space (Pi\<^sub>M J (\<lambda>_. N)) = X"
  1326     by (auto simp: vimage_image_eq inj_on_def)
  1326     by (auto simp: vimage_image_eq inj_on_def)
  1327   thus "emeasure M X = emeasure M (fm -` fm ` X \<inter> space M)" using s1
  1327   thus "emeasure M X = emeasure M (fm -` fm ` X \<inter> space M)" using s1
  1328     by simp
  1328     by simp
  1329   show "fm ` X \<in> sets (PiF (Collect finite) (\<lambda>_. N))"
  1329   show "fm ` X \<in> sets (PiF (Collect finite) (\<lambda>_. N))"
  1330     by (rule fm_image_measurable_finite[OF N X[simplified s2]])
  1330     by (rule fm_image_measurable_finite[OF N X[simplified s2]])