# HG changeset patch # User hoelzl # Date 1305635814 -7200 # Node ID b0746bd57a41a994371353df03c8f426d365a21b # Parent 36353d913424e4da066d666ed149d7e5730c76a3 the measurable sets with null measure form a ring diff -r 36353d913424 -r b0746bd57a41 src/HOL/Probability/Complete_Measure.thy --- a/src/HOL/Probability/Complete_Measure.thy Tue May 17 12:24:48 2011 +0200 +++ b/src/HOL/Probability/Complete_Measure.thy Tue May 17 14:36:54 2011 +0200 @@ -144,7 +144,7 @@ have "(\i. S i) \ sets completion" using S by auto from null_part[OF this] guess N' .. note N' = this let ?N = "(\i. N i) \ N'" - have null_set: "?N \ null_sets" using N' UN_N by (intro null_sets_Un) auto + have null_set: "?N \ null_sets" using N' UN_N by (intro nullsets.Un) auto have "main_part (\i. S i) \ ?N = (main_part (\i. S i) \ null_part (\i. S i)) \ ?N" using N' by auto also have "\ = (\i. main_part (S i) \ null_part (S i)) \ ?N" @@ -212,7 +212,7 @@ from choice[OF this] obtain N where N: "\x. null_part (?F x) \ N x" "\x. N x \ null_sets" by auto let ?N = "\x\f`space M. N x" let "?f' x" = "if x \ ?N then undefined else f x" - have sets: "?N \ null_sets" using N fin by (intro null_sets_finite_UN) auto + have sets: "?N \ null_sets" using N fin by (intro nullsets.finite_UN) auto show ?thesis unfolding simple_function_def proof (safe intro!: exI[of _ ?f']) have "?f' ` space M \ f`space M \ {undefined}" by auto diff -r 36353d913424 -r b0746bd57a41 src/HOL/Probability/Infinite_Product_Measure.thy --- a/src/HOL/Probability/Infinite_Product_Measure.thy Tue May 17 12:24:48 2011 +0200 +++ b/src/HOL/Probability/Infinite_Product_Measure.thy Tue May 17 14:36:54 2011 +0200 @@ -917,8 +917,9 @@ with i show "A \ sigma_sets ?O ?G" by (intro sigma_sets.Basic UN_I[where a="{i}"]) auto qed - finally show "sets (Pi\<^isub>P I M) = sets ?S" + also have "\ = sets ?S" by (simp add: sets_sigma) + finally show "sets (Pi\<^isub>P I M) = sets ?S" . qed simp_all lemma (in product_prob_space) measurable_into_infprod_algebra: diff -r 36353d913424 -r b0746bd57a41 src/HOL/Probability/Measure.thy --- a/src/HOL/Probability/Measure.thy Tue May 17 12:24:48 2011 +0200 +++ b/src/HOL/Probability/Measure.thy Tue May 17 14:36:54 2011 +0200 @@ -552,16 +552,20 @@ abbreviation (in measure_space) "null_sets \ {N\sets M. \ N = 0}" -lemma (in measure_space) null_sets_Un[intro]: - assumes "N \ null_sets" "N' \ null_sets" - shows "N \ N' \ null_sets" -proof (intro conjI CollectI) - show "N \ N' \ sets M" using assms by auto - then have "0 \ \ (N \ N')" by simp - moreover have "\ (N \ N') \ \ N + \ N'" - using assms by (intro measure_subadditive) auto - ultimately show "\ (N \ N') = 0" using assms by auto -qed +sublocale measure_space \ nullsets!: ring_of_sets "\ space = space M, sets = null_sets \" + where "space \ space = space M, sets = null_sets \ = space M" + and "sets \ space = space M, sets = null_sets \ = null_sets" +proof - + { fix A B assume sets: "A \ sets M" "B \ sets M" + moreover then have "\ (A \ B) \ \ A + \ B" "\ (A - B) \ \ A" + by (auto intro!: measure_subadditive measure_mono) + moreover assume "\ B = 0" "\ A = 0" + ultimately have "\ (A - B) = 0" "\ (A \ B) = 0" + by (auto intro!: antisym) } + note null = this + show "ring_of_sets \ space = space M, sets = null_sets \" + by default (insert sets_into_space null, auto) +qed simp_all lemma UN_from_nat: "(\i. N i) = (\i. N (Countable.from_nat i))" proof - @@ -583,17 +587,6 @@ ultimately show "\ (\i. N i) = 0" using assms by auto qed -lemma (in measure_space) null_sets_finite_UN: - assumes "finite S" "\i. i \ S \ A i \ null_sets" - shows "(\i\S. A i) \ null_sets" -proof (intro CollectI conjI) - show "(\i\S. A i) \ sets M" using assms by (intro finite_UN) auto - then have "0 \ \ (\i\S. A i)" by simp - moreover have "\ (\i\S. A i) \ (\i\S. \ (A i))" - using assms by (intro measure_finitely_subadditive) auto - ultimately show "\ (\i\S. A i) = 0" using assms by auto -qed - lemma (in measure_space) null_set_Int1: assumes "B \ null_sets" "A \ sets M" shows "A \ B \ null_sets" using assms proof (intro CollectI conjI) diff -r 36353d913424 -r b0746bd57a41 src/HOL/Probability/Radon_Nikodym.thy --- a/src/HOL/Probability/Radon_Nikodym.thy Tue May 17 12:24:48 2011 +0200 +++ b/src/HOL/Probability/Radon_Nikodym.thy Tue May 17 14:36:54 2011 +0200 @@ -975,7 +975,7 @@ finally have "Q0 \ {x\space M. f x \ \} \ null_sets" by simp } from this[OF borel(1) refl] this[OF borel(2) f] have "Q0 \ {x\space M. f x \ \} \ null_sets" "Q0 \ {x\space M. f' x \ \} \ null_sets" by simp_all - then show "(Q0 \ {x\space M. f x \ \}) \ (Q0 \ {x\space M. f' x \ \}) \ null_sets" by (rule null_sets_Un) + then show "(Q0 \ {x\space M. f x \ \}) \ (Q0 \ {x\space M. f' x \ \}) \ null_sets" by (rule nullsets.Un) show "{x \ space M. ?f Q0 x \ ?f' Q0 x} \ (Q0 \ {x\space M. f x \ \}) \ (Q0 \ {x\space M. f' x \ \})" by (auto simp: indicator_def) qed