src/HOL/Limits.thy
changeset 68594 5b05ede597b8
parent 68532 f8b98d31ad45
child 68611 4bc4b5c0ccfc
equal deleted inserted replaced
68593:d32d40d03e0a 68594:5b05ede597b8
  2440 lemma LIM_equal2:
  2440 lemma LIM_equal2:
  2441   fixes f g :: "'a::real_normed_vector \<Rightarrow> 'b::topological_space"
  2441   fixes f g :: "'a::real_normed_vector \<Rightarrow> 'b::topological_space"
  2442   assumes "0 < R"
  2442   assumes "0 < R"
  2443     and "\<And>x. x \<noteq> a \<Longrightarrow> norm (x - a) < R \<Longrightarrow> f x = g x"
  2443     and "\<And>x. x \<noteq> a \<Longrightarrow> norm (x - a) < R \<Longrightarrow> f x = g x"
  2444   shows "g \<midarrow>a\<rightarrow> l \<Longrightarrow> f \<midarrow>a\<rightarrow> l"
  2444   shows "g \<midarrow>a\<rightarrow> l \<Longrightarrow> f \<midarrow>a\<rightarrow> l"
  2445   by (rule metric_LIM_equal2 [OF assms]) (simp_all add: dist_norm)
  2445   by (rule metric_LIM_equal2 [OF _ assms]) (simp_all add: dist_norm)
  2446 
  2446 
  2447 lemma LIM_compose2:
  2447 lemma LIM_compose2:
  2448   fixes a :: "'a::real_normed_vector"
  2448   fixes a :: "'a::real_normed_vector"
  2449   assumes f: "f \<midarrow>a\<rightarrow> b"
  2449   assumes f: "f \<midarrow>a\<rightarrow> b"
  2450     and g: "g \<midarrow>b\<rightarrow> c"
  2450     and g: "g \<midarrow>b\<rightarrow> c"
  2554 lemma uniformly_continuous_on_Cauchy:
  2554 lemma uniformly_continuous_on_Cauchy:
  2555   fixes f :: "'a::metric_space \<Rightarrow> 'b::metric_space"
  2555   fixes f :: "'a::metric_space \<Rightarrow> 'b::metric_space"
  2556   assumes "uniformly_continuous_on S f" "Cauchy X" "\<And>n. X n \<in> S"
  2556   assumes "uniformly_continuous_on S f" "Cauchy X" "\<And>n. X n \<in> S"
  2557   shows "Cauchy (\<lambda>n. f (X n))"
  2557   shows "Cauchy (\<lambda>n. f (X n))"
  2558   using assms
  2558   using assms
  2559   apply (simp only: uniformly_continuous_on_def)
  2559   unfolding uniformly_continuous_on_def  by (meson Cauchy_def)
  2560   apply (rule metric_CauchyI)
       
  2561   apply (drule_tac x=e in spec)
       
  2562   apply safe
       
  2563   apply (drule_tac e=d in metric_CauchyD)
       
  2564    apply safe
       
  2565   apply (rule_tac x=M in exI)
       
  2566   apply simp
       
  2567   done
       
  2568 
  2560 
  2569 lemma isUCont_Cauchy: "isUCont f \<Longrightarrow> Cauchy X \<Longrightarrow> Cauchy (\<lambda>n. f (X n))"
  2561 lemma isUCont_Cauchy: "isUCont f \<Longrightarrow> Cauchy X \<Longrightarrow> Cauchy (\<lambda>n. f (X n))"
  2570   by (rule uniformly_continuous_on_Cauchy[where S=UNIV and f=f]) simp_all
  2562   by (rule uniformly_continuous_on_Cauchy[where S=UNIV and f=f]) simp_all
  2571   
  2563   
  2572 lemma uniformly_continuous_imp_Cauchy_continuous:
  2564 lemma uniformly_continuous_imp_Cauchy_continuous: