equal
deleted
inserted
replaced
1196 |
1196 |
1197 proposition connected_open_polynomial_connected: |
1197 proposition connected_open_polynomial_connected: |
1198 fixes S :: "'a::euclidean_space set" |
1198 fixes S :: "'a::euclidean_space set" |
1199 assumes S: "open S" "connected S" |
1199 assumes S: "open S" "connected S" |
1200 and "x \<in> S" "y \<in> S" |
1200 and "x \<in> S" "y \<in> S" |
1201 obtains g where "polynomial_function g" "path_image g \<subseteq> S" "pathstart g = x" "pathfinish g = y" |
1201 shows "\<exists>g. polynomial_function g \<and> path_image g \<subseteq> S \<and> pathstart g = x \<and> pathfinish g = y" |
1202 proof - |
1202 proof - |
1203 have "path_connected S" using assms |
1203 have "path_connected S" using assms |
1204 by (simp add: connected_open_path_connected) |
1204 by (simp add: connected_open_path_connected) |
1205 with \<open>x \<in> S\<close> \<open>y \<in> S\<close> obtain p where p: "path p" "path_image p \<subseteq> S" "pathstart p = x" "pathfinish p = y" |
1205 with \<open>x \<in> S\<close> \<open>y \<in> S\<close> obtain p where p: "path p" "path_image p \<subseteq> S" "pathstart p = x" "pathfinish p = y" |
1206 by (force simp: path_connected_def) |
1206 by (force simp: path_connected_def) |
1222 then obtain e where "0 < e"and eb: "\<And>x. x \<in> path_image p \<Longrightarrow> ball x e \<subseteq> S" |
1222 then obtain e where "0 < e"and eb: "\<And>x. x \<in> path_image p \<Longrightarrow> ball x e \<subseteq> S" |
1223 by auto |
1223 by auto |
1224 obtain pf where "polynomial_function pf" and pf: "pathstart pf = pathstart p" "pathfinish pf = pathfinish p" |
1224 obtain pf where "polynomial_function pf" and pf: "pathstart pf = pathstart p" "pathfinish pf = pathfinish p" |
1225 and pf_e: "\<And>t. t \<in> {0..1} \<Longrightarrow> norm(pf t - p t) < e" |
1225 and pf_e: "\<And>t. t \<in> {0..1} \<Longrightarrow> norm(pf t - p t) < e" |
1226 using path_approx_polynomial_function [OF \<open>path p\<close> \<open>0 < e\<close>] by blast |
1226 using path_approx_polynomial_function [OF \<open>path p\<close> \<open>0 < e\<close>] by blast |
1227 show thesis |
1227 show ?thesis |
1228 proof |
1228 proof (intro exI conjI) |
1229 show "polynomial_function pf" |
1229 show "polynomial_function pf" |
1230 by fact |
1230 by fact |
1231 show "pathstart pf = x" "pathfinish pf = y" |
1231 show "pathstart pf = x" "pathfinish pf = y" |
1232 by (simp_all add: p pf) |
1232 by (simp_all add: p pf) |
1233 show "path_image pf \<subseteq> S" |
1233 show "path_image pf \<subseteq> S" |