src/HOL/Complex_Analysis/Complex_Singularities.thy
changeset 77277 c6b50597abbc
parent 77228 8c093a4b8ccf
child 77322 9c295f84d55f
equal deleted inserted replaced
77276:29032b496f2e 77277:c6b50597abbc
   246 
   246 
   247 lemma not_essential_cong:
   247 lemma not_essential_cong:
   248   assumes "eventually (\<lambda>x. f x = g x) (at z)" "z = z'"
   248   assumes "eventually (\<lambda>x. f x = g x) (at z)" "z = z'"
   249   shows   "not_essential f z \<longleftrightarrow> not_essential g z'"
   249   shows   "not_essential f z \<longleftrightarrow> not_essential g z'"
   250   unfolding not_essential_def using assms filterlim_cong is_pole_cong by fastforce
   250   unfolding not_essential_def using assms filterlim_cong is_pole_cong by fastforce
       
   251 
       
   252 lemma not_essential_compose_iff:
       
   253   assumes "filtermap g (at z) = at z'"
       
   254   shows   "not_essential (f \<circ> g) z = not_essential f z'"
       
   255   unfolding not_essential_def filterlim_def filtermap_compose assms is_pole_compose_iff[OF assms]
       
   256   by blast
   251 
   257 
   252 lemma isolated_singularity_at_cong:
   258 lemma isolated_singularity_at_cong:
   253   assumes "eventually (\<lambda>x. f x = g x) (at z)" "z = z'"
   259   assumes "eventually (\<lambda>x. f x = g x) (at z)" "z = z'"
   254   shows   "isolated_singularity_at f z \<longleftrightarrow> isolated_singularity_at g z'"
   260   shows   "isolated_singularity_at f z \<longleftrightarrow> isolated_singularity_at g z'"
   255 proof -
   261 proof -
   360         using \<open>n>m\<close>
   366         using \<open>n>m\<close>
   361           by (auto simp add: Lim_ident_at  intro!:tendsto_powr_complex_0 tendsto_eq_intros)
   367           by (auto simp add: Lim_ident_at  intro!:tendsto_powr_complex_0 tendsto_eq_intros)
   362       ultimately have "(f' \<longlongrightarrow> 0) F" unfolding F_def
   368       ultimately have "(f' \<longlongrightarrow> 0) F" unfolding F_def
   363         by (simp add: continuous_within)
   369         by (simp add: continuous_within)
   364       moreover have "(g \<longlongrightarrow> g z) F"
   370       moreover have "(g \<longlongrightarrow> g z) F"
   365         using holomorphic_on_imp_continuous_on[OF g_holo,unfolded continuous_on_def] \<open>r>0\<close>
   371         unfolding F_def
   366         unfolding F_def by auto
   372         using \<open>r>0\<close> centre_in_ball continuous_on_def g_holo holomorphic_on_imp_continuous_on by blast
   367       ultimately show " ((\<lambda>w. f' w * g w) \<longlongrightarrow> 0) F" using tendsto_mult by fastforce
   373       ultimately show " ((\<lambda>w. f' w * g w) \<longlongrightarrow> 0) F" using tendsto_mult by fastforce
   368     qed
   374     qed
   369     moreover have "(h \<longlongrightarrow> h z) (at z within ball z r)"
   375     moreover have "(h \<longlongrightarrow> h z) (at z within ball z r)"
   370       using holomorphic_on_imp_continuous_on[OF h_holo]
   376       using holomorphic_on_imp_continuous_on[OF h_holo]
   371       by (auto simp add:continuous_on_def \<open>r>0\<close>)
   377       by (auto simp add:continuous_on_def \<open>r>0\<close>)
  1056 
  1062 
  1057 lemma analytic_at_imp_no_pole: "f analytic_on {z} \<Longrightarrow> \<not>is_pole f z"
  1063 lemma analytic_at_imp_no_pole: "f analytic_on {z} \<Longrightarrow> \<not>is_pole f z"
  1058   using analytic_at not_is_pole_holomorphic by blast
  1064   using analytic_at not_is_pole_holomorphic by blast
  1059 
  1065 
  1060 lemma not_essential_const [singularity_intros]: "not_essential (\<lambda>_. c) z"
  1066 lemma not_essential_const [singularity_intros]: "not_essential (\<lambda>_. c) z"
  1061   unfolding not_essential_def by (rule exI[of _ c]) auto
  1067   by blast
  1062 
  1068 
  1063 lemma not_essential_uminus [singularity_intros]:
  1069 lemma not_essential_uminus [singularity_intros]:
  1064   assumes f_ness: "not_essential f z"
  1070   assumes f_ness: "not_essential f z"
  1065   assumes f_iso:"isolated_singularity_at f z"
  1071   assumes f_iso:"isolated_singularity_at f z"
  1066   shows "not_essential (\<lambda>w. -f w) z"
  1072   shows "not_essential (\<lambda>w. -f w) z"