486 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
485 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
487 "\<And>x. x \<in> U \<Longrightarrow> norm(g x) \<le> B" |
486 "\<And>x. x \<in> U \<Longrightarrow> norm(g x) \<le> B" |
488 using assms |
487 using assms |
489 by (auto simp: image_subset_iff intro: Dugundji [of "cball 0 B" U S f]) |
488 by (auto simp: image_subset_iff intro: Dugundji [of "cball 0 B" U S f]) |
490 |
489 |
491 corollary Tietze_closed_interval: |
490 corollary%unimportant Tietze_closed_interval: |
492 fixes f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space" |
491 fixes f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space" |
493 assumes "continuous_on S f" |
492 assumes "continuous_on S f" |
494 and "closedin (subtopology euclidean U) S" |
493 and "closedin (subtopology euclidean U) S" |
495 and "cbox a b \<noteq> {}" |
494 and "cbox a b \<noteq> {}" |
496 and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b" |
495 and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b" |
497 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
496 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
498 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b" |
497 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b" |
499 apply (rule Dugundji [of "cbox a b" U S f]) |
498 apply (rule Dugundji [of "cbox a b" U S f]) |
500 using assms by auto |
499 using assms by auto |
501 |
500 |
502 corollary Tietze_closed_interval_1: |
501 corollary%unimportant Tietze_closed_interval_1: |
503 fixes f :: "'a::euclidean_space \<Rightarrow> real" |
502 fixes f :: "'a::euclidean_space \<Rightarrow> real" |
504 assumes "continuous_on S f" |
503 assumes "continuous_on S f" |
505 and "closedin (subtopology euclidean U) S" |
504 and "closedin (subtopology euclidean U) S" |
506 and "a \<le> b" |
505 and "a \<le> b" |
507 and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b" |
506 and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b" |
508 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
507 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
509 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b" |
508 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b" |
510 apply (rule Dugundji [of "cbox a b" U S f]) |
509 apply (rule Dugundji [of "cbox a b" U S f]) |
511 using assms by (auto simp: image_subset_iff) |
510 using assms by (auto simp: image_subset_iff) |
512 |
511 |
513 corollary Tietze_open_interval: |
512 corollary%unimportant Tietze_open_interval: |
514 fixes f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space" |
513 fixes f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space" |
515 assumes "continuous_on S f" |
514 assumes "continuous_on S f" |
516 and "closedin (subtopology euclidean U) S" |
515 and "closedin (subtopology euclidean U) S" |
517 and "box a b \<noteq> {}" |
516 and "box a b \<noteq> {}" |
518 and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b" |
517 and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b" |
519 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
518 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
520 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b" |
519 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b" |
521 apply (rule Dugundji [of "box a b" U S f]) |
520 apply (rule Dugundji [of "box a b" U S f]) |
522 using assms by auto |
521 using assms by auto |
523 |
522 |
524 corollary Tietze_open_interval_1: |
523 corollary%unimportant Tietze_open_interval_1: |
525 fixes f :: "'a::euclidean_space \<Rightarrow> real" |
524 fixes f :: "'a::euclidean_space \<Rightarrow> real" |
526 assumes "continuous_on S f" |
525 assumes "continuous_on S f" |
527 and "closedin (subtopology euclidean U) S" |
526 and "closedin (subtopology euclidean U) S" |
528 and "a < b" |
527 and "a < b" |
529 and no: "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b" |
528 and no: "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b" |
530 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
529 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
531 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b" |
530 "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b" |
532 apply (rule Dugundji [of "box a b" U S f]) |
531 apply (rule Dugundji [of "box a b" U S f]) |
533 using assms by (auto simp: image_subset_iff) |
532 using assms by (auto simp: image_subset_iff) |
534 |
533 |
535 corollary Tietze_unbounded: |
534 corollary%unimportant Tietze_unbounded: |
536 fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_inner" |
535 fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_inner" |
537 assumes "continuous_on S f" |
536 assumes "continuous_on S f" |
538 and "closedin (subtopology euclidean U) S" |
537 and "closedin (subtopology euclidean U) S" |
539 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
538 obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x" |
540 apply (rule Dugundji [of UNIV U S f]) |
539 apply (rule Dugundji [of UNIV U S f]) |