6354 by (auto simp add:norm_minus_commute) |
6354 by (auto simp add:norm_minus_commute) |
6355 |
6355 |
6356 lemma segment_refl: "closed_segment a a = {a}" |
6356 lemma segment_refl: "closed_segment a a = {a}" |
6357 unfolding segment by (auto simp add: algebra_simps) |
6357 unfolding segment by (auto simp add: algebra_simps) |
6358 |
6358 |
|
6359 lemma closed_segment_commute: "closed_segment a b = closed_segment b a" |
|
6360 proof - |
|
6361 have "{a, b} = {b, a}" by auto |
|
6362 thus ?thesis |
|
6363 by (simp add: segment_convex_hull) |
|
6364 qed |
|
6365 |
|
6366 lemma closed_segment_eq_real_ivl: |
|
6367 fixes a b::real |
|
6368 shows "closed_segment a b = (if a \<le> b then {a .. b} else {b .. a})" |
|
6369 proof - |
|
6370 have "b \<le> a \<Longrightarrow> closed_segment b a = {b .. a}" |
|
6371 and "a \<le> b \<Longrightarrow> closed_segment a b = {a .. b}" |
|
6372 by (auto simp: convex_hull_eq_real_cbox segment_convex_hull) |
|
6373 thus ?thesis |
|
6374 by (auto simp: closed_segment_commute) |
|
6375 qed |
|
6376 |
6359 lemma between_mem_segment: "between (a,b) x \<longleftrightarrow> x \<in> closed_segment a b" |
6377 lemma between_mem_segment: "between (a,b) x \<longleftrightarrow> x \<in> closed_segment a b" |
6360 unfolding between_def by auto |
6378 unfolding between_def by auto |
6361 |
6379 |
6362 lemma between: "between (a, b) (x::'a::euclidean_space) \<longleftrightarrow> dist a b = (dist a x) + (dist x b)" |
6380 lemma between: "between (a, b) (x::'a::euclidean_space) \<longleftrightarrow> dist a b = (dist a x) + (dist x b)" |
6363 proof (cases "a = b") |
6381 proof (cases "a = b") |