equal
deleted
inserted
replaced
2727 using True \<open>finite S\<close> aff_dim_le_card affine_independent_iff_card by fastforce |
2727 using True \<open>finite S\<close> aff_dim_le_card affine_independent_iff_card by fastforce |
2728 then obtain a where "a \<in> S" "a \<notin> T" |
2728 then obtain a where "a \<in> S" "a \<notin> T" |
2729 using \<open>T \<subseteq> S\<close> by blast |
2729 using \<open>T \<subseteq> S\<close> by blast |
2730 then have "\<exists>y\<in>S. x \<in> convex hull (S - {y})" |
2730 then have "\<exists>y\<in>S. x \<in> convex hull (S - {y})" |
2731 using True affine_independent_iff_card [of S] |
2731 using True affine_independent_iff_card [of S] |
2732 by (metis (no_types, hide_lams) Diff_eq_empty_iff Diff_insert0 \<open>a \<notin> T\<close> \<open>T \<subseteq> S\<close> \<open>x \<in> convex hull T\<close> hull_mono insert_Diff_single subsetCE) |
2732 by (metis (no_types, opaque_lifting) Diff_eq_empty_iff Diff_insert0 \<open>a \<notin> T\<close> \<open>T \<subseteq> S\<close> \<open>x \<in> convex hull T\<close> hull_mono insert_Diff_single subsetCE) |
2733 } note * = this |
2733 } note * = this |
2734 have 1: "convex hull S \<subseteq> (\<Union> a\<in>S. convex hull (S - {a}))" |
2734 have 1: "convex hull S \<subseteq> (\<Union> a\<in>S. convex hull (S - {a}))" |
2735 by (subst caratheodory_aff_dim) (blast dest: *) |
2735 by (subst caratheodory_aff_dim) (blast dest: *) |
2736 have 2: "\<Union>((\<lambda>a. convex hull (S - {a})) ` S) \<subseteq> convex hull S" |
2736 have 2: "\<Union>((\<lambda>a. convex hull (S - {a})) ` S) \<subseteq> convex hull S" |
2737 by (rule Union_least) (metis (no_types, lifting) Diff_subset hull_mono imageE) |
2737 by (rule Union_least) (metis (no_types, lifting) Diff_subset hull_mono imageE) |
3042 lemma simplex_imp_polyhedron: |
3042 lemma simplex_imp_polyhedron: |
3043 "n simplex S \<Longrightarrow> polyhedron S" |
3043 "n simplex S \<Longrightarrow> polyhedron S" |
3044 by (simp add: polytope_imp_polyhedron simplex_imp_polytope) |
3044 by (simp add: polytope_imp_polyhedron simplex_imp_polytope) |
3045 |
3045 |
3046 lemma simplex_dim_ge: "n simplex S \<Longrightarrow> -1 \<le> n" |
3046 lemma simplex_dim_ge: "n simplex S \<Longrightarrow> -1 \<le> n" |
3047 by (metis (no_types, hide_lams) aff_dim_geq affine_independent_iff_card diff_add_cancel diff_diff_eq2 simplex_def) |
3047 by (metis (no_types, opaque_lifting) aff_dim_geq affine_independent_iff_card diff_add_cancel diff_diff_eq2 simplex_def) |
3048 |
3048 |
3049 lemma simplex_empty [simp]: "n simplex {} \<longleftrightarrow> n = -1" |
3049 lemma simplex_empty [simp]: "n simplex {} \<longleftrightarrow> n = -1" |
3050 proof |
3050 proof |
3051 assume "n simplex {}" |
3051 assume "n simplex {}" |
3052 then show "n = -1" |
3052 then show "n = -1" |