12 begin |
12 begin |
13 |
13 |
14 lemma sets_Collect_eventually_sequentially[measurable]: |
14 lemma sets_Collect_eventually_sequentially[measurable]: |
15 "(\<And>i. {x\<in>space M. P x i} \<in> sets M) \<Longrightarrow> {x\<in>space M. eventually (P x) sequentially} \<in> sets M" |
15 "(\<And>i. {x\<in>space M. P x i} \<in> sets M) \<Longrightarrow> {x\<in>space M. eventually (P x) sequentially} \<in> sets M" |
16 unfolding eventually_sequentially by simp |
16 unfolding eventually_sequentially by simp |
17 |
|
18 lemma open_Collect_less: |
|
19 fixes f g :: "'i::topological_space \<Rightarrow> 'a :: {dense_linorder, linorder_topology}" |
|
20 assumes "continuous_on UNIV f" |
|
21 assumes "continuous_on UNIV g" |
|
22 shows "open {x. f x < g x}" |
|
23 proof - |
|
24 have "open (\<Union>y. {x \<in> UNIV. f x \<in> {..< y}} \<inter> {x \<in> UNIV. g x \<in> {y <..}})" (is "open ?X") |
|
25 by (intro open_UN ballI open_Int continuous_open_preimage assms) auto |
|
26 also have "?X = {x. f x < g x}" |
|
27 by (auto intro: dense) |
|
28 finally show ?thesis . |
|
29 qed |
|
30 |
|
31 lemma closed_Collect_le: |
|
32 fixes f g :: "'i::topological_space \<Rightarrow> 'a :: {dense_linorder, linorder_topology}" |
|
33 assumes f: "continuous_on UNIV f" |
|
34 assumes g: "continuous_on UNIV g" |
|
35 shows "closed {x. f x \<le> g x}" |
|
36 using open_Collect_less[OF g f] unfolding not_less[symmetric] Collect_neg_eq open_closed . |
|
37 |
17 |
38 lemma topological_basis_trivial: "topological_basis {A. open A}" |
18 lemma topological_basis_trivial: "topological_basis {A. open A}" |
39 by (auto simp: topological_basis_def) |
19 by (auto simp: topological_basis_def) |
40 |
20 |
41 lemma open_prod_generated: "open = generate_topology {A \<times> B | A B. open A \<and> open B}" |
21 lemma open_prod_generated: "open = generate_topology {A \<times> B | A B. open A \<and> open B}" |
792 fixes f :: "'a \<Rightarrow> 'b::{linorder_topology, second_countable_topology}" |
772 fixes f :: "'a \<Rightarrow> 'b::{linorder_topology, second_countable_topology}" |
793 shows "(\<And>y. {x\<in>space M. y \<le> f x} \<in> sets M) \<Longrightarrow> f \<in> borel_measurable M" |
773 shows "(\<And>y. {x\<in>space M. y \<le> f x} \<in> sets M) \<Longrightarrow> f \<in> borel_measurable M" |
794 by (rule borel_measurableI_less) (auto simp: not_le[symmetric]) |
774 by (rule borel_measurableI_less) (auto simp: not_le[symmetric]) |
795 |
775 |
796 lemma borel_measurable_less[measurable]: |
776 lemma borel_measurable_less[measurable]: |
797 fixes f :: "'a \<Rightarrow> 'b::{second_countable_topology, dense_linorder, linorder_topology}" |
777 fixes f :: "'a \<Rightarrow> 'b::{second_countable_topology, linorder_topology}" |
798 assumes "f \<in> borel_measurable M" |
778 assumes "f \<in> borel_measurable M" |
799 assumes "g \<in> borel_measurable M" |
779 assumes "g \<in> borel_measurable M" |
800 shows "{w \<in> space M. f w < g w} \<in> sets M" |
780 shows "{w \<in> space M. f w < g w} \<in> sets M" |
801 proof - |
781 proof - |
802 have "{w \<in> space M. f w < g w} = (\<lambda>x. (f x, g x)) -` {x. fst x < snd x} \<inter> space M" |
782 have "{w \<in> space M. f w < g w} = (\<lambda>x. (f x, g x)) -` {x. fst x < snd x} \<inter> space M" |
806 continuous_intros) |
786 continuous_intros) |
807 finally show ?thesis . |
787 finally show ?thesis . |
808 qed |
788 qed |
809 |
789 |
810 lemma |
790 lemma |
811 fixes f :: "'a \<Rightarrow> 'b::{second_countable_topology, dense_linorder, linorder_topology}" |
791 fixes f :: "'a \<Rightarrow> 'b::{second_countable_topology, linorder_topology}" |
812 assumes f[measurable]: "f \<in> borel_measurable M" |
792 assumes f[measurable]: "f \<in> borel_measurable M" |
813 assumes g[measurable]: "g \<in> borel_measurable M" |
793 assumes g[measurable]: "g \<in> borel_measurable M" |
814 shows borel_measurable_le[measurable]: "{w \<in> space M. f w \<le> g w} \<in> sets M" |
794 shows borel_measurable_le[measurable]: "{w \<in> space M. f w \<le> g w} \<in> sets M" |
815 and borel_measurable_eq[measurable]: "{w \<in> space M. f w = g w} \<in> sets M" |
795 and borel_measurable_eq[measurable]: "{w \<in> space M. f w = g w} \<in> sets M" |
816 and borel_measurable_neq: "{w \<in> space M. f w \<noteq> g w} \<in> sets M" |
796 and borel_measurable_neq: "{w \<in> space M. f w \<noteq> g w} \<in> sets M" |
945 shows borel_measurable_liminf: "(\<lambda>x. liminf (\<lambda>i. f i x)) \<in> borel_measurable M" |
925 shows borel_measurable_liminf: "(\<lambda>x. liminf (\<lambda>i. f i x)) \<in> borel_measurable M" |
946 and borel_measurable_limsup: "(\<lambda>x. limsup (\<lambda>i. f i x)) \<in> borel_measurable M" |
926 and borel_measurable_limsup: "(\<lambda>x. limsup (\<lambda>i. f i x)) \<in> borel_measurable M" |
947 unfolding liminf_SUP_INF limsup_INF_SUP using assms by auto |
927 unfolding liminf_SUP_INF limsup_INF_SUP using assms by auto |
948 |
928 |
949 lemma measurable_convergent[measurable (raw)]: |
929 lemma measurable_convergent[measurable (raw)]: |
950 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, dense_linorder, linorder_topology}" |
930 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, linorder_topology}" |
951 assumes [measurable]: "\<And>i. f i \<in> borel_measurable M" |
931 assumes [measurable]: "\<And>i. f i \<in> borel_measurable M" |
952 shows "Measurable.pred M (\<lambda>x. convergent (\<lambda>i. f i x))" |
932 shows "Measurable.pred M (\<lambda>x. convergent (\<lambda>i. f i x))" |
953 unfolding convergent_ereal by measurable |
933 unfolding convergent_ereal by measurable |
954 |
934 |
955 lemma sets_Collect_convergent[measurable]: |
935 lemma sets_Collect_convergent[measurable]: |
956 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, dense_linorder, linorder_topology}" |
936 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, linorder_topology}" |
957 assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M" |
937 assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M" |
958 shows "{x\<in>space M. convergent (\<lambda>i. f i x)} \<in> sets M" |
938 shows "{x\<in>space M. convergent (\<lambda>i. f i x)} \<in> sets M" |
959 by measurable |
939 by measurable |
960 |
940 |
961 lemma borel_measurable_lim[measurable (raw)]: |
941 lemma borel_measurable_lim[measurable (raw)]: |
962 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, dense_linorder, linorder_topology}" |
942 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, linorder_topology}" |
963 assumes [measurable]: "\<And>i. f i \<in> borel_measurable M" |
943 assumes [measurable]: "\<And>i. f i \<in> borel_measurable M" |
964 shows "(\<lambda>x. lim (\<lambda>i. f i x)) \<in> borel_measurable M" |
944 shows "(\<lambda>x. lim (\<lambda>i. f i x)) \<in> borel_measurable M" |
965 proof - |
945 proof - |
966 have "\<And>x. lim (\<lambda>i. f i x) = (if convergent (\<lambda>i. f i x) then limsup (\<lambda>i. f i x) else (THE i. False))" |
946 have "\<And>x. lim (\<lambda>i. f i x) = (if convergent (\<lambda>i. f i x) then limsup (\<lambda>i. f i x) else (THE i. False))" |
967 by (simp add: lim_def convergent_def convergent_limsup_cl) |
947 by (simp add: lim_def convergent_def convergent_limsup_cl) |
968 then show ?thesis |
948 then show ?thesis |
969 by simp |
949 by simp |
970 qed |
950 qed |
971 |
951 |
972 lemma borel_measurable_LIMSEQ_order: |
952 lemma borel_measurable_LIMSEQ_order: |
973 fixes u :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, dense_linorder, linorder_topology}" |
953 fixes u :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, linorder_topology}" |
974 assumes u': "\<And>x. x \<in> space M \<Longrightarrow> (\<lambda>i. u i x) \<longlonglongrightarrow> u' x" |
954 assumes u': "\<And>x. x \<in> space M \<Longrightarrow> (\<lambda>i. u i x) \<longlonglongrightarrow> u' x" |
975 and u: "\<And>i. u i \<in> borel_measurable M" |
955 and u: "\<And>i. u i \<in> borel_measurable M" |
976 shows "u' \<in> borel_measurable M" |
956 shows "u' \<in> borel_measurable M" |
977 proof - |
957 proof - |
978 have "\<And>x. x \<in> space M \<Longrightarrow> u' x = liminf (\<lambda>n. u n x)" |
958 have "\<And>x. x \<in> space M \<Longrightarrow> u' x = liminf (\<lambda>n. u n x)" |
997 assume "finite S" |
977 assume "finite S" |
998 thus ?thesis using assms by induct auto |
978 thus ?thesis using assms by induct auto |
999 qed simp |
979 qed simp |
1000 |
980 |
1001 lemma borel_measurable_suminf_order[measurable (raw)]: |
981 lemma borel_measurable_suminf_order[measurable (raw)]: |
1002 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, dense_linorder, linorder_topology, topological_comm_monoid_add}" |
982 fixes f :: "nat \<Rightarrow> 'a \<Rightarrow> 'b::{complete_linorder, second_countable_topology, linorder_topology, topological_comm_monoid_add}" |
1003 assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M" |
983 assumes f[measurable]: "\<And>i. f i \<in> borel_measurable M" |
1004 shows "(\<lambda>x. suminf (\<lambda>i. f i x)) \<in> borel_measurable M" |
984 shows "(\<lambda>x. suminf (\<lambda>i. f i x)) \<in> borel_measurable M" |
1005 unfolding suminf_def sums_def[abs_def] lim_def[symmetric] by simp |
985 unfolding suminf_def sums_def[abs_def] lim_def[symmetric] by simp |
1006 |
986 |
1007 subsection \<open>Borel spaces on Euclidean spaces\<close> |
987 subsection \<open>Borel spaces on Euclidean spaces\<close> |