src/HOL/Analysis/Function_Topology.thy
changeset 65036 ab7e11730ad8
parent 64911 f0e07600de47
child 66827 c94531b5007d
equal deleted inserted replaced
65035:b46fe5138cb0 65036:ab7e11730ad8
   965     by (rule choice, auto simp add: *)
   965     by (rule choice, auto simp add: *)
   966   then obtain e where "\<And>i. e i > 0" "\<And>i. e i < 1" "\<And>i. ball (x i) (e i) \<subseteq> X i"
   966   then obtain e where "\<And>i. e i > 0" "\<And>i. e i < 1" "\<And>i. ball (x i) (e i) \<subseteq> X i"
   967     by blast
   967     by blast
   968   define m where "m = Min {(1/2)^(to_nat i) * e i|i. i \<in> I}"
   968   define m where "m = Min {(1/2)^(to_nat i) * e i|i. i \<in> I}"
   969   have "m > 0" if "I\<noteq>{}"
   969   have "m > 0" if "I\<noteq>{}"
   970     unfolding m_def apply (rule Min_grI) using \<open>finite I\<close> \<open>I \<noteq> {}\<close> \<open>\<And>i. e i > 0\<close> by auto
   970     unfolding m_def Min_gr_iff using \<open>finite I\<close> \<open>I \<noteq> {}\<close> \<open>\<And>i. e i > 0\<close> by auto
   971   moreover have "{y. dist x y < m} \<subseteq> U"
   971   moreover have "{y. dist x y < m} \<subseteq> U"
   972   proof (auto)
   972   proof (auto)
   973     fix y assume "dist x y < m"
   973     fix y assume "dist x y < m"
   974     have "y i \<in> X i" if "i \<in> I" for i
   974     have "y i \<in> X i" if "i \<in> I" for i
   975     proof -
   975     proof -