src/HOL/Complex/Complex.thy
changeset 22890 9449c991cc33
parent 22884 5804926e0379
child 22913 f76298ee7bac
equal deleted inserted replaced
22889:f3bb32a68f16 22890:9449c991cc33
   472   fix n :: nat
   472   fix n :: nat
   473   show "z^0 = 1" by simp
   473   show "z^0 = 1" by simp
   474   show "z^(Suc n) = z * (z^n)" by simp
   474   show "z^(Suc n) = z * (z^n)" by simp
   475 qed
   475 qed
   476 
   476 
   477 
       
   478 lemma complex_of_real_pow: "complex_of_real (x ^ n) = (complex_of_real x) ^ n"
       
   479 by (rule of_real_power)
       
   480 
       
   481 lemma complex_cnj_pow: "cnj(z ^ n) = cnj(z) ^ n"
   477 lemma complex_cnj_pow: "cnj(z ^ n) = cnj(z) ^ n"
   482 apply (induct_tac "n")
   478 apply (induct_tac "n")
   483 apply (auto simp add: complex_cnj_mult)
   479 apply (auto simp add: complex_cnj_mult)
   484 done
   480 done
   485 
       
   486 lemma complex_mod_complexpow: "cmod(x ^ n) = cmod(x) ^ n"
       
   487 by (rule norm_power)
       
   488 
   481 
   489 lemma complexpow_i_squared [simp]: "ii ^ 2 = -(1::complex)"
   482 lemma complexpow_i_squared [simp]: "ii ^ 2 = -(1::complex)"
   490 by (simp add: i_def complex_one_def numeral_2_eq_2)
   483 by (simp add: i_def complex_one_def numeral_2_eq_2)
   491 
   484 
   492 lemma complex_i_not_zero [simp]: "ii \<noteq> 0"
   485 lemma complex_i_not_zero [simp]: "ii \<noteq> 0"
   691 apply (induct_tac "n")
   684 apply (induct_tac "n")
   692 apply (auto simp add: cis_real_of_nat_Suc_mult)
   685 apply (auto simp add: cis_real_of_nat_Suc_mult)
   693 done
   686 done
   694 
   687 
   695 lemma DeMoivre2: "(rcis r a) ^ n = rcis (r ^ n) (real n * a)"
   688 lemma DeMoivre2: "(rcis r a) ^ n = rcis (r ^ n) (real n * a)"
   696 by (simp add: rcis_def power_mult_distrib DeMoivre complex_of_real_pow)
   689 by (simp add: rcis_def power_mult_distrib DeMoivre)
   697 
   690 
   698 lemma cis_inverse [simp]: "inverse(cis a) = cis (-a)"
   691 lemma cis_inverse [simp]: "inverse(cis a) = cis (-a)"
   699 by (simp add: cis_def complex_inverse_complex_split diff_minus)
   692 by (simp add: cis_def complex_inverse_complex_split diff_minus)
   700 
   693 
   701 lemma rcis_inverse: "inverse(rcis r a) = rcis (1/r) (-a)"
   694 lemma rcis_inverse: "inverse(rcis r a) = rcis (1/r) (-a)"