src/HOL/Multivariate_Analysis/Ordered_Euclidean_Space.thy
changeset 61694 6571c78c9667
parent 61169 4de9ff3ea29a
child 61808 fc1556774cfe
equal deleted inserted replaced
61693:f6b9f528c89c 61694:6571c78c9667
   209   fixes a :: "'a::ordered_euclidean_space"
   209   fixes a :: "'a::ordered_euclidean_space"
   210   shows "convex {a .. b}"
   210   shows "convex {a .. b}"
   211   using convex_box[of a b]
   211   using convex_box[of a b]
   212   by (metis interval_cbox)
   212   by (metis interval_cbox)
   213 
   213 
   214 lemma image_affinity_interval: fixes m::real
       
   215   fixes a b c :: "'a::ordered_euclidean_space"
       
   216   shows "(\<lambda>x. m *\<^sub>R x + c) ` {a..b} =
       
   217     (if {a..b} = {} then {}
       
   218      else (if 0 \<le> m then {m *\<^sub>R a + c .. m *\<^sub>R b + c}
       
   219      else {m *\<^sub>R b + c .. m *\<^sub>R a + c}))"
       
   220   using image_affinity_cbox[of m c a b]
       
   221   by (simp add: cbox_interval)
       
   222 
       
   223 lemma image_smult_interval:"(\<lambda>x. m *\<^sub>R (x::_::ordered_euclidean_space)) ` {a .. b} =
   214 lemma image_smult_interval:"(\<lambda>x. m *\<^sub>R (x::_::ordered_euclidean_space)) ` {a .. b} =
   224   (if {a .. b} = {} then {} else if 0 \<le> m then {m *\<^sub>R a .. m *\<^sub>R b} else {m *\<^sub>R b .. m *\<^sub>R a})"
   215   (if {a .. b} = {} then {} else if 0 \<le> m then {m *\<^sub>R a .. m *\<^sub>R b} else {m *\<^sub>R b .. m *\<^sub>R a})"
   225   using image_smult_cbox[of m a b]
   216   using image_smult_cbox[of m a b]
   226   by (simp add: cbox_interval)
   217   by (simp add: cbox_interval)
   227 
   218