src/HOL/Analysis/Path_Connected.thy
changeset 69518 bf88364c9e94
parent 69517 dc20f278e8f3
child 69565 1daf07b65385
--- a/src/HOL/Analysis/Path_Connected.thy	Fri Dec 28 10:29:59 2018 +0100
+++ b/src/HOL/Analysis/Path_Connected.thy	Fri Dec 28 18:53:19 2018 +0100
@@ -2,7 +2,7 @@
     Authors:    LC Paulson and Robert Himmelmann (TU Muenchen), based on material from HOL Light
 *)
 
-section \<open>Continuous Paths and Path-Connected Sets\<close>
+section \<open>Continuous Paths\<close>
 
 theory Path_Connected
   imports Continuous_Extension Continuum_Not_Denumerable
@@ -759,7 +759,7 @@
 by (simp add: path_image_join sup_commute)
 
 
-section\<open>Choosing a subpath of an existing path\<close>
+subsection\<open>Subpath\<close>
 
 definition%important subpath :: "real \<Rightarrow> real \<Rightarrow> (real \<Rightarrow> 'a) \<Rightarrow> real \<Rightarrow> 'a::real_normed_vector"
   where "subpath a b g \<equiv> \<lambda>x. g((b - a) * x + a)"
@@ -1421,16 +1421,17 @@
     by (rule_tac x="e/2" in exI) auto
 qed
 
-
-section \<open>Path component\<close>
-
-text \<open>(by Tom Hales)\<close>
+section "Path-Connectedness" (* TODO: separate theory? *)
+
+subsection \<open>Path component\<close>
+
+text \<open>Original formalization by Tom Hales\<close>
 
 definition%important "path_component s x y \<longleftrightarrow>
   (\<exists>g. path g \<and> path_image g \<subseteq> s \<and> pathstart g = x \<and> pathfinish g = y)"
 
 abbreviation%important
-   "path_component_set s x \<equiv> Collect (path_component s x)"
+  "path_component_set s x \<equiv> Collect (path_component s x)"
 
 lemmas path_defs = path_def pathstart_def pathfinish_def path_image_def path_component_def
 
@@ -3386,10 +3387,8 @@
 qed
 
 
-section\<open> Homotopy of maps p,q : X=>Y with property P of all intermediate maps\<close>
-
-text%important\<open> We often just want to require that it fixes some subset, but to take in
-  the case of a loop homotopy, it's convenient to have a general property P.\<close>
+section \<open>Homotopy of Maps\<close> (* TODO separate theory? *)
+
 
 definition%important homotopic_with ::
   "[('a::topological_space \<Rightarrow> 'b::topological_space) \<Rightarrow> bool, 'a set, 'b set, 'a \<Rightarrow> 'b, 'a \<Rightarrow> 'b] \<Rightarrow> bool"
@@ -3403,7 +3402,11 @@
        (\<forall>t \<in> {0..1}. P(\<lambda>x. h(t, x))))"
 
 
-text\<open> We often want to just localize the ending function equality or whatever.\<close>
+text\<open>$p, q$ are functions $X \to Y$, and the property $P$ restricts all intermediate maps.
+We often just want to require that $P$ fixes some subset, but to include the case of a loop homotopy,
+it is convenient to have a general property $P$.\<close>
+
+text \<open>We often want to just localize the ending function equality or whatever.\<close>
 proposition homotopic_with:
   fixes X :: "'a::topological_space set" and Y :: "'b::topological_space set"
   assumes "\<And>h k. (\<And>x. x \<in> X \<Longrightarrow> h x = k x) \<Longrightarrow> (P h \<longleftrightarrow> P k)"
@@ -7463,7 +7466,7 @@
 
 
 
-subsection\<open>Self-homeomorphisms shuffling points about\<close>
+subsection%unimportant \<open>Self-homeomorphisms shuffling points about\<close>
 
 subsubsection%unimportant\<open>The theorem \<open>homeomorphism_moving_points_exists\<close>\<close>
 
@@ -7595,7 +7598,7 @@
     done
 qed
 
-corollary homeomorphism_moving_point_2:
+corollary%unimportant homeomorphism_moving_point_2:
   fixes a :: "'a::euclidean_space"
   assumes "affine T" "a \<in> T" and u: "u \<in> ball a r \<inter> T" and v: "v \<in> ball a r \<inter> T"
   obtains f g where "homeomorphism (cball a r \<inter> T) (cball a r \<inter> T) f g"
@@ -7623,7 +7626,7 @@
 qed
 
 
-corollary homeomorphism_moving_point_3:
+corollary%unimportant homeomorphism_moving_point_3:
   fixes a :: "'a::euclidean_space"
   assumes "affine T" "a \<in> T" and ST: "ball a r \<inter> T \<subseteq> S" "S \<subseteq> T"
       and u: "u \<in> ball a r \<inter> T" and v: "v \<in> ball a r \<inter> T"
@@ -7701,7 +7704,7 @@
 qed
 
 
-proposition homeomorphism_moving_point:
+proposition%unimportant homeomorphism_moving_point:
   fixes a :: "'a::euclidean_space"
   assumes ope: "openin (subtopology euclidean (affine hull S)) S"
       and "S \<subseteq> T"
@@ -7857,7 +7860,7 @@
   qed
 qed
 
-proposition homeomorphism_moving_points_exists:
+proposition%unimportant homeomorphism_moving_points_exists:
   fixes S :: "'a::euclidean_space set"
   assumes 2: "2 \<le> DIM('a)" "open S" "connected S" "S \<subseteq> T" "finite K"
       and KS: "\<And>i. i \<in> K \<Longrightarrow> x i \<in> S \<and> y i \<in> S"
@@ -8123,7 +8126,7 @@
   qed
 qed
 
-proposition homeomorphism_grouping_points_exists:
+proposition%unimportant homeomorphism_grouping_points_exists:
   fixes S :: "'a::euclidean_space set"
   assumes "open U" "open S" "connected S" "U \<noteq> {}" "finite K" "K \<subseteq> S" "U \<subseteq> S" "S \<subseteq> T"
   obtains f g where "homeomorphism T T f g" "{x. (\<not> (f x = x \<and> g x = x))} \<subseteq> S"
@@ -8202,7 +8205,7 @@
 qed
 
 
-proposition homeomorphism_grouping_points_exists_gen:
+proposition%unimportant homeomorphism_grouping_points_exists_gen:
   fixes S :: "'a::euclidean_space set"
   assumes opeU: "openin (subtopology euclidean S) U"
       and opeS: "openin (subtopology euclidean (affine hull S)) S"