src/HOL/Analysis/Conformal_Mappings.thy
changeset 68239 0764ee22a4d1
parent 67968 a5ad4c015d1c
child 68255 009f783d1bac
equal deleted inserted replaced
68223:88dd06301dd3 68239:0764ee22a4d1
   862     by (rule lim_null_mult_right_bounded [OF _ that]) (simp add: LIM_zero)
   862     by (rule lim_null_mult_right_bounded [OF _ that]) (simp add: LIM_zero)
   863   moreover have "?P" if "(\<lambda>z. (z - \<xi>) * f z) \<midarrow>\<xi>\<rightarrow> 0"
   863   moreover have "?P" if "(\<lambda>z. (z - \<xi>) * f z) \<midarrow>\<xi>\<rightarrow> 0"
   864   proof -
   864   proof -
   865     define h where [abs_def]: "h z = (z - \<xi>)^2 * f z" for z
   865     define h where [abs_def]: "h z = (z - \<xi>)^2 * f z" for z
   866     have h0: "(h has_field_derivative 0) (at \<xi>)"
   866     have h0: "(h has_field_derivative 0) (at \<xi>)"
   867       apply (simp add: h_def Derivative.DERIV_within_iff)
   867       apply (simp add: h_def has_field_derivative_iff)
   868       apply (rule Lim_transform_within [OF that, of 1])
   868       apply (rule Lim_transform_within [OF that, of 1])
   869       apply (auto simp: divide_simps power2_eq_square)
   869       apply (auto simp: divide_simps power2_eq_square)
   870       done
   870       done
   871     have holh: "h holomorphic_on S"
   871     have holh: "h holomorphic_on S"
   872     proof (simp add: holomorphic_on_def, clarify)
   872     proof (simp add: holomorphic_on_def, clarify)
   877           using field_differentiable_at_within field_differentiable_def h0 by blast
   877           using field_differentiable_at_within field_differentiable_def h0 by blast
   878       next
   878       next
   879         case False
   879         case False
   880         then have "f field_differentiable at z within S"
   880         then have "f field_differentiable at z within S"
   881           using holomorphic_onD [OF holf, of z] \<open>z \<in> S\<close>
   881           using holomorphic_onD [OF holf, of z] \<open>z \<in> S\<close>
   882           unfolding field_differentiable_def DERIV_within_iff
   882           unfolding field_differentiable_def has_field_derivative_iff
   883           by (force intro: exI [where x="dist \<xi> z"] elim: Lim_transform_within_set [unfolded eventually_at])
   883           by (force intro: exI [where x="dist \<xi> z"] elim: Lim_transform_within_set [unfolded eventually_at])
   884         then show ?thesis
   884         then show ?thesis
   885           by (simp add: h_def power2_eq_square derivative_intros)
   885           by (simp add: h_def power2_eq_square derivative_intros)
   886       qed
   886       qed
   887     qed
   887     qed
  1717     using cnjs apply auto
  1717     using cnjs apply auto
  1718     done
  1718     done
  1719   have "cnj \<circ> f \<circ> cnj field_differentiable at x within S \<inter> {z. Im z < 0}"
  1719   have "cnj \<circ> f \<circ> cnj field_differentiable at x within S \<inter> {z. Im z < 0}"
  1720         if "x \<in> S" "Im x < 0" "f field_differentiable at (cnj x) within S \<inter> {z. 0 < Im z}" for x
  1720         if "x \<in> S" "Im x < 0" "f field_differentiable at (cnj x) within S \<inter> {z. 0 < Im z}" for x
  1721     using that
  1721     using that
  1722     apply (simp add: field_differentiable_def Derivative.DERIV_within_iff Lim_within dist_norm, clarify)
  1722     apply (simp add: field_differentiable_def has_field_derivative_iff Lim_within dist_norm, clarify)
  1723     apply (rule_tac x="cnj f'" in exI)
  1723     apply (rule_tac x="cnj f'" in exI)
  1724     apply (elim all_forward ex_forward conj_forward imp_forward asm_rl, clarify)
  1724     apply (elim all_forward ex_forward conj_forward imp_forward asm_rl, clarify)
  1725     apply (drule_tac x="cnj xa" in bspec)
  1725     apply (drule_tac x="cnj xa" in bspec)
  1726     using cnjs apply force
  1726     using cnjs apply force
  1727     apply (metis complex_cnj_cnj complex_cnj_diff complex_cnj_divide complex_mod_cnj)
  1727     apply (metis complex_cnj_cnj complex_cnj_diff complex_cnj_divide complex_mod_cnj)