equal
deleted
inserted
replaced
5 |
5 |
6 header {* Convex sets, functions and related things. *} |
6 header {* Convex sets, functions and related things. *} |
7 |
7 |
8 theory Convex_Euclidean_Space |
8 theory Convex_Euclidean_Space |
9 imports |
9 imports |
10 Ordered_Euclidean_Space |
10 Topology_Euclidean_Space |
11 "~~/src/HOL/Library/Convex" |
11 "~~/src/HOL/Library/Convex" |
12 "~~/src/HOL/Library/Set_Algebras" |
12 "~~/src/HOL/Library/Set_Algebras" |
13 begin |
13 begin |
14 |
14 |
15 |
15 |
3367 shows "rel_interior {a .. b} = {a <..< b}" |
3367 shows "rel_interior {a .. b} = {a <..< b}" |
3368 proof - |
3368 proof - |
3369 have "box a b \<noteq> {}" |
3369 have "box a b \<noteq> {}" |
3370 using assms |
3370 using assms |
3371 unfolding set_eq_iff |
3371 unfolding set_eq_iff |
3372 by (auto intro!: exI[of _ "(a + b) / 2"] simp: box) |
3372 by (auto intro!: exI[of _ "(a + b) / 2"] simp: box_def) |
3373 then show ?thesis |
3373 then show ?thesis |
3374 using interior_rel_interior_gen[of "cbox a b", symmetric] |
3374 using interior_rel_interior_gen[of "cbox a b", symmetric] |
3375 by (simp split: split_if_asm del: box_real add: box_real[symmetric] interior_cbox) |
3375 by (simp split: split_if_asm del: box_real add: box_real[symmetric] interior_cbox) |
3376 qed |
3376 qed |
3377 |
3377 |
5670 shows "is_interval s \<Longrightarrow> connected s" |
5670 shows "is_interval s \<Longrightarrow> connected s" |
5671 using is_interval_convex convex_connected by auto |
5671 using is_interval_convex convex_connected by auto |
5672 |
5672 |
5673 lemma convex_box: "convex (cbox a b)" "convex (box a (b::'a::euclidean_space))" |
5673 lemma convex_box: "convex (cbox a b)" "convex (box a (b::'a::euclidean_space))" |
5674 apply (rule_tac[!] is_interval_convex)+ |
5674 apply (rule_tac[!] is_interval_convex)+ |
5675 using is_interval_interval |
5675 using is_interval_box is_interval_cbox |
5676 apply auto |
5676 apply auto |
5677 done |
5677 done |
5678 |
5678 |
5679 subsection {* On @{text "real"}, @{text "is_interval"}, @{text "convex"} and @{text "connected"} are all equivalent. *} |
5679 subsection {* On @{text "real"}, @{text "is_interval"}, @{text "convex"} and @{text "connected"} are all equivalent. *} |
5680 |
5680 |