diff -r f9bf65d90b69 -r 58a77f548bb6 src/HOL/Analysis/Path_Connected.thy --- a/src/HOL/Analysis/Path_Connected.thy Thu Dec 27 19:48:41 2018 +0100 +++ b/src/HOL/Analysis/Path_Connected.thy Thu Dec 27 22:54:17 2018 +0100 @@ -132,6 +132,7 @@ using assms inj_on_eq_iff [of f] by (auto simp: arc_def inj_on_def path_linear_image_eq) + subsection%unimportant\Basic lemmas about paths\ lemma continuous_on_path: "path f \ t \ {0..1} \ continuous_on t f" @@ -293,6 +294,7 @@ done qed + section%unimportant \Path Images\ lemma bounded_path_image: "path g \ bounded(path_image g)" @@ -937,6 +939,7 @@ lemma join_subpaths_middle: "subpath (0) ((1 / 2)) p +++ subpath ((1 / 2)) 1 p = p" by (rule ext) (simp add: joinpaths_def subpath_def divide_simps) + subsection%unimportant\There is a subpath to the frontier\ lemma subpath_to_frontier_explicit: @@ -1053,7 +1056,8 @@ done qed -subsection \shiftpath: Reparametrizing a closed curve to start at some chosen point\ + +subsection \Shift Path to Start at Some Given Point\ definition%important shiftpath :: "real \ (real \ 'a::topological_space) \ real \ 'a" where "shiftpath a f = (\x. if (a + x) \ 1 then f (a + x) else f (a + x - 1))" @@ -1164,7 +1168,8 @@ by (force split: if_split_asm dest!: *) qed -subsection \Special case of straight-line paths\ + +subsection \Straight-Line Paths\ definition%important linepath :: "'a::real_normed_vector \ 'a \ real \ 'a" where "linepath a b = (\x. (1 - x) *\<^sub>R a + x *\<^sub>R b)" @@ -1385,6 +1390,7 @@ by (force simp: inj_on_def) qed + subsection%unimportant \Bounding a point away from a path\ lemma not_on_path_ball: @@ -1416,7 +1422,7 @@ qed -section \Path component, considered as a "joinability" relation\ +section \Path component\ text \(by Tom Hales)\ @@ -1472,7 +1478,6 @@ unfolding path_component_def by (rule_tac x="linepath a b" in exI, auto) - subsubsection%unimportant \Path components as sets\ lemma path_component_set: @@ -1495,6 +1500,7 @@ "y \ path_component_set s x \ path_component_set s y = path_component_set s x" by (metis (no_types, lifting) Collect_cong mem_Collect_eq path_component_sym path_component_trans) + subsection \Path connectedness of a space\ definition%important "path_connected s \ @@ -1804,6 +1810,7 @@ using path_component_eq_empty by auto qed + subsection%unimportant\Lemmas about path-connectedness\ lemma path_connected_linear_image: @@ -2523,7 +2530,7 @@ by (meson cobounded_unique_unbounded_components connected_eq_connected_components_eq assms) -section\The "inside" and "outside" of a set\ +section\The \inside\ and \outside\ of a set\ text%important\The inside comprises the points in a bounded connected component of the set's complement. The outside comprises the points in unbounded connected component of the complement.\ @@ -3324,6 +3331,7 @@ apply (metis cobounded_unique_unbounded_components connected_outside double_compl outside_bounded_nonempty outside_in_components unbounded_outside) by (simp add: connected_outside outside_bounded_nonempty outside_in_components unbounded_outside) + subsection\Condition for an open map's image to contain a ball\ proposition ball_subset_open_map_image: @@ -3377,6 +3385,7 @@ by (metis dw_le norm_minus_commute not_less order_trans rle wy) qed + section\ Homotopy of maps p,q : X=>Y with property P of all intermediate maps\ text%important\ We often just want to require that it fixes some subset, but to take in @@ -3888,6 +3897,7 @@ apply (auto simp: pathstart_def pathfinish_def elim!: homotopic_with_mono) done + subsection\Group properties for homotopy of paths\ text%important\So taking equivalence classes under homotopy would give the fundamental group\ @@ -4278,6 +4288,7 @@ by (metis atLeastAtMost_iff imageI le_less_trans not_le path_image_def) qed + subsection\ Homotopy and subpaths\ lemma homotopic_join_subpaths1: @@ -4834,6 +4845,7 @@ done qed + subsection\Local versions of topological properties in general\ definition%important locally :: "('a::topological_space set \ bool) \ 'a set \ bool" @@ -5065,6 +5077,7 @@ done qed + subsection\An induction principle for connected sets\ proposition connected_induction: @@ -5511,6 +5524,7 @@ by (metis open_openin openin_topspace subtopology_superset top.extremum topspace_euclidean_subtopology) qed + subsection\Sura-Bura's results about compact components of sets\ proposition Sura_Bura_compact: @@ -6541,6 +6555,7 @@ finally show ?thesis . qed + subsection\Retracts, in a general sense, preserve (co)homotopic triviality)\ locale%important Retracts = @@ -6707,6 +6722,7 @@ "S homeomorphic T \ (simply_connected S \ simply_connected T)" by (metis homeomorphic_simply_connected homeomorphic_sym) + subsection\Homotopy equivalence\ definition%important homotopy_eqv :: "'a::topological_space set \ 'b::topological_space set \ bool" @@ -6997,6 +7013,7 @@ shows "\contractible S; S homeomorphic T\ \ contractible T" by (metis homeomorphic_contractible_eq) + subsection%unimportant\Misc other results\ lemma bounded_connected_Compl_real: @@ -7041,6 +7058,7 @@ by blast qed + subsection%unimportant\Some Uncountable Sets\ lemma uncountable_closed_segment: @@ -7868,7 +7886,6 @@ using homeomorphism_moving_points_exists_gen [OF \finite K\ KS pw _ ope S] that by fastforce qed - subsubsection%unimportant\The theorem \homeomorphism_grouping_points_exists\\ lemma homeomorphism_grouping_point_1: @@ -8337,6 +8354,7 @@ qed qed + subsection\Nullhomotopic mappings\ text\ A mapping out of a sphere is nullhomotopic iff it extends to the ball.