equal
deleted
inserted
replaced
405 from box_ne_empty(1)[of a b] assms have "(\<forall>i\<in>Basis. a \<bullet> i \<le> b \<bullet> i)" |
405 from box_ne_empty(1)[of a b] assms have "(\<forall>i\<in>Basis. a \<bullet> i \<le> b \<bullet> i)" |
406 by (simp add: cbox_def) |
406 by (simp add: cbox_def) |
407 hence "(\<Sum>i\<in>Basis. (dist (clamp a b y \<bullet> i) (clamp a b x \<bullet> i))\<^sup>2) |
407 hence "(\<Sum>i\<in>Basis. (dist (clamp a b y \<bullet> i) (clamp a b x \<bullet> i))\<^sup>2) |
408 \<le> (\<Sum>i\<in>Basis. (dist (y \<bullet> i) (x \<bullet> i))\<^sup>2)" |
408 \<le> (\<Sum>i\<in>Basis. (dist (y \<bullet> i) (x \<bullet> i))\<^sup>2)" |
409 by (auto intro!: setsum_mono |
409 by (auto intro!: setsum_mono |
410 simp add: clamp_def dist_real_def real_abs_le_square_iff[symmetric]) |
410 simp add: clamp_def dist_real_def abs_le_square_iff[symmetric]) |
411 thus ?thesis |
411 thus ?thesis |
412 by (auto intro: real_sqrt_le_mono |
412 by (auto intro: real_sqrt_le_mono |
413 simp add: euclidean_dist_l2[where y=x] euclidean_dist_l2[where y="clamp a b x"] setL2_def) |
413 simp add: euclidean_dist_l2[where y=x] euclidean_dist_l2[where y="clamp a b x"] setL2_def) |
414 qed |
414 qed |
415 |
415 |