106 Complex (Re x / ((Re x)\<^sup>2 + (Im x)\<^sup>2)) (- Im x / ((Re x)\<^sup>2 + (Im x)\<^sup>2))" |
106 Complex (Re x / ((Re x)\<^sup>2 + (Im x)\<^sup>2)) (- Im x / ((Re x)\<^sup>2 + (Im x)\<^sup>2))" |
107 |
107 |
108 definition complex_divide_def: |
108 definition complex_divide_def: |
109 "x / (y\<Colon>complex) = x * inverse y" |
109 "x / (y\<Colon>complex) = x * inverse y" |
110 |
110 |
111 lemma Complex_eq_1 [simp]: "(Complex a b = 1) = (a = 1 \<and> b = 0)" |
111 lemma Complex_eq_1 [simp]: |
|
112 "Complex a b = 1 \<longleftrightarrow> a = 1 \<and> b = 0" |
|
113 by (simp add: complex_one_def) |
|
114 |
|
115 lemma Complex_eq_neg_1 [simp]: |
|
116 "Complex a b = - 1 \<longleftrightarrow> a = - 1 \<and> b = 0" |
112 by (simp add: complex_one_def) |
117 by (simp add: complex_one_def) |
113 |
118 |
114 lemma complex_Re_one [simp]: "Re 1 = 1" |
119 lemma complex_Re_one [simp]: "Re 1 = 1" |
115 by (simp add: complex_one_def) |
120 by (simp add: complex_one_def) |
116 |
121 |
164 by (cases z rule: int_diff_cases) simp |
169 by (cases z rule: int_diff_cases) simp |
165 |
170 |
166 lemma complex_Re_numeral [simp]: "Re (numeral v) = numeral v" |
171 lemma complex_Re_numeral [simp]: "Re (numeral v) = numeral v" |
167 using complex_Re_of_int [of "numeral v"] by simp |
172 using complex_Re_of_int [of "numeral v"] by simp |
168 |
173 |
169 lemma complex_Re_neg_numeral [simp]: "Re (neg_numeral v) = neg_numeral v" |
174 lemma complex_Re_neg_numeral [simp]: "Re (- numeral v) = - numeral v" |
170 using complex_Re_of_int [of "neg_numeral v"] by simp |
175 using complex_Re_of_int [of "- numeral v"] by simp |
171 |
176 |
172 lemma complex_Im_numeral [simp]: "Im (numeral v) = 0" |
177 lemma complex_Im_numeral [simp]: "Im (numeral v) = 0" |
173 using complex_Im_of_int [of "numeral v"] by simp |
178 using complex_Im_of_int [of "numeral v"] by simp |
174 |
179 |
175 lemma complex_Im_neg_numeral [simp]: "Im (neg_numeral v) = 0" |
180 lemma complex_Im_neg_numeral [simp]: "Im (- numeral v) = 0" |
176 using complex_Im_of_int [of "neg_numeral v"] by simp |
181 using complex_Im_of_int [of "- numeral v"] by simp |
177 |
182 |
178 lemma Complex_eq_numeral [simp]: |
183 lemma Complex_eq_numeral [simp]: |
179 "(Complex a b = numeral w) = (a = numeral w \<and> b = 0)" |
184 "Complex a b = numeral w \<longleftrightarrow> a = numeral w \<and> b = 0" |
180 by (simp add: complex_eq_iff) |
185 by (simp add: complex_eq_iff) |
181 |
186 |
182 lemma Complex_eq_neg_numeral [simp]: |
187 lemma Complex_eq_neg_numeral [simp]: |
183 "(Complex a b = neg_numeral w) = (a = neg_numeral w \<and> b = 0)" |
188 "Complex a b = - numeral w \<longleftrightarrow> a = - numeral w \<and> b = 0" |
184 by (simp add: complex_eq_iff) |
189 by (simp add: complex_eq_iff) |
185 |
190 |
186 |
191 |
187 subsection {* Scalar Multiplication *} |
192 subsection {* Scalar Multiplication *} |
188 |
193 |
419 by (simp add: complex_eq_iff) |
424 by (simp add: complex_eq_iff) |
420 |
425 |
421 lemma complex_i_not_numeral [simp]: "ii \<noteq> numeral w" |
426 lemma complex_i_not_numeral [simp]: "ii \<noteq> numeral w" |
422 by (simp add: complex_eq_iff) |
427 by (simp add: complex_eq_iff) |
423 |
428 |
424 lemma complex_i_not_neg_numeral [simp]: "ii \<noteq> neg_numeral w" |
429 lemma complex_i_not_neg_numeral [simp]: "ii \<noteq> - numeral w" |
425 by (simp add: complex_eq_iff) |
430 by (simp add: complex_eq_iff) |
426 |
431 |
427 lemma i_mult_Complex [simp]: "ii * Complex a b = Complex (- b) a" |
432 lemma i_mult_Complex [simp]: "ii * Complex a b = Complex (- b) a" |
428 by (simp add: complex_eq_iff) |
433 by (simp add: complex_eq_iff) |
429 |
434 |
506 by (simp add: complex_eq_iff) |
511 by (simp add: complex_eq_iff) |
507 |
512 |
508 lemma complex_cnj_numeral [simp]: "cnj (numeral w) = numeral w" |
513 lemma complex_cnj_numeral [simp]: "cnj (numeral w) = numeral w" |
509 by (simp add: complex_eq_iff) |
514 by (simp add: complex_eq_iff) |
510 |
515 |
511 lemma complex_cnj_neg_numeral [simp]: "cnj (neg_numeral w) = neg_numeral w" |
516 lemma complex_cnj_neg_numeral [simp]: "cnj (- numeral w) = - numeral w" |
512 by (simp add: complex_eq_iff) |
517 by (simp add: complex_eq_iff) |
513 |
518 |
514 lemma complex_cnj_scaleR: "cnj (scaleR r x) = scaleR r (cnj x)" |
519 lemma complex_cnj_scaleR: "cnj (scaleR r x) = scaleR r (cnj x)" |
515 by (simp add: complex_eq_iff) |
520 by (simp add: complex_eq_iff) |
516 |
521 |