src/HOL/Analysis/Complex_Transcendental.thy
changeset 71029 934e0044e94b
parent 71001 3e374c65f96b
child 71184 d62fdaafdafc
equal deleted inserted replaced
71017:c85efa2be619 71029:934e0044e94b
  2267   shows "((\<lambda>z. z powr s) has_field_derivative (s * z powr (s - 1))) (at z)"
  2267   shows "((\<lambda>z. z powr s) has_field_derivative (s * z powr (s - 1))) (at z)"
  2268 proof (cases "z=0")
  2268 proof (cases "z=0")
  2269   case False
  2269   case False
  2270   show ?thesis
  2270   show ?thesis
  2271     unfolding powr_def
  2271     unfolding powr_def
  2272   proof (rule DERIV_transform_at)
  2272   proof (rule has_field_derivative_transform_within)
  2273     show "((\<lambda>z. exp (s * Ln z)) has_field_derivative s * (if z = 0 then 0 else exp ((s - 1) * Ln z)))
  2273     show "((\<lambda>z. exp (s * Ln z)) has_field_derivative s * (if z = 0 then 0 else exp ((s - 1) * Ln z)))
  2274            (at z)"
  2274            (at z)"
  2275       apply (intro derivative_eq_intros | simp add: assms)+
  2275       apply (intro derivative_eq_intros | simp add: assms)+
  2276       by (simp add: False divide_complex_def exp_diff left_diff_distrib')
  2276       by (simp add: False divide_complex_def exp_diff left_diff_distrib')
  2277   qed (use False in auto)
  2277   qed (use False in auto)
  2759   have "Im z = 0 \<Longrightarrow> 0 < Re z"
  2759   have "Im z = 0 \<Longrightarrow> 0 < Re z"
  2760     using assms complex_nonpos_Reals_iff not_less by blast
  2760     using assms complex_nonpos_Reals_iff not_less by blast
  2761   with z have "((\<lambda>z. exp (Ln z / 2)) has_field_derivative inverse (2 * csqrt z)) (at z)"
  2761   with z have "((\<lambda>z. exp (Ln z / 2)) has_field_derivative inverse (2 * csqrt z)) (at z)"
  2762     by (force intro: derivative_eq_intros * simp add: assms)
  2762     by (force intro: derivative_eq_intros * simp add: assms)
  2763   then show ?thesis
  2763   then show ?thesis
  2764   proof (rule DERIV_transform_at)
  2764   proof (rule has_field_derivative_transform_within)
  2765     show "\<And>x. dist x z < cmod z \<Longrightarrow> exp (Ln x / 2) = csqrt x"
  2765     show "\<And>x. dist x z < cmod z \<Longrightarrow> exp (Ln x / 2) = csqrt x"
  2766       by (metis csqrt_exp_Ln dist_0_norm less_irrefl)
  2766       by (metis csqrt_exp_Ln dist_0_norm less_irrefl)
  2767   qed (use z in auto)
  2767   qed (use z in auto)
  2768 qed
  2768 qed
  2769 
  2769