src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy
changeset 53077 a1b3784f8129
parent 53015 a1119cf551e8
child 53302 98fdf6c34142
equal deleted inserted replaced
53076:47c9aff07725 53077:a1b3784f8129
  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