section‹The Category of Measurable Spaces is not Cartesian Closed›
theory Measure_Not_CCC imports"HOL-Probability.Probability" begin
text‹
We show that the category of measurable spaces with measurable functions as morphismsis not a
Cartesian closed category. While the category has products and terminal objects, the exponential
does not exist for each pair of measurable spaces.
We show that the exponential $\mathbb{B}^\mathbb{C}$ does not exist, where $\mathbb{B}$ is the
discrete measurable space on boolean values, and $\mathbb{C}$ is the $\sigma$-algebra consisting
of all countable and co-countable real sets. We also define $\mathbb{R}$ to be the discrete
measurable space on the reals.
Now, the diagonal predicate 🍋‹λx y. x = y›is $\mathbb{R}$-$\mathbb{B}^\mathbb{C}$-measurable,
but 🍋‹λ(x, y). x = y›is not $(\mathbb{R} \times\mathbb{C})$-$\mathbb{B}$-measurable. ›
lemma COCOUNT_eq: "A \ COCOUNT \ countable A \ countable (UNIV - A)" proof fix A assume"A \ COCOUNT" thenhave"A \ sigma_sets UNIV {{x} | x. True}" by (auto simp: COCOUNT_def) thenshow"countable A \ countable (UNIV - A)" proofinduction case (Union F) moreover have"countable (UNIV - (\i. F i))"if"countable (UNIV - F i)"for i using that by (rule countable_subset[rotated]) auto ultimatelyshow"countable (\i. F i) \ countable (UNIV - (\i. F i))" by blast qed (auto simp: Diff_Diff_Int) next assume"countable A \ countable (UNIV - A)" moreover have A: "A \ COCOUNT"if"countable A"for A :: "real set" proof - have"A = (\a\A. {a})" by auto alsohave"\ \ COCOUNT" by (intro sets.countable_UN' that) (auto simp: COCOUNT_def) finallyshow ?thesis . qed note A[of A] moreover have"A \ COCOUNT"if"countable (UNIV - A)" proof - from A that have"space COCOUNT - (UNIV - A) \ COCOUNT"by simp thenshow ?thesis by (auto simp: COCOUNT_def Diff_Diff_Int) qed ultimatelyshow"A \ COCOUNT" by blast qed
lemma pair_COCOUNT: assumes A: "A \ sets (COCOUNT \\<^sub>M M)" shows"\J F X. X \ sets M \ F \ J \ sets M \ countable J \ A = (UNIV - J) \ X \ (SIGMA j:J. F j)" using A unfolding sets_pair_measure proofinduction case (Basic X) thenobtain a b where X: "X = a \ b"and b: "b \ sets M"and a: "countable a \ countable (UNIV - a)" by (auto simp: COCOUNT_eq) from a show ?case proof assume"countable a"with X b show ?thesis by (intro exI[of _ a] exI[of _ "\_. b"] exI[of _ "{}"]) auto next assume"countable (UNIV - a)"with X b show ?thesis by (intro exI[of _ "UNIV - a"] exI[of _ "\_. {}"] exI[of _ "b"]) auto qed next case Empty thenshow ?case by (intro exI[of _ "{}"] exI[of _ "\_. {}"] exI[of _ "{}"]) auto next case (Compl A) thenobtain J F X where XFJ: "X \ sets M""F \ J \ sets M""countable J" and A: "A = (UNIV - J) \ X \ Sigma J F" by auto have *: "space COCOUNT \ space M - A = (UNIV - J) \ (space M - X) \ (SIGMA j:J. space M - F j)" unfolding A by (auto simp: COCOUNT_def) show ?case using XFJ unfolding * by (intro exI[of _ J] exI[of _ "space M - X"] exI[of _ "\j. space M - F j"]) auto next case (Union A) obtain J F X where XFJ: "\i. X i \ sets M""\i. F i \ J i \ sets M""\i. countable (J i)" and A_eq: "A = (\i. (UNIV - J i) \ X i \ Sigma (J i) (F i))" unfolding fun_eq_iff using Union.IH by metis show ?case proof (intro exI conjI)
define G where"G j = (\i. if j \ J i then F i j else X i)"for j show"(\i. X i) \ sets M""countable (\i. J i)""G \ (\i. J i) \ sets M" using XFJ by (auto simp: G_def Pi_iff) show"\(A ` UNIV) = (UNIV - (\i. J i)) \ (\i. X i) \ (SIGMA j:\i. J i. \i. if j \ J i then F i j else X i)" unfolding A_eq by (auto split: if_split_asm) qed qed
context fixes EXP :: "(real \ bool) measure" assumes eq: "\P. case_prod P \ measurable (POW \\<^sub>M COCOUNT) BOOL \ P \ measurable POW EXP" begin
lemma space_EXP: "space EXP = measurable COCOUNT BOOL" proof - have"f \ space EXP \ f \ measurable COCOUNT BOOL"for f proof - have"f \ space EXP \ (\(a, b). f b) \ measurable (POW \\<^sub>M COCOUNT) BOOL" using eq[of "\x. f"] by (simp add: measurable_const_iff) alsohave"\ \ f \ measurable COCOUNT BOOL" by auto finallyshow ?thesis . qed thenshow ?thesis by auto qed
lemma measurable_eq_EXP: "(\x y. x = y) \ measurable POW EXP" unfolding measurable_def by (auto simp: space_EXP)
lemma measurable_eq_pair: "(\(y, x). x = y) \ measurable (COCOUNT \\<^sub>M POW) BOOL" using measurable_eq_EXP unfolding eq[symmetric] by (subst measurable_pair_swap_iff) simp
lemma ce: False proof - have"{(y, x) \ space (COCOUNT \\<^sub>M POW). x = y} \ sets (COCOUNT \\<^sub>M POW)" using measurable_eq_pair unfolding pred_def by (simp add: split_beta') alsohave"{(y, x) \ space (COCOUNT \\<^sub>M POW). x = y} = (SIGMA j:UNIV. {j})" by (auto simp: space_pair_measure COCOUNT_def) finallyobtain X F J where"countable (J::real set)" and eq: "(SIGMA j:UNIV. {j}) = (UNIV - J) \ X \ (SIGMA j:J. F j)" using pair_COCOUNT[of "SIGMA j:UNIV. {j}" POW] by auto have X_single: "\x. x \ J \ X = {x}" using eq[unfolded set_eq_iff] by force
have"uncountable (UNIV - J)" using‹countable J› uncountable_UNIV_real uncountable_minus_countable by blast thenhave"infinite (UNIV - J)" by (auto intro: countable_finite) thenhave"\A. finite A \ card A = 2 \ A \ UNIV - J" by (rule infinite_arbitrarily_large) thenobtain i j where ij: "i \ UNIV - J""j \ UNIV - J""i \ j" by (auto simp add: card_Suc_eq numeral_2_eq_2) have"{(i, i), (j, j)} \ (SIGMA j:UNIV. {j})"by auto with ij X_single[of i] X_single[of j] show False by auto qed
end
corollary"\ (\EXP. \P. case_prod P \ measurable (POW \\<^sub>M COCOUNT) BOOL \ P \ measurable POW EXP)" using ce by blast
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.