equal
deleted
inserted
replaced
1131 by (auto simp: decseq_def) |
1131 by (auto simp: decseq_def) |
1132 show "\<And>n. x \<in> (\<Inter>i\<le>n. A i)" "\<And>n. open (\<Inter>i\<le>n. A i)" |
1132 show "\<And>n. x \<in> (\<Inter>i\<le>n. A i)" "\<And>n. open (\<Inter>i\<le>n. A i)" |
1133 using A by auto |
1133 using A by auto |
1134 show "nhds x = (INF n. principal (\<Inter>i\<le>n. A i))" |
1134 show "nhds x = (INF n. principal (\<Inter>i\<le>n. A i))" |
1135 using A unfolding nhds_def |
1135 using A unfolding nhds_def |
1136 apply (intro INF_eq) |
1136 apply - |
|
1137 apply (rule INF_eq) |
1137 apply simp_all |
1138 apply simp_all |
1138 apply force |
1139 apply fastforce |
1139 apply (intro exI[of _ "\<Inter>i\<le>n. A i" for n] conjI open_INT) |
1140 apply (intro exI [of _ "\<Inter>i\<le>n. A i" for n] conjI open_INT) |
1140 apply auto |
1141 apply auto |
1141 done |
1142 done |
1142 qed |
1143 qed |
1143 qed |
1144 qed |
1144 |
1145 |
1462 "(\<And>s. s \<in> S \<Longrightarrow> open s) \<Longrightarrow> (\<And>s. s \<in> S \<Longrightarrow> continuous_on s f) \<Longrightarrow> continuous_on (\<Union>S) f" |
1463 "(\<And>s. s \<in> S \<Longrightarrow> open s) \<Longrightarrow> (\<And>s. s \<in> S \<Longrightarrow> continuous_on s f) \<Longrightarrow> continuous_on (\<Union>S) f" |
1463 unfolding continuous_on_def by safe (metis open_Union at_within_open UnionI) |
1464 unfolding continuous_on_def by safe (metis open_Union at_within_open UnionI) |
1464 |
1465 |
1465 lemma continuous_on_open_UN: |
1466 lemma continuous_on_open_UN: |
1466 "(\<And>s. s \<in> S \<Longrightarrow> open (A s)) \<Longrightarrow> (\<And>s. s \<in> S \<Longrightarrow> continuous_on (A s) f) \<Longrightarrow> continuous_on (\<Union>s\<in>S. A s) f" |
1467 "(\<And>s. s \<in> S \<Longrightarrow> open (A s)) \<Longrightarrow> (\<And>s. s \<in> S \<Longrightarrow> continuous_on (A s) f) \<Longrightarrow> continuous_on (\<Union>s\<in>S. A s) f" |
1467 unfolding Union_image_eq[symmetric] by (rule continuous_on_open_Union) auto |
1468 by (rule continuous_on_open_Union) auto |
1468 |
1469 |
1469 lemma continuous_on_open_Un: |
1470 lemma continuous_on_open_Un: |
1470 "open s \<Longrightarrow> open t \<Longrightarrow> continuous_on s f \<Longrightarrow> continuous_on t f \<Longrightarrow> continuous_on (s \<union> t) f" |
1471 "open s \<Longrightarrow> open t \<Longrightarrow> continuous_on s f \<Longrightarrow> continuous_on t f \<Longrightarrow> continuous_on (s \<union> t) f" |
1471 using continuous_on_open_Union [of "{s,t}"] by auto |
1472 using continuous_on_open_Union [of "{s,t}"] by auto |
1472 |
1473 |
1687 using assms unfolding compact_eq_heine_borel by metis |
1688 using assms unfolding compact_eq_heine_borel by metis |
1688 |
1689 |
1689 lemma compactE_image: |
1690 lemma compactE_image: |
1690 assumes "compact s" and "\<forall>t\<in>C. open (f t)" and "s \<subseteq> (\<Union>c\<in>C. f c)" |
1691 assumes "compact s" and "\<forall>t\<in>C. open (f t)" and "s \<subseteq> (\<Union>c\<in>C. f c)" |
1691 obtains C' where "C' \<subseteq> C" and "finite C'" and "s \<subseteq> (\<Union>c\<in>C'. f c)" |
1692 obtains C' where "C' \<subseteq> C" and "finite C'" and "s \<subseteq> (\<Union>c\<in>C'. f c)" |
1692 using assms unfolding ball_simps[symmetric] SUP_def |
1693 using assms unfolding ball_simps [symmetric] |
1693 by (metis (lifting) finite_subset_image compact_eq_heine_borel[of s]) |
1694 by (metis (lifting) finite_subset_image compact_eq_heine_borel[of s]) |
1694 |
1695 |
1695 lemma compact_inter_closed [intro]: |
1696 lemma compact_inter_closed [intro]: |
1696 assumes "compact s" and "closed t" |
1697 assumes "compact s" and "closed t" |
1697 shows "compact (s \<inter> t)" |
1698 shows "compact (s \<inter> t)" |