src/HOL/Probability/Lebesgue_Measure.thy
changeset 50123 69b35a75caf3
parent 50105 65d5b18e1626
child 50244 de72bbe42190
equal deleted inserted replaced
50122:7ae7efef5ad8 50123:69b35a75caf3
   933   "e2p \<in> measurable (borel::'a::ordered_euclidean_space measure) (\<Pi>\<^isub>M i\<in>{..<DIM('a)}. (lborel :: real measure))"
   933   "e2p \<in> measurable (borel::'a::ordered_euclidean_space measure) (\<Pi>\<^isub>M i\<in>{..<DIM('a)}. (lborel :: real measure))"
   934 proof (rule measurable_sigma_sets[OF sets_product_borel])
   934 proof (rule measurable_sigma_sets[OF sets_product_borel])
   935   fix A :: "(nat \<Rightarrow> real) set" assume "A \<in> {\<Pi>\<^isub>E i\<in>{..<DIM('a)}. {..<x i} |x. True} "
   935   fix A :: "(nat \<Rightarrow> real) set" assume "A \<in> {\<Pi>\<^isub>E i\<in>{..<DIM('a)}. {..<x i} |x. True} "
   936   then obtain x where  "A = (\<Pi>\<^isub>E i\<in>{..<DIM('a)}. {..<x i})" by auto
   936   then obtain x where  "A = (\<Pi>\<^isub>E i\<in>{..<DIM('a)}. {..<x i})" by auto
   937   then have "e2p -` A = {..< (\<chi>\<chi> i. x i) :: 'a}"
   937   then have "e2p -` A = {..< (\<chi>\<chi> i. x i) :: 'a}"
   938     using DIM_positive by (auto simp add: Pi_iff set_eq_iff e2p_def
   938     using DIM_positive by (auto simp add: set_eq_iff e2p_def
   939       euclidean_eq[where 'a='a] eucl_less[where 'a='a])
   939       euclidean_eq[where 'a='a] eucl_less[where 'a='a])
   940   then show "e2p -` A \<inter> space (borel::'a measure) \<in> sets borel" by simp
   940   then show "e2p -` A \<inter> space (borel::'a measure) \<in> sets borel" by simp
   941 qed (auto simp: e2p_def)
   941 qed (auto simp: e2p_def)
   942 
   942 
   943 (* FIXME: conversion in measurable prover *)
   943 (* FIXME: conversion in measurable prover *)
   951 proof (safe intro!: borel_measurable_iff_halfspace_le[THEN iffD2])
   951 proof (safe intro!: borel_measurable_iff_halfspace_le[THEN iffD2])
   952   fix x i
   952   fix x i
   953   let ?A = "{w \<in> space ?P. (p2e w :: 'a) $$ i \<le> x}"
   953   let ?A = "{w \<in> space ?P. (p2e w :: 'a) $$ i \<le> x}"
   954   assume "i < DIM('a)"
   954   assume "i < DIM('a)"
   955   then have "?A = (\<Pi>\<^isub>E j\<in>{..<DIM('a)}. if i = j then {.. x} else UNIV)"
   955   then have "?A = (\<Pi>\<^isub>E j\<in>{..<DIM('a)}. if i = j then {.. x} else UNIV)"
   956     using DIM_positive by (auto simp: space_PiM p2e_def split: split_if_asm)
   956     using DIM_positive by (auto simp: space_PiM p2e_def PiE_def split: split_if_asm)
   957   then show "?A \<in> sets ?P"
   957   then show "?A \<in> sets ?P"
   958     by auto
   958     by auto
   959 qed
   959 qed
   960 
   960 
   961 lemma lborel_eq_lborel_space:
   961 lemma lborel_eq_lborel_space:
   964 proof (rule lborel_eqI)
   964 proof (rule lborel_eqI)
   965   show "sets ?D = sets borel" by simp
   965   show "sets ?D = sets borel" by simp
   966   let ?P = "(\<Pi>\<^isub>M i\<in>{..<DIM('a::ordered_euclidean_space)}. lborel)"
   966   let ?P = "(\<Pi>\<^isub>M i\<in>{..<DIM('a::ordered_euclidean_space)}. lborel)"
   967   fix a b :: 'a
   967   fix a b :: 'a
   968   have *: "p2e -` {a .. b} \<inter> space ?P = (\<Pi>\<^isub>E i\<in>{..<DIM('a)}. {a $$ i .. b $$ i})"
   968   have *: "p2e -` {a .. b} \<inter> space ?P = (\<Pi>\<^isub>E i\<in>{..<DIM('a)}. {a $$ i .. b $$ i})"
   969     by (auto simp: Pi_iff eucl_le[where 'a='a] p2e_def space_PiM)
   969     by (auto simp: eucl_le[where 'a='a] p2e_def space_PiM PiE_def Pi_iff)
   970   have "emeasure ?P (p2e -` {a..b} \<inter> space ?P) = content {a..b}"
   970   have "emeasure ?P (p2e -` {a..b} \<inter> space ?P) = content {a..b}"
   971   proof cases
   971   proof cases
   972     assume "{a..b} \<noteq> {}"
   972     assume "{a..b} \<noteq> {}"
   973     then have "a \<le> b"
   973     then have "a \<le> b"
   974       by (simp add: interval_ne_empty eucl_le[where 'a='a])
   974       by (simp add: interval_ne_empty eucl_le[where 'a='a])