equal
deleted
inserted
replaced
968 (is "_ = ?SIGMA") |
968 (is "_ = ?SIGMA") |
969 proof (rule borel_eq_sigmaI4[OF borel_eq_halfspace_le]) |
969 proof (rule borel_eq_sigmaI4[OF borel_eq_halfspace_le]) |
970 fix a :: real and i :: 'a assume "(a, i) \<in> UNIV \<times> Basis" |
970 fix a :: real and i :: 'a assume "(a, i) \<in> UNIV \<times> Basis" |
971 then have "i \<in> Basis" by auto |
971 then have "i \<in> Basis" by auto |
972 then have *: "{x::'a. x\<bullet>i \<le> a} = (\<Union>k::nat. {.. (\<Sum>n\<in>Basis. (if n = i then a else real k)*\<^sub>R n)})" |
972 then have *: "{x::'a. x\<bullet>i \<le> a} = (\<Union>k::nat. {.. (\<Sum>n\<in>Basis. (if n = i then a else real k)*\<^sub>R n)})" |
973 proof (safe, simp_all add: eucl_le[where 'a='a] split: split_if_asm) |
973 proof (safe, simp_all add: eucl_le[where 'a='a] split: if_split_asm) |
974 fix x :: 'a |
974 fix x :: 'a |
975 from real_arch_simple[of "Max ((\<lambda>i. x\<bullet>i)`Basis)"] guess k::nat .. |
975 from real_arch_simple[of "Max ((\<lambda>i. x\<bullet>i)`Basis)"] guess k::nat .. |
976 then have "\<And>i. i \<in> Basis \<Longrightarrow> x\<bullet>i \<le> real k" |
976 then have "\<And>i. i \<in> Basis \<Longrightarrow> x\<bullet>i \<le> real k" |
977 by (subst (asm) Max_le_iff) auto |
977 by (subst (asm) Max_le_iff) auto |
978 then show "\<exists>k::nat. \<forall>ia\<in>Basis. ia \<noteq> i \<longrightarrow> x \<bullet> ia \<le> real k" |
978 then show "\<exists>k::nat. \<forall>ia\<in>Basis. ia \<noteq> i \<longrightarrow> x \<bullet> ia \<le> real k" |
989 fix a :: real and i :: 'a assume "(a, i) \<in> UNIV \<times> Basis" |
989 fix a :: real and i :: 'a assume "(a, i) \<in> UNIV \<times> Basis" |
990 then have i: "i \<in> Basis" by auto |
990 then have i: "i \<in> Basis" by auto |
991 have "{x::'a. x\<bullet>i \<le> a} = UNIV - {x::'a. a < x\<bullet>i}" by auto |
991 have "{x::'a. x\<bullet>i \<le> a} = UNIV - {x::'a. a < x\<bullet>i}" by auto |
992 also have *: "{x::'a. a < x\<bullet>i} = |
992 also have *: "{x::'a. a < x\<bullet>i} = |
993 (\<Union>k::nat. {x. (\<Sum>n\<in>Basis. (if n = i then a else -real k) *\<^sub>R n) <e x})" using i |
993 (\<Union>k::nat. {x. (\<Sum>n\<in>Basis. (if n = i then a else -real k) *\<^sub>R n) <e x})" using i |
994 proof (safe, simp_all add: eucl_less_def split: split_if_asm) |
994 proof (safe, simp_all add: eucl_less_def split: if_split_asm) |
995 fix x :: 'a |
995 fix x :: 'a |
996 from reals_Archimedean2[of "Max ((\<lambda>i. -x\<bullet>i)`Basis)"] |
996 from reals_Archimedean2[of "Max ((\<lambda>i. -x\<bullet>i)`Basis)"] |
997 guess k::nat .. note k = this |
997 guess k::nat .. note k = this |
998 { fix i :: 'a assume "i \<in> Basis" |
998 { fix i :: 'a assume "i \<in> Basis" |
999 then have "-x\<bullet>i < real k" |
999 then have "-x\<bullet>i < real k" |
1015 proof (rule borel_eq_sigmaI4[OF borel_eq_halfspace_ge]) |
1015 proof (rule borel_eq_sigmaI4[OF borel_eq_halfspace_ge]) |
1016 fix a :: real and i :: 'a assume "(a, i) \<in> UNIV \<times> Basis" |
1016 fix a :: real and i :: 'a assume "(a, i) \<in> UNIV \<times> Basis" |
1017 then have i: "i \<in> Basis" by auto |
1017 then have i: "i \<in> Basis" by auto |
1018 have "{x::'a. a \<le> x\<bullet>i} = UNIV - {x::'a. x\<bullet>i < a}" by auto |
1018 have "{x::'a. a \<le> x\<bullet>i} = UNIV - {x::'a. x\<bullet>i < a}" by auto |
1019 also have *: "{x::'a. x\<bullet>i < a} = (\<Union>k::nat. {x. x <e (\<Sum>n\<in>Basis. (if n = i then a else real k) *\<^sub>R n)})" using \<open>i\<in> Basis\<close> |
1019 also have *: "{x::'a. x\<bullet>i < a} = (\<Union>k::nat. {x. x <e (\<Sum>n\<in>Basis. (if n = i then a else real k) *\<^sub>R n)})" using \<open>i\<in> Basis\<close> |
1020 proof (safe, simp_all add: eucl_less_def split: split_if_asm) |
1020 proof (safe, simp_all add: eucl_less_def split: if_split_asm) |
1021 fix x :: 'a |
1021 fix x :: 'a |
1022 from reals_Archimedean2[of "Max ((\<lambda>i. x\<bullet>i)`Basis)"] |
1022 from reals_Archimedean2[of "Max ((\<lambda>i. x\<bullet>i)`Basis)"] |
1023 guess k::nat .. note k = this |
1023 guess k::nat .. note k = this |
1024 { fix i :: 'a assume "i \<in> Basis" |
1024 { fix i :: 'a assume "i \<in> Basis" |
1025 then have "x\<bullet>i < real k" |
1025 then have "x\<bullet>i < real k" |
1452 let ?G = "\<lambda>y x. if g x = \<infinity> then H y \<infinity> else if g x = -\<infinity> then H y (-\<infinity>) else H y (ereal (real_of_ereal (g x)))" |
1452 let ?G = "\<lambda>y x. if g x = \<infinity> then H y \<infinity> else if g x = -\<infinity> then H y (-\<infinity>) else H y (ereal (real_of_ereal (g x)))" |
1453 let ?F = "\<lambda>x. if f x = \<infinity> then ?G \<infinity> x else if f x = -\<infinity> then ?G (-\<infinity>) x else ?G (ereal (real_of_ereal (f x))) x" |
1453 let ?F = "\<lambda>x. if f x = \<infinity> then ?G \<infinity> x else if f x = -\<infinity> then ?G (-\<infinity>) x else ?G (ereal (real_of_ereal (f x))) x" |
1454 { fix x have "H (f x) (g x) = ?F x" by (cases "f x" "g x" rule: ereal2_cases) auto } |
1454 { fix x have "H (f x) (g x) = ?F x" by (cases "f x" "g x" rule: ereal2_cases) auto } |
1455 note * = this |
1455 note * = this |
1456 from assms show ?thesis |
1456 from assms show ?thesis |
1457 by (subst *) (simp del: space_borel split del: split_if) |
1457 by (subst *) (simp del: space_borel split del: if_split) |
1458 qed |
1458 qed |
1459 |
1459 |
1460 lemma borel_measurable_ereal_iff: |
1460 lemma borel_measurable_ereal_iff: |
1461 shows "(\<lambda>x. ereal (f x)) \<in> borel_measurable M \<longleftrightarrow> f \<in> borel_measurable M" |
1461 shows "(\<lambda>x. ereal (f x)) \<in> borel_measurable M \<longleftrightarrow> f \<in> borel_measurable M" |
1462 proof |
1462 proof |