diff -r 9e71155e3666 -r 0135a0c77b64 src/HOL/Analysis/Sigma_Algebra.thy --- a/src/HOL/Analysis/Sigma_Algebra.thy Fri Sep 24 13:40:14 2021 +0200 +++ b/src/HOL/Analysis/Sigma_Algebra.thy Fri Sep 24 22:23:26 2021 +0200 @@ -669,7 +669,8 @@ case (Union a) then have "\i. \x. x \ sigma_sets sp st \ a i = A \ x" by (auto simp: image_iff Bex_def) - from choice[OF this] guess f .. + then obtain f where "\x. f x \ sigma_sets sp st \ a x = A \ f x" + by metis then show ?case by (auto intro!: bexI[of _ "(\x. f x)"] sigma_sets.Union simp add: image_iff) @@ -771,8 +772,9 @@ next case (Union F) then have "\i. \B. F i = X -` B \ \ \ B \ sigma_sets \' M'" by auto - from choice[OF this] guess A .. note A = this - with A show ?case + then obtain A where "\x. F x = X -` A x \ \ \ A x \ sigma_sets \' M'" + by metis + then show ?case by (auto simp: vimage_UN[symmetric] intro: sigma_sets.Union) qed qed @@ -843,13 +845,15 @@ and "a \ b = {}" shows "a \ b \ generated_ring" proof - - from a guess Ca .. note Ca = this - from b guess Cb .. note Cb = this + from a b obtain Ca Cb + where Ca: "finite Ca" "disjoint Ca" "Ca \ M" "a = \ Ca" + and Cb: "finite Cb" "disjoint Cb" "Cb \ M" "b = \ Cb" + using generated_ringE by metis show ?thesis proof - show "disjoint (Ca \ Cb)" - using \a \ b = {}\ Ca Cb by (auto intro!: disjoint_union) - qed (insert Ca Cb, auto) + from \a \ b = {}\ Ca Cb show "disjoint (Ca \ Cb)" + by (auto intro!: disjoint_union) + qed (use Ca Cb in auto) qed lemma (in semiring_of_sets) generated_ring_empty: "{} \ generated_ring" @@ -867,8 +871,10 @@ assumes a: "a \ generated_ring" and b: "b \ generated_ring" shows "a \ b \ generated_ring" proof - - from a guess Ca .. note Ca = this - from b guess Cb .. note Cb = this + from a b obtain Ca Cb + where Ca: "finite Ca" "disjoint Ca" "Ca \ M" "a = \ Ca" + and Cb: "finite Cb" "disjoint Cb" "Cb \ M" "b = \ Cb" + using generated_ringE by metis define C where "C = (\(a,b). a \ b)` (Ca\Cb)" show ?thesis proof @@ -890,7 +896,7 @@ then show ?thesis by auto qed qed - qed (insert Ca Cb, auto simp: C_def) + qed (use Ca Cb in \auto simp: C_def\) qed lemma (in semiring_of_sets) generated_ring_Inter: @@ -909,9 +915,12 @@ using sets_into_space by (auto simp: generated_ring_def generated_ring_empty) show "{} \ ?R" by (rule generated_ring_empty) - { fix a assume a: "a \ ?R" then guess Ca .. note Ca = this - fix b assume b: "b \ ?R" then guess Cb .. note Cb = this - + { + fix a b assume "a \ ?R" "b \ ?R" + then obtain Ca Cb + where Ca: "finite Ca" "disjoint Ca" "Ca \ M" "a = \ Ca" + and Cb: "finite Cb" "disjoint Cb" "Cb \ M" "b = \ Cb" + using generated_ringE by metis show "a - b \ ?R" proof cases assume "Cb = {}" with Cb \a \ ?R\ show ?thesis @@ -932,7 +941,8 @@ show "finite Ca" "finite Cb" "Cb \ {}" by fact+ qed finally show "a - b \ ?R" . - qed } + qed + } note Diff = this fix a b assume sets: "a \ ?R" "b \ ?R"