diff -r eddcc7c726f3 -r 4a9167f377b0 src/HOL/Analysis/Continuous_Extension.thy --- a/src/HOL/Analysis/Continuous_Extension.thy Mon Mar 18 15:35:34 2019 +0000 +++ b/src/HOL/Analysis/Continuous_Extension.thy Tue Mar 19 16:14:51 2019 +0000 @@ -33,7 +33,7 @@ by (simp add: supp_sum_def sum_nonneg) have sd_pos: "0 < setdist {x} (S - V)" if "V \ \" "x \ S" "x \ V" for V x proof - - have "closedin (subtopology euclidean S) (S - V)" + have "closedin (top_of_set S) (S - V)" by (simp add: Diff_Diff_Int closedin_def opC openin_open_Int \V \ \\) with that False setdist_pos_le [of "{x}" "S - V"] show ?thesis @@ -67,7 +67,7 @@ fix x assume "x \ S" then obtain X where "open X" and x: "x \ S \ X" and finX: "finite {U \ \. U \ X \ {}}" using assms by blast - then have OSX: "openin (subtopology euclidean S) (S \ X)" by blast + then have OSX: "openin (top_of_set S) (S \ X)" by blast have sumeq: "\x. x \ S \ X \ (\V | V \ \ \ V \ X \ {}. setdist {x} (S - V)) = supp_sum (\V. setdist {x} (S - V)) \" @@ -114,8 +114,8 @@ text \For Euclidean spaces the proof is easy using distances.\ lemma Urysohn_both_ne: - assumes US: "closedin (subtopology euclidean U) S" - and UT: "closedin (subtopology euclidean U) T" + assumes US: "closedin (top_of_set U) S" + and UT: "closedin (top_of_set U) T" and "S \ T = {}" "S \ {}" "T \ {}" "a \ b" obtains f :: "'a::euclidean_space \ 'b::real_normed_vector" where "continuous_on U f" @@ -167,8 +167,8 @@ qed proposition Urysohn_local_strong: - assumes US: "closedin (subtopology euclidean U) S" - and UT: "closedin (subtopology euclidean U) T" + assumes US: "closedin (top_of_set U) S" + and UT: "closedin (top_of_set U) T" and "S \ T = {}" "a \ b" obtains f :: "'a::euclidean_space \ 'b::euclidean_space" where "continuous_on U f" @@ -250,8 +250,8 @@ qed lemma Urysohn_local: - assumes US: "closedin (subtopology euclidean U) S" - and UT: "closedin (subtopology euclidean U) T" + assumes US: "closedin (top_of_set U) S" + and UT: "closedin (top_of_set U) T" and "S \ T = {}" obtains f :: "'a::euclidean_space \ 'b::euclidean_space" where "continuous_on U f" @@ -301,7 +301,7 @@ theorem Dugundji: fixes f :: "'a::{metric_space,second_countable_topology} \ 'b::real_inner" assumes "convex C" "C \ {}" - and cloin: "closedin (subtopology euclidean U) S" + and cloin: "closedin (top_of_set U) S" and contf: "continuous_on S f" and "f ` S \ C" obtains g where "continuous_on U g" "g ` U \ C" "\x. x \ S \ g x = f x" @@ -427,7 +427,7 @@ obtain N where N: "open N" "a \ N" and finN: "finite {U \ \. \a\N. H U a \ 0}" using Hfin False \a \ U\ by auto - have oUS: "openin (subtopology euclidean U) (U - S)" + have oUS: "openin (top_of_set U) (U - S)" using cloin by (simp add: openin_diff) have HcontU: "continuous (at a within U) (H T)" if "T \ \" for T using Hcont [OF \T \ \\] False \a \ U\ \T \ \\ @@ -444,7 +444,7 @@ (\x. \T\{U \ \. \x\N. H U x \ 0}. H T x *\<^sub>R f (\ T))" by (force intro: continuous_intros HcontU)+ next - show "openin (subtopology euclidean U) ((U - S) \ N)" + show "openin (top_of_set U) ((U - S) \ N)" using N oUS openin_trans by blast next show "a \ (U - S) \ N" using False \a \ U\ N by blast @@ -475,7 +475,7 @@ corollary Tietze: fixes f :: "'a::{metric_space,second_countable_topology} \ 'b::real_inner" assumes "continuous_on S f" - and "closedin (subtopology euclidean U) S" + and "closedin (top_of_set U) S" and "0 \ B" and "\x. x \ S \ norm(f x) \ B" obtains g where "continuous_on U g" "\x. x \ S \ g x = f x" @@ -485,7 +485,7 @@ corollary%unimportant Tietze_closed_interval: fixes f :: "'a::{metric_space,second_countable_topology} \ 'b::euclidean_space" assumes "continuous_on S f" - and "closedin (subtopology euclidean U) S" + and "closedin (top_of_set U) S" and "cbox a b \ {}" and "\x. x \ S \ f x \ cbox a b" obtains g where "continuous_on U g" "\x. x \ S \ g x = f x" @@ -496,7 +496,7 @@ corollary%unimportant Tietze_closed_interval_1: fixes f :: "'a::{metric_space,second_countable_topology} \ real" assumes "continuous_on S f" - and "closedin (subtopology euclidean U) S" + and "closedin (top_of_set U) S" and "a \ b" and "\x. x \ S \ f x \ cbox a b" obtains g where "continuous_on U g" "\x. x \ S \ g x = f x" @@ -507,7 +507,7 @@ corollary%unimportant Tietze_open_interval: fixes f :: "'a::{metric_space,second_countable_topology} \ 'b::euclidean_space" assumes "continuous_on S f" - and "closedin (subtopology euclidean U) S" + and "closedin (top_of_set U) S" and "box a b \ {}" and "\x. x \ S \ f x \ box a b" obtains g where "continuous_on U g" "\x. x \ S \ g x = f x" @@ -518,7 +518,7 @@ corollary%unimportant Tietze_open_interval_1: fixes f :: "'a::{metric_space,second_countable_topology} \ real" assumes "continuous_on S f" - and "closedin (subtopology euclidean U) S" + and "closedin (top_of_set U) S" and "a < b" and no: "\x. x \ S \ f x \ box a b" obtains g where "continuous_on U g" "\x. x \ S \ g x = f x" @@ -529,7 +529,7 @@ corollary%unimportant Tietze_unbounded: fixes f :: "'a::{metric_space,second_countable_topology} \ 'b::real_inner" assumes "continuous_on S f" - and "closedin (subtopology euclidean U) S" + and "closedin (top_of_set U) S" obtains g where "continuous_on U g" "\x. x \ S \ g x = f x" apply (rule Dugundji [of UNIV U S f]) using assms by auto