src/HOL/Probability/Sigma_Algebra.thy
changeset 63333 158ab2239496
parent 63167 0909deb8059b
equal deleted inserted replaced
63332:f164526d8727 63333:158ab2239496
  2000     and "I i j"
  2000     and "I i j"
  2001   shows "emeasure M (G i j) = \<mu> i j"
  2001   shows "emeasure M (G i j) = \<mu> i j"
  2002   using emeasure_extend_measure[OF M _ _ ms(2,3), of "(i,j)"] eq ms(1) \<open>I i j\<close>
  2002   using emeasure_extend_measure[OF M _ _ ms(2,3), of "(i,j)"] eq ms(1) \<open>I i j\<close>
  2003   by (auto simp: subset_eq)
  2003   by (auto simp: subset_eq)
  2004 
  2004 
  2005 subsubsection \<open>Supremum of a set of $\sigma$-algebras\<close>
       
  2006 
       
  2007 definition "Sup_sigma M = sigma (\<Union>x\<in>M. space x) (\<Union>x\<in>M. sets x)"
       
  2008 
       
  2009 syntax
       
  2010   "_SUP_sigma"   :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Squnion>\<^sub>\<sigma> _\<in>_./ _)" [0, 0, 10] 10)
       
  2011 
       
  2012 translations
       
  2013   "\<Squnion>\<^sub>\<sigma> x\<in>A. B"   == "CONST Sup_sigma ((\<lambda>x. B) ` A)"
       
  2014 
       
  2015 lemma space_Sup_sigma: "space (Sup_sigma M) = (\<Union>x\<in>M. space x)"
       
  2016   unfolding Sup_sigma_def by (rule space_measure_of) (auto dest: sets.sets_into_space)
       
  2017 
       
  2018 lemma sets_Sup_sigma: "sets (Sup_sigma M) = sigma_sets (\<Union>x\<in>M. space x) (\<Union>x\<in>M. sets x)"
       
  2019   unfolding Sup_sigma_def by (rule sets_measure_of) (auto dest: sets.sets_into_space)
       
  2020 
       
  2021 lemma in_Sup_sigma: "m \<in> M \<Longrightarrow> A \<in> sets m \<Longrightarrow> A \<in> sets (Sup_sigma M)"
       
  2022   unfolding sets_Sup_sigma by auto
       
  2023 
       
  2024 lemma SUP_sigma_cong:
       
  2025   assumes *: "\<And>i. i \<in> I \<Longrightarrow> sets (M i) = sets (N i)" shows "sets (\<Squnion>\<^sub>\<sigma> i\<in>I. M i) = sets (\<Squnion>\<^sub>\<sigma> i\<in>I. N i)"
       
  2026   using * sets_eq_imp_space_eq[OF *] by (simp add: Sup_sigma_def)
       
  2027 
       
  2028 lemma sets_Sup_in_sets:
       
  2029   assumes "M \<noteq> {}"
       
  2030   assumes "\<And>m. m \<in> M \<Longrightarrow> space m = space N"
       
  2031   assumes "\<And>m. m \<in> M \<Longrightarrow> sets m \<subseteq> sets N"
       
  2032   shows "sets (Sup_sigma M) \<subseteq> sets N"
       
  2033 proof -
       
  2034   have *: "UNION M space = space N"
       
  2035     using assms by auto
       
  2036   show ?thesis
       
  2037     unfolding sets_Sup_sigma * using assms by (auto intro!: sets.sigma_sets_subset)
       
  2038 qed
       
  2039 
       
  2040 lemma measurable_Sup_sigma1:
       
  2041   assumes m: "m \<in> M" and f: "f \<in> measurable m N"
       
  2042     and const_space: "\<And>m n. m \<in> M \<Longrightarrow> n \<in> M \<Longrightarrow> space m = space n"
       
  2043   shows "f \<in> measurable (Sup_sigma M) N"
       
  2044 proof -
       
  2045   have "space (Sup_sigma M) = space m"
       
  2046     using m by (auto simp add: space_Sup_sigma dest: const_space)
       
  2047   then show ?thesis
       
  2048     using m f unfolding measurable_def by (auto intro: in_Sup_sigma)
       
  2049 qed
       
  2050 
       
  2051 lemma measurable_Sup_sigma2:
       
  2052   assumes M: "M \<noteq> {}"
       
  2053   assumes f: "\<And>m. m \<in> M \<Longrightarrow> f \<in> measurable N m"
       
  2054   shows "f \<in> measurable N (Sup_sigma M)"
       
  2055   unfolding Sup_sigma_def
       
  2056 proof (rule measurable_measure_of)
       
  2057   show "f \<in> space N \<rightarrow> UNION M space"
       
  2058     using measurable_space[OF f] M by auto
       
  2059 qed (auto intro: measurable_sets f dest: sets.sets_into_space)
       
  2060 
       
  2061 lemma Sup_sigma_sigma:
       
  2062   assumes [simp]: "M \<noteq> {}" and M: "\<And>m. m \<in> M \<Longrightarrow> m \<subseteq> Pow \<Omega>"
       
  2063   shows "(\<Squnion>\<^sub>\<sigma> m\<in>M. sigma \<Omega> m) = sigma \<Omega> (\<Union>M)"
       
  2064 proof (rule measure_eqI)
       
  2065   { fix a m assume "a \<in> sigma_sets \<Omega> m" "m \<in> M"
       
  2066     then have "a \<in> sigma_sets \<Omega> (\<Union>M)"
       
  2067      by induction (auto intro: sigma_sets.intros) }
       
  2068   then show "sets (\<Squnion>\<^sub>\<sigma> m\<in>M. sigma \<Omega> m) = sets (sigma \<Omega> (\<Union>M))"
       
  2069     apply (simp add: sets_Sup_sigma space_measure_of_conv M Union_least)
       
  2070     apply (rule sigma_sets_eqI)
       
  2071     apply auto
       
  2072     done
       
  2073 qed (simp add: Sup_sigma_def emeasure_sigma)
       
  2074 
       
  2075 lemma SUP_sigma_sigma:
       
  2076   assumes M: "M \<noteq> {}" "\<And>m. m \<in> M \<Longrightarrow> f m \<subseteq> Pow \<Omega>"
       
  2077   shows "(\<Squnion>\<^sub>\<sigma> m\<in>M. sigma \<Omega> (f m)) = sigma \<Omega> (\<Union>m\<in>M. f m)"
       
  2078 proof -
       
  2079   have "Sup_sigma (sigma \<Omega> ` f ` M) = sigma \<Omega> (\<Union>(f ` M))"
       
  2080     using M by (intro Sup_sigma_sigma) auto
       
  2081   then show ?thesis
       
  2082     by (simp add: image_image)
       
  2083 qed
       
  2084 
       
  2085 subsection \<open>The smallest $\sigma$-algebra regarding a function\<close>
  2005 subsection \<open>The smallest $\sigma$-algebra regarding a function\<close>
  2086 
  2006 
  2087 definition
  2007 definition
  2088   "vimage_algebra X f M = sigma X {f -` A \<inter> X | A. A \<in> sets M}"
  2008   "vimage_algebra X f M = sigma X {f -` A \<inter> X | A. A \<in> sets M}"
  2089 
  2009 
  2154   have "(\<lambda>x. g (f x)) \<in> X \<rightarrow> space M" "\<And>A. A \<inter> f -` Y \<inter> X = A \<inter> X"
  2074   have "(\<lambda>x. g (f x)) \<in> X \<rightarrow> space M" "\<And>A. A \<inter> f -` Y \<inter> X = A \<inter> X"
  2155     using * by auto
  2075     using * by auto
  2156   with * show "sets ?VV = sets ?V"
  2076   with * show "sets ?VV = sets ?V"
  2157     by (simp add: sets_vimage_algebra2 ex_simps[symmetric] vimage_comp comp_def del: ex_simps)
  2077     by (simp add: sets_vimage_algebra2 ex_simps[symmetric] vimage_comp comp_def del: ex_simps)
  2158 qed (simp add: vimage_algebra_def emeasure_sigma)
  2078 qed (simp add: vimage_algebra_def emeasure_sigma)
  2159 
       
  2160 lemma sets_vimage_Sup_eq:
       
  2161   assumes *: "M \<noteq> {}" "\<And>m. m \<in> M \<Longrightarrow> f \<in> X \<rightarrow> space m"
       
  2162   shows "sets (vimage_algebra X f (Sup_sigma M)) = sets (\<Squnion>\<^sub>\<sigma> m \<in> M. vimage_algebra X f m)"
       
  2163   (is "?IS = ?SI")
       
  2164 proof
       
  2165   show "?IS \<subseteq> ?SI"
       
  2166     by (intro sets_image_in_sets measurable_Sup_sigma2 measurable_Sup_sigma1)
       
  2167        (auto simp: space_Sup_sigma measurable_vimage_algebra1 *)
       
  2168   { fix m assume "m \<in> M"
       
  2169     moreover then have "f \<in> X \<rightarrow> space (Sup_sigma M)" "f \<in> X \<rightarrow> space m"
       
  2170       using * by (auto simp: space_Sup_sigma)
       
  2171     ultimately have "f \<in> measurable (vimage_algebra X f (Sup_sigma M)) m"
       
  2172       by (auto simp add: measurable_def sets_vimage_algebra2 intro: in_Sup_sigma) }
       
  2173   then show "?SI \<subseteq> ?IS"
       
  2174     by (auto intro!: sets_image_in_sets sets_Sup_in_sets del: subsetI simp: *)
       
  2175 qed
       
  2176 
       
  2177 lemma vimage_algebra_Sup_sigma:
       
  2178   assumes [simp]: "MM \<noteq> {}" and "\<And>M. M \<in> MM \<Longrightarrow> f \<in> X \<rightarrow> space M"
       
  2179   shows "vimage_algebra X f (Sup_sigma MM) = Sup_sigma (vimage_algebra X f ` MM)"
       
  2180 proof (rule measure_eqI)
       
  2181   show "sets (vimage_algebra X f (Sup_sigma MM)) = sets (Sup_sigma (vimage_algebra X f ` MM))"
       
  2182     using assms by (rule sets_vimage_Sup_eq)
       
  2183 qed (simp add: vimage_algebra_def Sup_sigma_def emeasure_sigma)
       
  2184 
  2079 
  2185 subsubsection \<open>Restricted Space Sigma Algebra\<close>
  2080 subsubsection \<open>Restricted Space Sigma Algebra\<close>
  2186 
  2081 
  2187 definition restrict_space where
  2082 definition restrict_space where
  2188   "restrict_space M \<Omega> = measure_of (\<Omega> \<inter> space M) ((op \<inter> \<Omega>) ` sets M) (emeasure M)"
  2083   "restrict_space M \<Omega> = measure_of (\<Omega> \<inter> space M) ((op \<inter> \<Omega>) ` sets M) (emeasure M)"