4699 proof (clarsimp simp add: dist_norm norm_minus_commute) |
4699 proof (clarsimp simp add: dist_norm norm_minus_commute) |
4700 fix x |
4700 fix x |
4701 assume x: "norm (x - a) \<le> r" and "x \<in> T" |
4701 assume x: "norm (x - a) \<le> r" and "x \<in> T" |
4702 have "\<exists>v \<in> {0..1}. ((1 - v) * r - norm ((x - a) - v *\<^sub>R (u - a))) \<bullet> 1 = 0" |
4702 have "\<exists>v \<in> {0..1}. ((1 - v) * r - norm ((x - a) - v *\<^sub>R (u - a))) \<bullet> 1 = 0" |
4703 by (rule ivt_decreasing_component_on_1) (auto simp: x continuous_intros) |
4703 by (rule ivt_decreasing_component_on_1) (auto simp: x continuous_intros) |
4704 then obtain v where "0\<le>v" "v\<le>1" and v: "(1 - v) * r = norm ((x - a) - v *\<^sub>R (u - a))" |
4704 then obtain v where "0 \<le> v" "v \<le> 1" |
|
4705 and v: "(1 - v) * r = norm ((x - a) - v *\<^sub>R (u - a))" |
4705 by auto |
4706 by auto |
|
4707 then have n: "norm (a - (x - v *\<^sub>R (u - a))) = r - r * v" |
|
4708 by (simp add: field_simps norm_minus_commute) |
4706 show "x \<in> f ` (cball a r \<inter> T)" |
4709 show "x \<in> f ` (cball a r \<inter> T)" |
4707 proof (rule image_eqI) |
4710 proof (rule image_eqI) |
4708 show "x = f (x - v *\<^sub>R (u - a))" |
4711 show "x = f (x - v *\<^sub>R (u - a))" |
4709 using \<open>r > 0\<close> v by (simp add: f_def field_simps) |
4712 using \<open>r > 0\<close> v by (simp add: f_def) (simp add: field_simps) |
4710 have "x - v *\<^sub>R (u - a) \<in> cball a r" |
4713 have "x - v *\<^sub>R (u - a) \<in> cball a r" |
4711 using \<open>r > 0\<close> v \<open>0 \<le> v\<close> |
4714 using \<open>r > 0\<close>\<open>0 \<le> v\<close> |
4712 apply (simp add: field_simps dist_norm norm_minus_commute) |
4715 by (simp add: dist_norm n) |
4713 by (metis le_add_same_cancel2 order.order_iff_strict zero_le_mult_iff) |
|
4714 moreover have "x - v *\<^sub>R (u - a) \<in> T" |
4716 moreover have "x - v *\<^sub>R (u - a) \<in> T" |
4715 by (simp add: f_def \<open>affine T\<close> \<open>u \<in> T\<close> \<open>x \<in> T\<close> assms mem_affine_3_minus2) |
4717 by (simp add: f_def \<open>affine T\<close> \<open>u \<in> T\<close> \<open>x \<in> T\<close> assms mem_affine_3_minus2) |
4716 ultimately show "x - v *\<^sub>R (u - a) \<in> cball a r \<inter> T" |
4718 ultimately show "x - v *\<^sub>R (u - a) \<in> cball a r \<inter> T" |
4717 by blast |
4719 by blast |
4718 qed |
4720 qed |