equal
deleted
inserted
replaced
2869 case False |
2869 case False |
2870 { fix x assume "x \<in> S" |
2870 { fix x assume "x \<in> S" |
2871 then obtain C where C: "x \<in> C" "C \<in> \<C>" |
2871 then obtain C where C: "x \<in> C" "C \<in> \<C>" |
2872 using \<open>S \<subseteq> \<Union>\<C>\<close> by blast |
2872 using \<open>S \<subseteq> \<Union>\<C>\<close> by blast |
2873 then obtain r where r: "r>0" "ball x (2*r) \<subseteq> C" |
2873 then obtain r where r: "r>0" "ball x (2*r) \<subseteq> C" |
2874 by (metis mult.commute mult_2_right not_le ope openE real_sum_of_halves zero_le_numeral zero_less_mult_iff) |
2874 by (metis mult.commute mult_2_right not_le ope openE field_sum_of_halves zero_le_numeral zero_less_mult_iff) |
2875 then have "\<exists>r C. r > 0 \<and> ball x (2*r) \<subseteq> C \<and> C \<in> \<C>" |
2875 then have "\<exists>r C. r > 0 \<and> ball x (2*r) \<subseteq> C \<and> C \<in> \<C>" |
2876 using C by blast |
2876 using C by blast |
2877 } |
2877 } |
2878 then obtain r where r: "\<And>x. x \<in> S \<Longrightarrow> r x > 0 \<and> (\<exists>C \<in> \<C>. ball x (2*r x) \<subseteq> C)" |
2878 then obtain r where r: "\<And>x. x \<in> S \<Longrightarrow> r x > 0 \<and> (\<exists>C \<in> \<C>. ball x (2*r x) \<subseteq> C)" |
2879 by metis |
2879 by metis |