src/HOL/Topological_Spaces.thy
changeset 61738 c4f6031f1310
parent 61531 ab2e862263e7
child 61799 4cf66f21b764
equal deleted inserted replaced
61736:d6b2d638af23 61738:c4f6031f1310
  1482   unfolding continuous_on_def by fast
  1482   unfolding continuous_on_def by fast
  1483 
  1483 
  1484 lemma continuous_on_const[continuous_intros]: "continuous_on s (\<lambda>x. c)"
  1484 lemma continuous_on_const[continuous_intros]: "continuous_on s (\<lambda>x. c)"
  1485   unfolding continuous_on_def by auto
  1485   unfolding continuous_on_def by auto
  1486 
  1486 
       
  1487 lemma continuous_on_subset: "continuous_on s f \<Longrightarrow> t \<subseteq> s \<Longrightarrow> continuous_on t f"
       
  1488   unfolding continuous_on_def by (metis subset_eq tendsto_within_subset)
       
  1489 
  1487 lemma continuous_on_compose[continuous_intros]:
  1490 lemma continuous_on_compose[continuous_intros]:
  1488   "continuous_on s f \<Longrightarrow> continuous_on (f ` s) g \<Longrightarrow> continuous_on s (g o f)"
  1491   "continuous_on s f \<Longrightarrow> continuous_on (f ` s) g \<Longrightarrow> continuous_on s (g o f)"
  1489   unfolding continuous_on_topological by simp metis
  1492   unfolding continuous_on_topological by simp metis
  1490 
  1493 
  1491 lemma continuous_on_compose2:
  1494 lemma continuous_on_compose2:
  1492   "continuous_on t g \<Longrightarrow> continuous_on s f \<Longrightarrow> t = f ` s \<Longrightarrow> continuous_on s (\<lambda>x. g (f x))"
  1495   "continuous_on t g \<Longrightarrow> continuous_on s f \<Longrightarrow> f ` s \<subseteq> t \<Longrightarrow> continuous_on s (\<lambda>x. g (f x))"
  1493   using continuous_on_compose[of s f g] by (simp add: comp_def)
  1496   using continuous_on_compose[of s f g] continuous_on_subset by (force simp add: comp_def)
  1494 
  1497 
  1495 lemma continuous_on_generate_topology:
  1498 lemma continuous_on_generate_topology:
  1496   assumes *: "open = generate_topology X"
  1499   assumes *: "open = generate_topology X"
  1497   assumes **: "\<And>B. B \<in> X \<Longrightarrow> \<exists>C. open C \<and> C \<inter> A = f -` B \<inter> A"
  1500   assumes **: "\<And>B. B \<in> X \<Longrightarrow> \<exists>C. open C \<and> C \<inter> A = f -` B \<inter> A"
  1498   shows "continuous_on A f"
  1501   shows "continuous_on A f"
  1598 lemma continuous_at_imp_continuous_at_within: "isCont f x \<Longrightarrow> continuous (at x within s) f"
  1601 lemma continuous_at_imp_continuous_at_within: "isCont f x \<Longrightarrow> continuous (at x within s) f"
  1599   by (auto intro: tendsto_mono at_le simp: continuous_at continuous_within)
  1602   by (auto intro: tendsto_mono at_le simp: continuous_at continuous_within)
  1600 
  1603 
  1601 lemma continuous_on_eq_continuous_at: "open s \<Longrightarrow> continuous_on s f \<longleftrightarrow> (\<forall>x\<in>s. isCont f x)"
  1604 lemma continuous_on_eq_continuous_at: "open s \<Longrightarrow> continuous_on s f \<longleftrightarrow> (\<forall>x\<in>s. isCont f x)"
  1602   by (simp add: continuous_on_def continuous_at at_within_open[of _ s])
  1605   by (simp add: continuous_on_def continuous_at at_within_open[of _ s])
  1603 
       
  1604 lemma continuous_on_subset: "continuous_on s f \<Longrightarrow> t \<subseteq> s \<Longrightarrow> continuous_on t f"
       
  1605   unfolding continuous_on_def by (metis subset_eq tendsto_within_subset)
       
  1606 
  1606 
  1607 lemma continuous_at_imp_continuous_on: "\<forall>x\<in>s. isCont f x \<Longrightarrow> continuous_on s f"
  1607 lemma continuous_at_imp_continuous_on: "\<forall>x\<in>s. isCont f x \<Longrightarrow> continuous_on s f"
  1608   by (auto intro: continuous_at_imp_continuous_at_within simp: continuous_on_eq_continuous_within)
  1608   by (auto intro: continuous_at_imp_continuous_at_within simp: continuous_on_eq_continuous_within)
  1609 
  1609 
  1610 lemma isCont_o2: "isCont f a \<Longrightarrow> isCont g (f a) \<Longrightarrow> isCont (\<lambda>x. g (f x)) a"
  1610 lemma isCont_o2: "isCont f a \<Longrightarrow> isCont g (f a) \<Longrightarrow> isCont (\<lambda>x. g (f x)) a"