equal
deleted
inserted
replaced
1 (* Title: Convex |
1 (* Title: HOL/Library/Convex_Euclidean_Space.thy |
2 ID: $Id: |
2 Author: Robert Himmelmann, TU Muenchen |
3 Author: Robert Himmelmann, TU Muenchen*) |
3 *) |
4 |
4 |
5 header {* Convex sets, functions and related things. *} |
5 header {* Convex sets, functions and related things. *} |
6 |
6 |
7 theory Convex_Euclidean_Space |
7 theory Convex_Euclidean_Space |
8 imports Topology_Euclidean_Space |
8 imports Topology_Euclidean_Space |
2194 using is_interval_convex convex_connected by auto |
2194 using is_interval_convex convex_connected by auto |
2195 |
2195 |
2196 lemma convex_interval: "convex {a .. b}" "convex {a<..<b::real^'n::finite}" |
2196 lemma convex_interval: "convex {a .. b}" "convex {a<..<b::real^'n::finite}" |
2197 apply(rule_tac[!] is_interval_convex) using is_interval_interval by auto |
2197 apply(rule_tac[!] is_interval_convex) using is_interval_interval by auto |
2198 |
2198 |
2199 subsection {* On real^1, is_interval, convex and connected are all equivalent. *} |
2199 subsection {* On @{text "real^1"}, @{text "is_interval"}, @{text "convex"} and @{text "connected"} are all equivalent. *} |
2200 |
2200 |
2201 lemma is_interval_1: |
2201 lemma is_interval_1: |
2202 "is_interval s \<longleftrightarrow> (\<forall>a\<in>s. \<forall>b\<in>s. \<forall> x. dest_vec1 a \<le> dest_vec1 x \<and> dest_vec1 x \<le> dest_vec1 b \<longrightarrow> x \<in> s)" |
2202 "is_interval s \<longleftrightarrow> (\<forall>a\<in>s. \<forall>b\<in>s. \<forall> x. dest_vec1 a \<le> dest_vec1 x \<and> dest_vec1 x \<le> dest_vec1 b \<longrightarrow> x \<in> s)" |
2203 unfolding is_interval_def dest_vec1_def forall_1 by auto |
2203 unfolding is_interval_def dest_vec1_def forall_1 by auto |
2204 |
2204 |