src/HOL/Probability/Measure_Space.thy
changeset 60063 81835db730e8
parent 59593 304ee0a475d1
child 60141 833adf7db7d8
equal deleted inserted replaced
60062:4c5de5a860ee 60063:81835db730e8
  1648 proof (rule finite_measureI)
  1648 proof (rule finite_measureI)
  1649   have "f -` space M' \<inter> space M = space M" using f by (auto dest: measurable_space)
  1649   have "f -` space M' \<inter> space M = space M" using f by (auto dest: measurable_space)
  1650   with f show "emeasure (distr M M' f) (space (distr M M' f)) \<noteq> \<infinity>" by (auto simp: emeasure_distr)
  1650   with f show "emeasure (distr M M' f) (space (distr M M' f)) \<noteq> \<infinity>" by (auto simp: emeasure_distr)
  1651 qed
  1651 qed
  1652 
  1652 
  1653 
       
  1654 subsection {* Counting space *}
  1653 subsection {* Counting space *}
  1655 
  1654 
  1656 lemma strict_monoI_Suc:
  1655 lemma strict_monoI_Suc:
  1657   assumes ord [simp]: "(\<And>n. f n < f (Suc n))" shows "strict_mono f"
  1656   assumes ord [simp]: "(\<And>n. f n < f (Suc n))" shows "strict_mono f"
  1658   unfolding strict_mono_def
  1657   unfolding strict_mono_def
  1878     by (subst sets_restrict_space) auto
  1877     by (subst sets_restrict_space) auto
  1879   moreover fix X assume "X \<in> sets (restrict_space (count_space B) A)"
  1878   moreover fix X assume "X \<in> sets (restrict_space (count_space B) A)"
  1880   ultimately have "X \<subseteq> A \<inter> B" by auto
  1879   ultimately have "X \<subseteq> A \<inter> B" by auto
  1881   then show "emeasure (restrict_space (count_space B) A) X = emeasure (count_space (A \<inter> B)) X"
  1880   then show "emeasure (restrict_space (count_space B) A) X = emeasure (count_space (A \<inter> B)) X"
  1882     by (cases "finite X") (auto simp add: emeasure_restrict_space)
  1881     by (cases "finite X") (auto simp add: emeasure_restrict_space)
       
  1882 qed
       
  1883 
       
  1884 lemma sigma_finite_measure_restrict_space:
       
  1885   assumes "sigma_finite_measure M"
       
  1886   and A: "A \<in> sets M"
       
  1887   shows "sigma_finite_measure (restrict_space M A)"
       
  1888 proof -
       
  1889   interpret sigma_finite_measure M by fact
       
  1890   from sigma_finite_countable obtain C
       
  1891     where C: "countable C" "C \<subseteq> sets M" "(\<Union>C) = space M" "\<forall>a\<in>C. emeasure M a \<noteq> \<infinity>"
       
  1892     by blast
       
  1893   let ?C = "op \<inter> A ` C"
       
  1894   from C have "countable ?C" "?C \<subseteq> sets (restrict_space M A)" "(\<Union>?C) = space (restrict_space M A)"
       
  1895     by(auto simp add: sets_restrict_space space_restrict_space)
       
  1896   moreover {
       
  1897     fix a
       
  1898     assume "a \<in> ?C"
       
  1899     then obtain a' where "a = A \<inter> a'" "a' \<in> C" ..
       
  1900     then have "emeasure (restrict_space M A) a \<le> emeasure M a'"
       
  1901       using A C by(auto simp add: emeasure_restrict_space intro: emeasure_mono)
       
  1902     also have "\<dots> < \<infinity>" using C(4)[rule_format, of a'] \<open>a' \<in> C\<close> by simp
       
  1903     finally have "emeasure (restrict_space M A) a \<noteq> \<infinity>" by simp }
       
  1904   ultimately show ?thesis
       
  1905     by unfold_locales (rule exI conjI|assumption|blast)+
       
  1906 qed
       
  1907 
       
  1908 lemma finite_measure_restrict_space:
       
  1909   assumes "finite_measure M"
       
  1910   and A: "A \<in> sets M"
       
  1911   shows "finite_measure (restrict_space M A)"
       
  1912 proof -
       
  1913   interpret finite_measure M by fact
       
  1914   show ?thesis
       
  1915     by(rule finite_measureI)(simp add: emeasure_restrict_space A space_restrict_space)
  1883 qed
  1916 qed
  1884 
  1917 
  1885 lemma restrict_distr: 
  1918 lemma restrict_distr: 
  1886   assumes [measurable]: "f \<in> measurable M N"
  1919   assumes [measurable]: "f \<in> measurable M N"
  1887   assumes [simp]: "\<Omega> \<inter> space N \<in> sets N" and restrict: "f \<in> space M \<rightarrow> \<Omega>"
  1920   assumes [simp]: "\<Omega> \<inter> space N \<in> sets N" and restrict: "f \<in> space M \<rightarrow> \<Omega>"