diff -r 7fb88ed6ff3c -r dbb8ecfe1337 src/HOL/Probability/Measure_Space.thy --- a/src/HOL/Probability/Measure_Space.thy Tue Nov 12 19:28:55 2013 +0100 +++ b/src/HOL/Probability/Measure_Space.thy Tue Nov 12 19:28:56 2013 +0100 @@ -1118,6 +1118,10 @@ and measurable_distr_eq2[simp]: "measurable Mg' (distr Mg Ng g) = measurable Mg' Ng" by (auto simp: measurable_def) +lemma distr_cong: + "M = K \ sets N = sets L \ (\x. x \ space M \ f x = g x) \ distr M N f = distr K L g" + using sets_eq_imp_space_eq[of N L] by (simp add: distr_def Int_def cong: rev_conj_cong) + lemma emeasure_distr: fixes f :: "'a \ 'b" assumes f: "f \ measurable M N" and A: "A \ sets N" @@ -1649,5 +1653,50 @@ show "sigma_finite_measure (count_space A)" .. qed +section {* Measure restricted to space *} + +lemma emeasure_restrict_space: + assumes "\ \ sets M" "A \ \" + shows "emeasure (restrict_space M \) A = emeasure M A" +proof cases + assume "A \ sets M" + + have "emeasure (restrict_space M \) A = emeasure M (A \ \)" + proof (rule emeasure_measure_of[OF restrict_space_def]) + show "op \ \ ` sets M \ Pow \" "A \ sets (restrict_space M \)" + using assms `A \ sets M` by (auto simp: sets_restrict_space sets.sets_into_space) + show "positive (sets (restrict_space M \)) (\A. emeasure M (A \ \))" + by (auto simp: positive_def emeasure_nonneg) + show "countably_additive (sets (restrict_space M \)) (\A. emeasure M (A \ \))" + proof (rule countably_additiveI) + fix A :: "nat \ _" assume "range A \ sets (restrict_space M \)" "disjoint_family A" + with assms have "\i. A i \ sets M" "\i. A i \ space M" "disjoint_family A" + by (auto simp: sets_restrict_space_iff subset_eq dest: sets.sets_into_space) + with `\ \ sets M` show "(\i. emeasure M (A i \ \)) = emeasure M ((\i. A i) \ \)" + by (subst suminf_emeasure) (auto simp: disjoint_family_subset) + qed + qed + with `A \ \` show ?thesis + by (simp add: Int_absorb2) +next + assume "A \ sets M" + moreover with assms have "A \ sets (restrict_space M \)" + by (simp add: sets_restrict_space_iff) + ultimately show ?thesis + by (simp add: emeasure_notin_sets) +qed + +lemma restrict_count_space: + assumes "A \ B" shows "restrict_space (count_space B) A = count_space A" +proof (rule measure_eqI) + show "sets (restrict_space (count_space B) A) = sets (count_space A)" + using `A \ B` by (subst sets_restrict_space) auto + moreover fix X assume "X \ sets (restrict_space (count_space B) A)" + moreover note `A \ B` + ultimately have "X \ A" by auto + with `A \ B` show "emeasure (restrict_space (count_space B) A) X = emeasure (count_space A) X" + by (cases "finite X") (auto simp add: emeasure_restrict_space) +qed + end