src/HOL/Analysis/Continuous_Extension.thy
changeset 70136 f03a01a18c6e
parent 69922 4a9167f377b0
child 70817 dd675800469d
equal deleted inserted replaced
70135:ad6d4a14adb5 70136:f03a01a18c6e
   480     and "\<And>x. x \<in> S \<Longrightarrow> norm(f x) \<le> B"
   480     and "\<And>x. x \<in> S \<Longrightarrow> norm(f x) \<le> B"
   481   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   481   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   482     "\<And>x. x \<in> U \<Longrightarrow> norm(g x) \<le> B"
   482     "\<And>x. x \<in> U \<Longrightarrow> norm(g x) \<le> B"
   483   using assms by (auto simp: image_subset_iff intro: Dugundji [of "cball 0 B" U S f])
   483   using assms by (auto simp: image_subset_iff intro: Dugundji [of "cball 0 B" U S f])
   484 
   484 
   485 corollary%unimportant Tietze_closed_interval:
   485 corollary\<^marker>\<open>tag unimportant\<close> Tietze_closed_interval:
   486   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> 'b::euclidean_space"
   486   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> 'b::euclidean_space"
   487   assumes "continuous_on S f"
   487   assumes "continuous_on S f"
   488     and "closedin (top_of_set U) S"
   488     and "closedin (top_of_set U) S"
   489     and "cbox a b \<noteq> {}"
   489     and "cbox a b \<noteq> {}"
   490     and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b"
   490     and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b"
   491   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   491   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   492     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b"
   492     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b"
   493   apply (rule Dugundji [of "cbox a b" U S f])
   493   apply (rule Dugundji [of "cbox a b" U S f])
   494   using assms by auto
   494   using assms by auto
   495 
   495 
   496 corollary%unimportant Tietze_closed_interval_1:
   496 corollary\<^marker>\<open>tag unimportant\<close> Tietze_closed_interval_1:
   497   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> real"
   497   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> real"
   498   assumes "continuous_on S f"
   498   assumes "continuous_on S f"
   499     and "closedin (top_of_set U) S"
   499     and "closedin (top_of_set U) S"
   500     and "a \<le> b"
   500     and "a \<le> b"
   501     and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b"
   501     and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> cbox a b"
   502   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   502   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   503     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b"
   503     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> cbox a b"
   504   apply (rule Dugundji [of "cbox a b" U S f])
   504   apply (rule Dugundji [of "cbox a b" U S f])
   505   using assms by (auto simp: image_subset_iff)
   505   using assms by (auto simp: image_subset_iff)
   506 
   506 
   507 corollary%unimportant Tietze_open_interval:
   507 corollary\<^marker>\<open>tag unimportant\<close> Tietze_open_interval:
   508   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> 'b::euclidean_space"
   508   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> 'b::euclidean_space"
   509   assumes "continuous_on S f"
   509   assumes "continuous_on S f"
   510     and "closedin (top_of_set U) S"
   510     and "closedin (top_of_set U) S"
   511     and "box a b \<noteq> {}"
   511     and "box a b \<noteq> {}"
   512     and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b"
   512     and "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b"
   513   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   513   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   514     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b"
   514     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b"
   515   apply (rule Dugundji [of "box a b" U S f])
   515   apply (rule Dugundji [of "box a b" U S f])
   516   using assms by auto
   516   using assms by auto
   517 
   517 
   518 corollary%unimportant Tietze_open_interval_1:
   518 corollary\<^marker>\<open>tag unimportant\<close> Tietze_open_interval_1:
   519   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> real"
   519   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> real"
   520   assumes "continuous_on S f"
   520   assumes "continuous_on S f"
   521     and "closedin (top_of_set U) S"
   521     and "closedin (top_of_set U) S"
   522     and "a < b"
   522     and "a < b"
   523     and no: "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b"
   523     and no: "\<And>x. x \<in> S \<Longrightarrow> f x \<in> box a b"
   524   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   524   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   525     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b"
   525     "\<And>x. x \<in> U \<Longrightarrow> g x \<in> box a b"
   526   apply (rule Dugundji [of "box a b" U S f])
   526   apply (rule Dugundji [of "box a b" U S f])
   527   using assms by (auto simp: image_subset_iff)
   527   using assms by (auto simp: image_subset_iff)
   528 
   528 
   529 corollary%unimportant Tietze_unbounded:
   529 corollary\<^marker>\<open>tag unimportant\<close> Tietze_unbounded:
   530   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> 'b::real_inner"
   530   fixes f :: "'a::{metric_space,second_countable_topology} \<Rightarrow> 'b::real_inner"
   531   assumes "continuous_on S f"
   531   assumes "continuous_on S f"
   532     and "closedin (top_of_set U) S"
   532     and "closedin (top_of_set U) S"
   533   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   533   obtains g where "continuous_on U g" "\<And>x. x \<in> S \<Longrightarrow> g x = f x"
   534   apply (rule Dugundji [of UNIV U S f])
   534   apply (rule Dugundji [of UNIV U S f])