equal
deleted
inserted
replaced
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)" |