equal
deleted
inserted
replaced
136 qed |
136 qed |
137 |
137 |
138 end |
138 end |
139 |
139 |
140 |
140 |
141 subsection \<open>Numerals, Arithmetic, and Embedding from Reals\<close> |
141 subsection \<open>Numerals, Arithmetic, and Embedding from \<real>\<close> |
142 |
142 |
143 abbreviation complex_of_real :: "real \<Rightarrow> complex" |
143 abbreviation complex_of_real :: "real \<Rightarrow> complex" |
144 where "complex_of_real \<equiv> of_real" |
144 where "complex_of_real \<equiv> of_real" |
145 |
145 |
146 declare [[coercion "of_real :: real \<Rightarrow> complex"]] |
146 declare [[coercion "of_real :: real \<Rightarrow> complex"]] |
647 by (simp add: Re_divide power2_eq_square) |
647 by (simp add: Re_divide power2_eq_square) |
648 |
648 |
649 lemma Im_divide_of_real [simp]: "Im (z / of_real r) = Im z / r" |
649 lemma Im_divide_of_real [simp]: "Im (z / of_real r) = Im z / r" |
650 by (simp add: Im_divide power2_eq_square) |
650 by (simp add: Im_divide power2_eq_square) |
651 |
651 |
652 lemma Re_divide_Reals: "r \<in> Reals \<Longrightarrow> Re (z / r) = Re z / Re r" |
652 lemma Re_divide_Reals [simp]: "r \<in> \<real> \<Longrightarrow> Re (z / r) = Re z / Re r" |
653 by (metis Re_divide_of_real of_real_Re) |
653 by (metis Re_divide_of_real of_real_Re) |
654 |
654 |
655 lemma Im_divide_Reals: "r \<in> Reals \<Longrightarrow> Im (z / r) = Im z / Re r" |
655 lemma Im_divide_Reals [simp]: "r \<in> \<real> \<Longrightarrow> Im (z / r) = Im z / Re r" |
656 by (metis Im_divide_of_real of_real_Re) |
656 by (metis Im_divide_of_real of_real_Re) |
657 |
657 |
658 lemma Re_sum[simp]: "Re (sum f s) = (\<Sum>x\<in>s. Re (f x))" |
658 lemma Re_sum[simp]: "Re (sum f s) = (\<Sum>x\<in>s. Re (f x))" |
659 by (induct s rule: infinite_finite_induct) auto |
659 by (induct s rule: infinite_finite_induct) auto |
660 |
660 |
688 lemma Reals_cnj_iff: "z \<in> \<real> \<longleftrightarrow> cnj z = z" |
688 lemma Reals_cnj_iff: "z \<in> \<real> \<longleftrightarrow> cnj z = z" |
689 by (auto simp: complex_is_Real_iff complex_eq_iff) |
689 by (auto simp: complex_is_Real_iff complex_eq_iff) |
690 |
690 |
691 lemma in_Reals_norm: "z \<in> \<real> \<Longrightarrow> norm z = \<bar>Re z\<bar>" |
691 lemma in_Reals_norm: "z \<in> \<real> \<Longrightarrow> norm z = \<bar>Re z\<bar>" |
692 by (simp add: complex_is_Real_iff norm_complex_def) |
692 by (simp add: complex_is_Real_iff norm_complex_def) |
|
693 |
|
694 lemma Re_Reals_divide: "r \<in> \<real> \<Longrightarrow> Re (r / z) = Re r * Re z / (norm z)\<^sup>2" |
|
695 by (simp add: Re_divide complex_is_Real_iff cmod_power2) |
|
696 |
|
697 lemma Im_Reals_divide: "r \<in> \<real> \<Longrightarrow> Im (r / z) = -Re r * Im z / (norm z)\<^sup>2" |
|
698 by (simp add: Im_divide complex_is_Real_iff cmod_power2) |
693 |
699 |
694 lemma series_comparison_complex: |
700 lemma series_comparison_complex: |
695 fixes f:: "nat \<Rightarrow> 'a::banach" |
701 fixes f:: "nat \<Rightarrow> 'a::banach" |
696 assumes sg: "summable g" |
702 assumes sg: "summable g" |
697 and "\<And>n. g n \<in> \<real>" "\<And>n. Re (g n) \<ge> 0" |
703 and "\<And>n. g n \<in> \<real>" "\<And>n. Re (g n) \<ge> 0" |