equal
deleted
inserted
replaced
3359 assume "\<exists>u>0. u \<le> 1 \<and> dist (y + u *\<^sub>R (x - y)) z < dist y z" |
3359 assume "\<exists>u>0. u \<le> 1 \<and> dist (y + u *\<^sub>R (x - y)) z < dist y z" |
3360 then obtain u where "u>0" "u\<le>1" "dist (y + u *\<^sub>R (x - y)) z < dist y z" by auto |
3360 then obtain u where "u>0" "u\<le>1" "dist (y + u *\<^sub>R (x - y)) z < dist y z" by auto |
3361 thus False using y[THEN bspec[where x="y + u *\<^sub>R (x - y)"]] |
3361 thus False using y[THEN bspec[where x="y + u *\<^sub>R (x - y)"]] |
3362 using assms(1)[unfolded convex_alt, THEN bspec[where x=y]] |
3362 using assms(1)[unfolded convex_alt, THEN bspec[where x=y]] |
3363 using `x\<in>s` `y\<in>s` by (auto simp add: dist_commute algebra_simps) qed |
3363 using `x\<in>s` `y\<in>s` by (auto simp add: dist_commute algebra_simps) qed |
3364 moreover have "0 < norm (y - z) ^ 2" using `y\<in>s` `z\<notin>s` by auto |
3364 moreover have "0 < (norm (y - z))\<^sup>2" using `y\<in>s` `z\<notin>s` by auto |
3365 hence "0 < inner (y - z) (y - z)" unfolding power2_norm_eq_inner by simp |
3365 hence "0 < inner (y - z) (y - z)" unfolding power2_norm_eq_inner by simp |
3366 ultimately show "inner (y - z) z + (norm (y - z))\<^sup>2 / 2 < inner (y - z) x" |
3366 ultimately show "inner (y - z) z + (norm (y - z))\<^sup>2 / 2 < inner (y - z) x" |
3367 unfolding power2_norm_eq_inner and not_less by (auto simp add: field_simps inner_commute inner_diff) |
3367 unfolding power2_norm_eq_inner and not_less by (auto simp add: field_simps inner_commute inner_diff) |
3368 qed(insert `y\<in>s` `z\<notin>s`, auto) |
3368 qed(insert `y\<in>s` `z\<notin>s`, auto) |
3369 qed |
3369 qed |