# HG changeset patch # User hoelzl # Date 1295606366 -3600 # Node ID 7795aaab603875be8f097d4bfbd34c6627d8961a # Parent a5d1b2df5e9760bee5e0975f0f3b8b70f302154c use AE_mp in AE_conjI proof diff -r a5d1b2df5e97 -r 7795aaab6038 src/HOL/Probability/Measure.thy --- a/src/HOL/Probability/Measure.thy Wed Jan 19 17:44:53 2011 +0100 +++ b/src/HOL/Probability/Measure.thy Fri Jan 21 11:39:26 2011 +0100 @@ -803,23 +803,17 @@ lemma (in measure_space) AE_conjI: assumes AE_P: "AE x. P x" and AE_Q: "AE x. Q x" shows "AE x. P x \ Q x" -proof - - from AE_P obtain A where P: "{x\space M. \ P x} \ A" - and A: "A \ sets M" "\ A = 0" - by (auto elim!: AE_E) - - from AE_Q obtain B where Q: "{x\space M. \ Q x} \ B" - and B: "B \ sets M" "\ B = 0" - by (auto elim!: AE_E) + apply (rule AE_mp[OF AE_P]) + apply (rule AE_mp[OF AE_Q]) + by simp - show ?thesis - proof (intro AE_I) - show "A \ B \ sets M" "\ (A \ B) = 0" using A B - using measure_subadditive[of A B] by auto - show "{x\space M. \ (P x \ Q x)} \ A \ B" - using P Q by auto - qed -qed +lemma (in measure_space) AE_conj_iff[simp]: + shows "(AE x. P x \ Q x) \ (AE x. P x) \ (AE x. Q x)" +proof (intro conjI iffI AE_conjI) + assume *: "AE x. P x \ Q x" + from * show "AE x. P x" by (rule AE_mp) auto + from * show "AE x. Q x" by (rule AE_mp) auto +qed auto lemma (in measure_space) AE_E2: assumes "AE x. P x" "{x\space M. P x} \ sets M" @@ -845,14 +839,6 @@ by (rule AE_mp[OF AE_space]) auto qed -lemma (in measure_space) AE_conj_iff[simp]: - shows "(AE x. P x \ Q x) \ (AE x. P x) \ (AE x. Q x)" -proof (intro conjI iffI AE_conjI) - assume *: "AE x. P x \ Q x" - from * show "AE x. P x" by (rule AE_mp) auto - from * show "AE x. Q x" by (rule AE_mp) auto -qed auto - lemma (in measure_space) all_AE_countable: "(\i::'i::countable. AE x. P i x) \ (AE x. \i. P i x)" proof