# HG changeset patch # User wenzelm # Date 1484648781 -3600 # Node ID 6108dddad9f0f2710dc545013e06165940c3c55e # Parent 8007f10195af4affa947b33d7c194ee447753af4 more symbols via abbrevs; diff -r 8007f10195af -r 6108dddad9f0 src/HOL/Analysis/Finite_Product_Measure.thy --- a/src/HOL/Analysis/Finite_Product_Measure.thy Mon Jan 16 21:53:44 2017 +0100 +++ b/src/HOL/Analysis/Finite_Product_Measure.thy Tue Jan 17 11:26:21 2017 +0100 @@ -8,7 +8,7 @@ imports Binary_Product_Measure begin -lemma PiE_choice: "(\f\PiE I F. \i\I. P i (f i)) \ (\i\I. \x\F i. P i x)" +lemma PiE_choice: "(\f\Pi\<^sub>E I F. \i\I. P i (f i)) \ (\i\I. \x\F i. P i x)" by (auto simp: Bex_def PiE_iff Ball_def dest!: choice_iff'[THEN iffD1]) (force intro: exI[of _ "restrict f I" for f]) @@ -61,7 +61,7 @@ lemma PiE_cancel_merge[simp]: "I \ J = {} \ - merge I J (x, y) \ PiE (I \ J) B \ x \ Pi I B \ y \ Pi J B" + merge I J (x, y) \ Pi\<^sub>E (I \ J) B \ x \ Pi I B \ y \ Pi J B" by (auto simp: PiE_def restrict_Pi_cancel) lemma merge_singleton[simp]: "i \ I \ merge I {i} (x,y) = restrict (x(i := y i)) (insert i I)" @@ -114,7 +114,7 @@ subsubsection \Products\ definition prod_emb where - "prod_emb I M K X = (\x. restrict x K) -` X \ (PIE i:I. space (M i))" + "prod_emb I M K X = (\x. restrict x K) -` X \ (\\<^sub>E i\I. space (M i))" lemma prod_emb_iff: "f \ prod_emb I M K X \ f \ extensional I \ (restrict f K \ X) \ (\i\I. f i \ space (M i))" @@ -216,7 +216,7 @@ proof (intro iffI set_eqI) fix A assume "A \ ?L" then obtain J E where J: "J \ {} \ I = {}" "finite J" "J \ I" "\i\J. E i \ sets (M i)" - and A: "A = prod_emb I M J (PIE j:J. E j)" + and A: "A = prod_emb I M J (\\<^sub>E j\J. E j)" by (auto simp: prod_algebra_def) let ?A = "\\<^sub>E i\I. if i \ J then E i else space (M i)" have A: "A = ?A" @@ -234,7 +234,7 @@ lemma prod_algebraI: "finite J \ (J \ {} \ I = {}) \ J \ I \ (\i. i \ J \ E i \ sets (M i)) - \ prod_emb I M J (PIE j:J. E j) \ prod_algebra I M" + \ prod_emb I M J (\\<^sub>E j\J. E j) \ prod_algebra I M" by (auto simp: prod_algebra_def) lemma prod_algebraI_finite: @@ -250,7 +250,7 @@ lemma prod_algebraE: assumes A: "A \ prod_algebra I M" - obtains J E where "A = prod_emb I M J (PIE j:J. E j)" + obtains J E where "A = prod_emb I M J (\\<^sub>E j\J. E j)" "finite J" "J \ {} \ I = {}" "J \ I" "\i. i \ J \ E i \ sets (M i)" using A by (auto simp: prod_algebra_def) @@ -459,9 +459,9 @@ by (auto simp: PiE_def Pi_def) then obtain s where s: "\i. i \ j \ s i \ S i" "\i. i \ j \ x i \ s i" by metis - with \x i \ A\ have "\n\PiE (j-{i}) S. \i\j. x i \ A' n i" + with \x i \ A\ have "\n\Pi\<^sub>E (j-{i}) S. \i\j. x i \ A' n i" by (intro bexI[of _ "restrict (s(i := A)) (j-{i})"]) (auto simp: A'_def split: if_splits) } - then have "Z = (\n\PiE (j-{i}) S. {f\(\\<^sub>E i\I. \ i). \i\j. f i \ A' n i})" + then have "Z = (\n\Pi\<^sub>E (j-{i}) S. {f\(\\<^sub>E i\I. \ i). \i\j. f i \ A' n i})" unfolding Z_def by (auto simp add: set_eq_iff ball_conj_distrib \i\j\ A'_i dest: bspec[OF _ \i\j\] cong: conj_cong) @@ -509,10 +509,10 @@ lemma sets_PiM_I: assumes "finite J" "J \ I" "\i\J. E i \ sets (M i)" - shows "prod_emb I M J (PIE j:J. E j) \ sets (\\<^sub>M i\I. M i)" + shows "prod_emb I M J (\\<^sub>E j\J. E j) \ sets (\\<^sub>M i\I. M i)" proof cases assume "J = {}" - then have "prod_emb I M J (PIE j:J. E j) = (PIE j:I. space (M j))" + then have "prod_emb I M J (\\<^sub>E j\J. E j) = (\\<^sub>E j\I. space (M j))" by (auto simp: prod_emb_def) then show ?thesis by (auto simp add: sets_PiM intro!: sigma_sets_top) @@ -576,7 +576,7 @@ lemma sets_PiM_I_finite[measurable]: assumes "finite I" and sets: "(\i. i \ I \ E i \ sets (M i))" - shows "(PIE j:I. E j) \ sets (\\<^sub>M i\I. M i)" + shows "(\\<^sub>E j\I. E j) \ sets (\\<^sub>M i\I. M i)" using sets_PiM_I[of I I E M] sets.sets_into_space[OF sets] \finite I\ sets by auto lemma measurable_component_singleton[measurable (raw)]: @@ -741,7 +741,7 @@ assumes I: "countable I" and E: "\i. i \ I \ E i \ sets (M i)" shows "Pi\<^sub>E I E \ sets (Pi\<^sub>M I M)" proof cases assume "I \ {}" - then have "PiE I E = (\i\I. prod_emb I M {i} (PiE {i} E))" + then have "Pi\<^sub>E I E = (\i\I. prod_emb I M {i} (Pi\<^sub>E {i} E))" using E[THEN sets.sets_into_space] by (auto simp: PiE_iff prod_emb_def fun_eq_iff) also have "\ \ sets (PiM I M)" using I \I \ {}\ by (safe intro!: sets.countable_INT' measurable_prod_emb sets_PiM_I_finite E) @@ -793,7 +793,7 @@ show "range A \ prod_algebra I M" "(\i. A i) = (\\<^sub>E i\I. space (M i))" "\i. P (A i) \ \" unfolding space_PiM[symmetric] by fact+ fix X assume "X \ prod_algebra I M" - then obtain J E where X: "X = prod_emb I M J (PIE j:J. E j)" + then obtain J E where X: "X = prod_emb I M J (\\<^sub>E j\J. E j)" and J: "finite J" "J \ I" "\j. j \ J \ E j \ sets (M j)" by (force elim!: prod_algebraE) then show "emeasure P X = emeasure Q X" @@ -822,7 +822,7 @@ by (auto simp: space_PiM) next fix X assume X: "X \ prod_algebra I M" - then obtain J E where X: "X = prod_emb I M J (PIE j:J. E j)" + then obtain J E where X: "X = prod_emb I M J (\\<^sub>E j\J. E j)" and J: "finite J" "J \ I" "\j. j \ J \ E j \ sets (M j)" by (force elim!: prod_algebraE) then show "emeasure P X = emeasure Q X" @@ -976,10 +976,10 @@ "\j f. f \ F j \ emeasure (M j) f \ \" and in_space: "\j. space (M j) = (\F j)" using sigma_finite_countable by (metis subset_eq) - moreover have "(\(PiE I ` PiE I F)) = space (Pi\<^sub>M I M)" + moreover have "(\(Pi\<^sub>E I ` Pi\<^sub>E I F)) = space (Pi\<^sub>M I M)" using in_space by (auto simp: space_PiM PiE_iff intro!: PiE_choice[THEN iffD2]) ultimately show "\A. countable A \ A \ sets (Pi\<^sub>M I M) \ \A = space (Pi\<^sub>M I M) \ (\a\A. emeasure (Pi\<^sub>M I M) a \ \)" - by (intro exI[of _ "PiE I ` PiE I F"]) + by (intro exI[of _ "Pi\<^sub>E I ` Pi\<^sub>E I F"]) (auto intro!: countable_PiE sets_PiM_I_finite simp: PiE_iff emeasure_PiM finite_index ennreal_prod_eq_top) qed @@ -1003,7 +1003,7 @@ interpret I: finite_product_sigma_finite M I by standard fact interpret J: finite_product_sigma_finite M J by standard fact fix A assume A: "\i. i \ I \ J \ A i \ sets (M i)" - have *: "(merge I J -` Pi\<^sub>E (I \ J) A \ space (Pi\<^sub>M I M \\<^sub>M Pi\<^sub>M J M)) = PiE I A \ PiE J A" + have *: "(merge I J -` Pi\<^sub>E (I \ J) A \ space (Pi\<^sub>M I M \\<^sub>M Pi\<^sub>M J M)) = Pi\<^sub>E I A \ Pi\<^sub>E J A" using A[THEN sets.sets_into_space] by (auto simp: space_PiM space_pair_measure) from A fin show "emeasure (distr (Pi\<^sub>M I M \\<^sub>M Pi\<^sub>M J M) (Pi\<^sub>M (I \ J) M) (merge I J)) (Pi\<^sub>E (I \ J) A) = (\i\I \ J. emeasure (M i) (A i))" diff -r 8007f10195af -r 6108dddad9f0 src/HOL/Analysis/Function_Topology.thy --- a/src/HOL/Analysis/Function_Topology.thy Mon Jan 16 21:53:44 2017 +0100 +++ b/src/HOL/Analysis/Function_Topology.thy Tue Jan 17 11:26:21 2017 +0100 @@ -17,7 +17,7 @@ to each factor is continuous. To form a product of objects in Isabelle/HOL, all these objects should be subsets of a common type -'a. The product is then @{term "PiE I X"}, the set of elements from 'i to 'a such that the $i$-th +'a. The product is then @{term "Pi\<^sub>E I X"}, the set of elements from 'i to 'a such that the $i$-th coordinate belongs to $X\;i$ for all $i \in I$. Hence, to form a product of topological spaces, all these spaces should be subsets of a common type. @@ -696,7 +696,7 @@ lemma product_topology_countable_basis: shows "\K::(('a::countable \ 'b::second_countable_topology) set set). topological_basis K \ countable K \ - (\k\K. \X. (k = PiE UNIV X) \ (\i. open (X i)) \ finite {i. X i \ UNIV})" + (\k\K. \X. (k = Pi\<^sub>E UNIV X) \ (\i. open (X i)) \ finite {i. X i \ UNIV})" proof - obtain B::"'b set set" where B: "countable B \ topological_basis B" using ex_countable_basis by auto @@ -708,7 +708,7 @@ using that unfolding B2_def using B topological_basis_open by auto define K where "K = {Pi\<^sub>E UNIV X | X. (\i::'a. X i \ B2) \ finite {i. X i \ UNIV}}" - have i: "\k\K. \X. (k = PiE UNIV X) \ (\i. open (X i)) \ finite {i. X i \ UNIV}" + have i: "\k\K. \X. (k = Pi\<^sub>E UNIV X) \ (\i. open (X i)) \ finite {i. X i \ UNIV}" unfolding K_def using `\U. U \ B2 \ open U` by auto have "countable {X. (\(i::'a). X i \ B2) \ finite {i. X i \ UNIV}}" @@ -1335,11 +1335,11 @@ "sets (Pi\<^sub>M UNIV (\i::('a::countable). borel::('b::second_countable_topology measure))) = sets borel" proof obtain K::"('a \ 'b) set set" where K: "topological_basis K" "countable K" - "\k. k \ K \ \X. (k = PiE UNIV X) \ (\i. open (X i)) \ finite {i. X i \ UNIV}" + "\k. k \ K \ \X. (k = Pi\<^sub>E UNIV X) \ (\i. open (X i)) \ finite {i. X i \ UNIV}" using product_topology_countable_basis by fast have *: "k \ sets (Pi\<^sub>M UNIV (\_. borel))" if "k \ K" for k proof - - obtain X where H: "k = PiE UNIV X" "\i. open (X i)" "finite {i. X i \ UNIV}" + obtain X where H: "k = Pi\<^sub>E UNIV X" "\i. open (X i)" "finite {i. X i \ UNIV}" using K(3)[OF `k \ K`] by blast show ?thesis unfolding H(1) sets_PiM_finite space_borel using borel_open[OF H(2)] H(3) by auto qed diff -r 8007f10195af -r 6108dddad9f0 src/HOL/Analysis/Tagged_Division.thy --- a/src/HOL/Analysis/Tagged_Division.thy Mon Jan 16 21:53:44 2017 +0100 +++ b/src/HOL/Analysis/Tagged_Division.thy Tue Jan 17 11:26:21 2017 +0100 @@ -2539,7 +2539,7 @@ let ?K0 = "\(n, f::'a\nat). cbox (\i \ Basis. (a \ i + (f i / 2^n) * (b \ i - a \ i)) *\<^sub>R i) (\i \ Basis. (a \ i + ((f i + 1) / 2^n) * (b \ i - a \ i)) *\<^sub>R i)" - let ?D0 = "?K0 ` (SIGMA n:UNIV. PiE Basis (\i::'a. lessThan (2^n)))" + let ?D0 = "?K0 ` (SIGMA n:UNIV. Pi\<^sub>E Basis (\i::'a. lessThan (2^n)))" obtain \0 where count: "countable \0" and sub: "\\0 \ cbox a b" and int: "\K. K \ \0 \ (interior K \ {}) \ (\c d. K = cbox c d)" @@ -2698,7 +2698,7 @@ proof (rule finite_subset) let ?B = "(\(n, f::'a\nat). cbox (\i\Basis. (a \ i + (f i) / 2^n * (b \ i - a \ i)) *\<^sub>R i) (\i\Basis. (a \ i + ((f i) + 1) / 2^n * (b \ i - a \ i)) *\<^sub>R i)) - ` (SIGMA m:atMost n. PiE Basis (\i::'a. lessThan (2^m)))" + ` (SIGMA m:atMost n. Pi\<^sub>E Basis (\i::'a. lessThan (2^m)))" have "?K0(m,g) \ ?B" if "g \ Basis \\<^sub>E {..<2 ^ m}" "?K0(n,f) \ ?K0(m,g)" for m g proof - have dd: "w / m \ v / n \ (v+1) / n \ (w+1) / m diff -r 8007f10195af -r 6108dddad9f0 src/HOL/Analysis/Topology_Euclidean_Space.thy --- a/src/HOL/Analysis/Topology_Euclidean_Space.thy Mon Jan 16 21:53:44 2017 +0100 +++ b/src/HOL/Analysis/Topology_Euclidean_Space.thy Tue Jan 17 11:26:21 2017 +0100 @@ -89,7 +89,7 @@ done lemma countable_PiE: - "finite I \ (\i. i \ I \ countable (F i)) \ countable (PiE I F)" + "finite I \ (\i. i \ I \ countable (F i)) \ countable (Pi\<^sub>E I F)" by (induct I arbitrary: F rule: finite_induct) (auto simp: PiE_insert_eq) lemma continuous_on_cases: @@ -2173,7 +2173,7 @@ lemma interior_complement: "interior (- S) = - closure S" by (simp add: closure_interior) - + lemma interior_diff: "interior(S - T) = interior S - closure T" by (simp add: Diff_eq interior_complement) @@ -5348,7 +5348,7 @@ show "\l r. subseq r \ ((f \ r) \ l) sequentially" using l r by fast qed - + subsubsection \Intersecting chains of compact sets\ proposition bounded_closed_chain: @@ -10727,8 +10727,8 @@ qed from X0(1,2) this show ?thesis .. qed - - + + subsection\Constancy of a function from a connected set into a finite, disconnected or discrete set\ text\Still missing: versions for a set that is smaller than R, or countable.\ diff -r 8007f10195af -r 6108dddad9f0 src/HOL/Library/FuncSet.thy --- a/src/HOL/Library/FuncSet.thy Mon Jan 16 21:53:44 2017 +0100 +++ b/src/HOL/Library/FuncSet.thy Tue Jan 17 11:26:21 2017 +0100 @@ -5,7 +5,9 @@ section \Pi and Function Sets\ theory FuncSet -imports Hilbert_Choice Main + imports Hilbert_Choice Main + abbrevs PiE = "Pi\<^sub>E" + PIE = "\\<^sub>E" begin definition Pi :: "'a set \ ('a \ 'b set) \ ('a \ 'b) set" @@ -360,10 +362,10 @@ lemma extensional_funcset_def: "extensional_funcset S T = (S \ T) \ extensional S" by (simp add: PiE_def) -lemma PiE_empty_domain[simp]: "PiE {} T = {\x. undefined}" +lemma PiE_empty_domain[simp]: "Pi\<^sub>E {} T = {\x. undefined}" unfolding PiE_def by simp -lemma PiE_UNIV_domain: "PiE UNIV T = Pi UNIV T" +lemma PiE_UNIV_domain: "Pi\<^sub>E UNIV T = Pi UNIV T" unfolding PiE_def by simp lemma PiE_empty_range[simp]: "i \ I \ F i = {} \ (\\<^sub>E i\I. F i) = {}" @@ -386,29 +388,29 @@ qed qed (auto simp: PiE_def) -lemma PiE_arb: "f \ PiE S T \ x \ S \ f x = undefined" +lemma PiE_arb: "f \ Pi\<^sub>E S T \ x \ S \ f x = undefined" unfolding PiE_def by auto (auto dest!: extensional_arb) -lemma PiE_mem: "f \ PiE S T \ x \ S \ f x \ T x" +lemma PiE_mem: "f \ Pi\<^sub>E S T \ x \ S \ f x \ T x" unfolding PiE_def by auto -lemma PiE_fun_upd: "y \ T x \ f \ PiE S T \ f(x := y) \ PiE (insert x S) T" +lemma PiE_fun_upd: "y \ T x \ f \ Pi\<^sub>E S T \ f(x := y) \ Pi\<^sub>E (insert x S) T" unfolding PiE_def extensional_def by auto -lemma fun_upd_in_PiE: "x \ S \ f \ PiE (insert x S) T \ f(x := undefined) \ PiE S T" +lemma fun_upd_in_PiE: "x \ S \ f \ Pi\<^sub>E (insert x S) T \ f(x := undefined) \ Pi\<^sub>E S T" unfolding PiE_def extensional_def by auto -lemma PiE_insert_eq: "PiE (insert x S) T = (\(y, g). g(x := y)) ` (T x \ PiE S T)" +lemma PiE_insert_eq: "Pi\<^sub>E (insert x S) T = (\(y, g). g(x := y)) ` (T x \ Pi\<^sub>E S T)" proof - { - fix f assume "f \ PiE (insert x S) T" "x \ S" - then have "f \ (\(y, g). g(x := y)) ` (T x \ PiE S T)" + fix f assume "f \ Pi\<^sub>E (insert x S) T" "x \ S" + then have "f \ (\(y, g). g(x := y)) ` (T x \ Pi\<^sub>E S T)" by (auto intro!: image_eqI[where x="(f x, f(x := undefined))"] intro: fun_upd_in_PiE PiE_mem) } moreover { - fix f assume "f \ PiE (insert x S) T" "x \ S" - then have "f \ (\(y, g). g(x := y)) ` (T x \ PiE S T)" + fix f assume "f \ Pi\<^sub>E (insert x S) T" "x \ S" + then have "f \ (\(y, g). g(x := y)) ` (T x \ Pi\<^sub>E S T)" by (auto intro!: image_eqI[where x="(f x, f)"] intro: fun_upd_in_PiE PiE_mem simp: insert_absorb) } ultimately show ?thesis @@ -422,25 +424,25 @@ unfolding PiE_def by (auto simp: Pi_cong) lemma PiE_E [elim]: - assumes "f \ PiE A B" + assumes "f \ Pi\<^sub>E A B" obtains "x \ A" and "f x \ B x" | "x \ A" and "f x = undefined" using assms by (auto simp: Pi_def PiE_def extensional_def) lemma PiE_I[intro!]: - "(\x. x \ A \ f x \ B x) \ (\x. x \ A \ f x = undefined) \ f \ PiE A B" + "(\x. x \ A \ f x \ B x) \ (\x. x \ A \ f x = undefined) \ f \ Pi\<^sub>E A B" by (simp add: PiE_def extensional_def) -lemma PiE_mono: "(\x. x \ A \ B x \ C x) \ PiE A B \ PiE A C" +lemma PiE_mono: "(\x. x \ A \ B x \ C x) \ Pi\<^sub>E A B \ Pi\<^sub>E A C" by auto -lemma PiE_iff: "f \ PiE I X \ (\i\I. f i \ X i) \ f \ extensional I" +lemma PiE_iff: "f \ Pi\<^sub>E I X \ (\i\I. f i \ X i) \ f \ extensional I" by (simp add: PiE_def Pi_iff) -lemma PiE_restrict[simp]: "f \ PiE A B \ restrict f A = f" +lemma PiE_restrict[simp]: "f \ Pi\<^sub>E A B \ restrict f A = f" by (simp add: extensional_restrict PiE_def) -lemma restrict_PiE[simp]: "restrict f I \ PiE I S \ f \ Pi I S" +lemma restrict_PiE[simp]: "restrict f I \ Pi\<^sub>E I S \ f \ Pi I S" by (auto simp: PiE_iff) lemma PiE_eq_subset: diff -r 8007f10195af -r 6108dddad9f0 src/HOL/Probability/Infinite_Product_Measure.thy --- a/src/HOL/Probability/Infinite_Product_Measure.thy Mon Jan 16 21:53:44 2017 +0100 +++ b/src/HOL/Probability/Infinite_Product_Measure.thy Tue Jan 17 11:26:21 2017 +0100 @@ -14,7 +14,7 @@ proof (rule PiM_eqI) fix X assume X: "\i. i \ J \ X i \ sets (M i)" { fix J X assume J: "J \ {} \ I = {}" "finite J" "J \ I" and X: "\i. i \ J \ X i \ sets (M i)" - have "emeasure (PiM I M) (emb I J (PiE J X)) = (\i\J. M i (X i))" + have "emeasure (PiM I M) (emb I J (Pi\<^sub>E J X)) = (\i\J. M i (X i))" proof (subst emeasure_extend_measure_Pair[OF PiM_def, where \'=lim], goal_cases) case 1 then show ?case by (simp add: M.emeasure_space_1 emeasure_PiM Pi_iff sets_PiM_I_finite emeasure_lim_emb) @@ -28,7 +28,7 @@ add: M.emeasure_space_1 sets_lim[symmetric] emeasure_countably_additive emeasure_positive) } note * = this - have "emeasure (PiM I M) (emb I J (PiE J X)) = (\i\J. M i (X i))" + have "emeasure (PiM I M) (emb I J (Pi\<^sub>E J X)) = (\i\J. M i (X i))" proof (cases "J \ {} \ I = {}") case False then obtain i where i: "J = {}" "i \ I" by auto @@ -340,8 +340,8 @@ have "\j x. j \ J \ x \ E j \ x \ space M" using J(3)[THEN sets.sets_into_space] by (auto simp: space_PiM Pi_iff subset_eq) with J have "?f -` ?X \ space (S \\<^sub>M S) = - (prod_emb ?I ?M (J \ {.. {.. - (prod_emb ?I ?M ((op + i) -` J) (PIE j:(op + i) -` J. E (i + j)))" (is "_ = ?E \ ?F") + (prod_emb ?I ?M (J \ {..\<^sub>E j\J \ {.. + (prod_emb ?I ?M ((op + i) -` J) (\\<^sub>E j\(op + i) -` J. E (i + j)))" (is "_ = ?E \ ?F") by (auto simp: space_pair_measure space_PiM prod_emb_def all_conj_distrib PiE_iff split: split_comb_seq split_comb_seq_asm) then have "emeasure ?D ?X = emeasure (S \\<^sub>M S) (?E \ ?F)" @@ -368,11 +368,11 @@ let "distr _ _ ?f" = "?D" fix J E assume J: "finite J" "J \ ?I" "\j. j \ J \ E j \ sets M" - let ?X = "prod_emb ?I ?M J (PIE j:J. E j)" + let ?X = "prod_emb ?I ?M J (\\<^sub>E j\J. E j)" have "\j x. j \ J \ x \ E j \ x \ space M" using J(3)[THEN sets.sets_into_space] by (auto simp: space_PiM Pi_iff subset_eq) with J have "?f -` ?X \ space (M \\<^sub>M S) = (if 0 \ J then E 0 else space M) \ - (prod_emb ?I ?M (Suc -` J) (PIE j:Suc -` J. E (Suc j)))" (is "_ = ?E \ ?F") + (prod_emb ?I ?M (Suc -` J) (\\<^sub>E j\Suc -` J. E (Suc j)))" (is "_ = ?E \ ?F") by (auto simp: space_pair_measure space_PiM PiE_iff prod_emb_def all_conj_distrib split: nat.split nat.split_asm) then have "emeasure ?D ?X = emeasure (M \\<^sub>M S) (?E \ ?F)"