equal
deleted
inserted
replaced
140 subsection \<open>The key "counting" observation, somewhat abstracted.\<close> |
140 subsection \<open>The key "counting" observation, somewhat abstracted.\<close> |
141 |
141 |
142 lemma kuhn_counting_lemma: |
142 lemma kuhn_counting_lemma: |
143 fixes bnd compo compo' face S F |
143 fixes bnd compo compo' face S F |
144 defines "nF s == card {f\<in>F. face f s \<and> compo' f}" |
144 defines "nF s == card {f\<in>F. face f s \<and> compo' f}" |
145 assumes [simp, intro]: "finite F" -- "faces" and [simp, intro]: "finite S" -- "simplices" |
145 assumes [simp, intro]: "finite F" \<comment> "faces" and [simp, intro]: "finite S" \<comment> "simplices" |
146 and "\<And>f. f \<in> F \<Longrightarrow> bnd f \<Longrightarrow> card {s\<in>S. face f s} = 1" |
146 and "\<And>f. f \<in> F \<Longrightarrow> bnd f \<Longrightarrow> card {s\<in>S. face f s} = 1" |
147 and "\<And>f. f \<in> F \<Longrightarrow> \<not> bnd f \<Longrightarrow> card {s\<in>S. face f s} = 2" |
147 and "\<And>f. f \<in> F \<Longrightarrow> \<not> bnd f \<Longrightarrow> card {s\<in>S. face f s} = 2" |
148 and "\<And>s. s \<in> S \<Longrightarrow> compo s \<Longrightarrow> nF s = 1" |
148 and "\<And>s. s \<in> S \<Longrightarrow> compo s \<Longrightarrow> nF s = 1" |
149 and "\<And>s. s \<in> S \<Longrightarrow> \<not> compo s \<Longrightarrow> nF s = 0 \<or> nF s = 2" |
149 and "\<And>s. s \<in> S \<Longrightarrow> \<not> compo s \<Longrightarrow> nF s = 0 \<or> nF s = 2" |
150 and "odd (card {f\<in>F. compo' f \<and> bnd f})" |
150 and "odd (card {f\<in>F. compo' f \<and> bnd f})" |
1930 using brouwer_weak[OF compact_cball convex_cball, of a e f] |
1930 using brouwer_weak[OF compact_cball convex_cball, of a e f] |
1931 unfolding interior_cball ball_eq_empty |
1931 unfolding interior_cball ball_eq_empty |
1932 using assms by auto |
1932 using assms by auto |
1933 |
1933 |
1934 text \<open>Still more general form; could derive this directly without using the |
1934 text \<open>Still more general form; could derive this directly without using the |
1935 rather involved @{text "HOMEOMORPHIC_CONVEX_COMPACT"} theorem, just using |
1935 rather involved \<open>HOMEOMORPHIC_CONVEX_COMPACT\<close> theorem, just using |
1936 a scaling and translation to put the set inside the unit cube.\<close> |
1936 a scaling and translation to put the set inside the unit cube.\<close> |
1937 |
1937 |
1938 lemma brouwer: |
1938 lemma brouwer: |
1939 fixes f :: "'a::euclidean_space \<Rightarrow> 'a" |
1939 fixes f :: "'a::euclidean_space \<Rightarrow> 'a" |
1940 assumes "compact s" |
1940 assumes "compact s" |