# HG changeset patch # User hoelzl # Date 1282914307 -7200 # Node ID a2d38b8b693e8b194bccbf2156a8bb93bcaf6f06 # Parent df379a447753929edc688b279015e6e104dfc0c5 Introduced sigma algebra generated by function preimages. diff -r df379a447753 -r a2d38b8b693e src/HOL/Probability/Probability_Space.thy --- a/src/HOL/Probability/Probability_Space.thy Fri Aug 27 14:06:12 2010 +0200 +++ b/src/HOL/Probability/Probability_Space.thy Fri Aug 27 15:05:07 2010 +0200 @@ -562,4 +562,5 @@ unfolding conditional_expectation_def by (rule someI2_ex) blast qed + end diff -r df379a447753 -r a2d38b8b693e src/HOL/Probability/Sigma_Algebra.thy --- a/src/HOL/Probability/Sigma_Algebra.thy Fri Aug 27 14:06:12 2010 +0200 +++ b/src/HOL/Probability/Sigma_Algebra.thy Fri Aug 27 15:05:07 2010 +0200 @@ -626,6 +626,51 @@ thus "(\i::nat. A i) \ sets M" by (simp add: UN_disjointed_eq) qed +subsection {* Sigma algebra generated by function preimages *} + +definition (in sigma_algebra) + "vimage_algebra S f = \ space = S, sets = (\A. f -` A \ S) ` sets M \" + +lemma (in sigma_algebra) in_vimage_algebra[simp]: + "A \ sets (vimage_algebra S f) \ (\B\sets M. A = f -` B \ S)" + by (simp add: vimage_algebra_def image_iff) + +lemma (in sigma_algebra) space_vimage_algebra[simp]: + "space (vimage_algebra S f) = S" + by (simp add: vimage_algebra_def) + +lemma (in sigma_algebra) sigma_algebra_vimage: + fixes S :: "'c set" assumes "f \ S \ space M" + shows "sigma_algebra (vimage_algebra S f)" +proof + fix A assume "A \ sets (vimage_algebra S f)" + then guess B unfolding in_vimage_algebra .. + then show "space (vimage_algebra S f) - A \ sets (vimage_algebra S f)" + using sets_into_space assms + by (auto intro!: bexI[of _ "space M - B"]) +next + fix A assume "A \ sets (vimage_algebra S f)" + then guess A' unfolding in_vimage_algebra .. note A' = this + fix B assume "B \ sets (vimage_algebra S f)" + then guess B' unfolding in_vimage_algebra .. note B' = this + then show "A \ B \ sets (vimage_algebra S f)" + using sets_into_space assms A' B' + by (auto intro!: bexI[of _ "A' \ B'"]) +next + fix A::"nat \ 'c set" assume "range A \ sets (vimage_algebra S f)" + then have "\i. \B. A i = f -` B \ S \ B \ sets M" + by (simp add: subset_eq) blast + from this[THEN choice] obtain B + where B: "\i. A i = f -` B i \ S" "range B \ sets M" by auto + show "(\i. A i) \ sets (vimage_algebra S f)" + using B by (auto intro!: bexI[of _ "\i. B i"]) +qed auto + +lemma (in sigma_algebra) measurable_vimage_algebra: + fixes S :: "'c set" assumes "f \ S \ space M" + shows "f \ measurable (vimage_algebra S f) M" + unfolding measurable_def using assms by force + subsection {* A Two-Element Series *} definition binaryset :: "'a set \ 'a set \ nat \ 'a set "