src/HOL/Analysis/Jordan_Curve.thy
changeset 76874 d6b02d54dbf8
parent 73932 fd21b4a93043
child 78480 b22f39c54e8c
equal deleted inserted replaced
76838:04c7ec38874e 76874:d6b02d54dbf8
   201       by (simp_all add: v(3))
   201       by (simp_all add: v(3))
   202     show "pathfinish (subpath v 1 h) = a"
   202     show "pathfinish (subpath v 1 h) = a"
   203       by (metis \<open>pathfinish h = g u\<close> pathfinish_def pathfinish_subpath u(3))
   203       by (metis \<open>pathfinish h = g u\<close> pathfinish_def pathfinish_subpath u(3))
   204     show "path_image (subpath 0 v h) \<inter> path_image (subpath v 1 h) = {a, b}"
   204     show "path_image (subpath 0 v h) \<inter> path_image (subpath v 1 h) = {a, b}"
   205     proof
   205     proof
   206       show "path_image (subpath 0 v h) \<inter> path_image (subpath v 1 h) \<subseteq> {a, b}"
   206       have "loop_free h"
   207         using v  \<open>pathfinish (subpath v 1 h) = a\<close> \<open>simple_path h\<close>
   207         using \<open>simple_path h\<close> simple_path_def by blast
   208           apply (auto simp: simple_path_def path_image_subpath image_iff Ball_def)
   208       then show "path_image (subpath 0 v h) \<inter> path_image (subpath v 1 h) \<subseteq> {a, b}"
   209         by (metis (full_types) less_eq_real_def less_irrefl less_le_trans)
   209         using v \<open>pathfinish (subpath v 1 h) = a\<close>
       
   210         apply (clarsimp simp add: loop_free_def path_image_subpath Ball_def)
       
   211         by (smt (verit))
   210       show "{a, b} \<subseteq> path_image (subpath 0 v h) \<inter> path_image (subpath v 1 h)"
   212       show "{a, b} \<subseteq> path_image (subpath 0 v h) \<inter> path_image (subpath v 1 h)"
   211         using v \<open>pathstart (subpath 0 v h) = a\<close> \<open>pathfinish (subpath v 1 h) = a\<close>
   213         using v \<open>pathstart (subpath 0 v h) = a\<close> \<open>pathfinish (subpath v 1 h) = a\<close>
   212         apply (auto simp: path_image_subpath image_iff)
   214         by (auto simp: path_image_subpath image_iff Bex_def)
   213         by (metis atLeastAtMost_iff order_refl)
       
   214     qed
   215     qed
   215     show "path_image (subpath 0 v h) \<union> path_image (subpath v 1 h) = path_image g"
   216     show "path_image (subpath 0 v h) \<union> path_image (subpath v 1 h) = path_image g"
   216       using v apply (simp add: path_image_subpath pihg [symmetric])
   217       using v apply (simp add: path_image_subpath pihg [symmetric])
   217       using path_image_def by fastforce
   218       using path_image_def by fastforce
   218   qed
   219   qed