equal
deleted
inserted
replaced
1313 by simp |
1313 by simp |
1314 next |
1314 next |
1315 case False |
1315 case False |
1316 then have "z / of_real(norm z) = exp(\<i> * of_real(Arg z))" |
1316 then have "z / of_real(norm z) = exp(\<i> * of_real(Arg z))" |
1317 using Arg [of z] |
1317 using Arg [of z] |
1318 by (metis abs_norm_cancel nonzero_mult_divide_cancel_left norm_of_real zero_less_norm_iff) |
1318 by (metis abs_norm_cancel nonzero_mult_div_cancel_left norm_of_real zero_less_norm_iff) |
1319 then have "- z / of_real(norm z) = exp (\<i> * (of_real (Arg z) - pi))" |
1319 then have "- z / of_real(norm z) = exp (\<i> * (of_real (Arg z) - pi))" |
1320 using cis_conv_exp cis_pi |
1320 using cis_conv_exp cis_pi |
1321 by (auto simp: exp_diff algebra_simps) |
1321 by (auto simp: exp_diff algebra_simps) |
1322 then have "ln (- z / of_real(norm z)) = ln (exp (\<i> * (of_real (Arg z) - pi)))" |
1322 then have "ln (- z / of_real(norm z)) = ln (exp (\<i> * (of_real (Arg z) - pi)))" |
1323 by simp |
1323 by simp |
1916 lemma csqrt_exp_Ln: |
1916 lemma csqrt_exp_Ln: |
1917 assumes "z \<noteq> 0" |
1917 assumes "z \<noteq> 0" |
1918 shows "csqrt z = exp(Ln(z) / 2)" |
1918 shows "csqrt z = exp(Ln(z) / 2)" |
1919 proof - |
1919 proof - |
1920 have "(exp (Ln z / 2))\<^sup>2 = (exp (Ln z))" |
1920 have "(exp (Ln z / 2))\<^sup>2 = (exp (Ln z))" |
1921 by (metis exp_double nonzero_mult_divide_cancel_left times_divide_eq_right zero_neq_numeral) |
1921 by (metis exp_double nonzero_mult_div_cancel_left times_divide_eq_right zero_neq_numeral) |
1922 also have "... = z" |
1922 also have "... = z" |
1923 using assms exp_Ln by blast |
1923 using assms exp_Ln by blast |
1924 finally have "csqrt z = csqrt ((exp (Ln z / 2))\<^sup>2)" |
1924 finally have "csqrt z = csqrt ((exp (Ln z / 2))\<^sup>2)" |
1925 by simp |
1925 by simp |
1926 also have "... = exp (Ln z / 2)" |
1926 also have "... = exp (Ln z / 2)" |