1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
17 set "baseuri" "cic:/matita/CoRN-Decl/complex/NRootCC".
19 (* $Id: NRootCC.v,v 1.9 2004/04/23 10:00:55 lcf Exp $ *)
21 (*#* printing sqrt_Half %\ensuremath{\sqrt{\frac12}}% *)
23 (*#* printing sqrt_I %\ensuremath{\sqrt{\imath}}% *)
25 (*#* printing nroot_I %\ensuremath{\sqrt[n]{\imath}}% *)
27 (*#* printing nroot_minus_I %\ensuremath{\sqrt[n]{-\imath}}% *)
41 (*#* * Roots of Complex Numbers
43 Properties of non-zero complex numbers
50 inline cic:/CoRN/complex/NRootCC/cc_ap_zero.con.
52 inline cic:/CoRN/complex/NRootCC/C_cc_ap_zero.con.
64 inline cic:/CoRN/complex/NRootCC/imag_to_real.con.
70 (*#* ** Roots of the imaginary unit *)
76 inline cic:/CoRN/complex/NRootCC/sqrt_Half.con.
78 inline cic:/CoRN/complex/NRootCC/sqrt_I.con.
80 inline cic:/CoRN/complex/NRootCC/sqrt_I_nexp.con.
82 inline cic:/CoRN/complex/NRootCC/nroot_I_nexp_aux.con.
84 inline cic:/CoRN/complex/NRootCC/nroot_I.con.
86 inline cic:/CoRN/complex/NRootCC/nroot_I_nexp.con.
89 Hint Resolve nroot_I_nexp: algebra.
92 inline cic:/CoRN/complex/NRootCC/nroot_minus_I.con.
94 inline cic:/CoRN/complex/NRootCC/nroot_minus_I_nexp.con.
100 (*#* ** Roots of complex numbers *)
106 (*#* We define the nth root of a complex number with a non zero imaginary part.
110 Section NRootCC_1_ap_real.
114 %\begin{convention}% Let [a,b : IR] and [b_ : (b [#] Zero)].
115 Define [c2 := a[^]2[+]b[^]2], [c := sqrt c2], [a'2 := (c[+]a) [*]Half],
116 [a' := sqrt a'2], [b'2 := (c[-]a) [*]Half] and [b' := sqrt b'2].
120 inline cic:/CoRN/complex/NRootCC/a.var.
122 inline cic:/CoRN/complex/NRootCC/b.var.
124 inline cic:/CoRN/complex/NRootCC/b_.var.
128 inline cic:/CoRN/complex/NRootCC/c2.con.
132 inline cic:/CoRN/complex/NRootCC/nrCC1_c2pos.con.
136 inline cic:/CoRN/complex/NRootCC/c.con.
138 inline cic:/CoRN/complex/NRootCC/a'2.con.
142 inline cic:/CoRN/complex/NRootCC/nrCC1_a'2pos.con.
146 inline cic:/CoRN/complex/NRootCC/a'.con.
148 inline cic:/CoRN/complex/NRootCC/b'2.con.
152 inline cic:/CoRN/complex/NRootCC/nrCC1_b'2pos.con.
156 inline cic:/CoRN/complex/NRootCC/b'.con.
160 inline cic:/CoRN/complex/NRootCC/nrCC1_a3.con.
162 inline cic:/CoRN/complex/NRootCC/nrCC1_a4.con.
165 Hint Resolve nrCC1_a4: algebra.
168 inline cic:/CoRN/complex/NRootCC/nrCC1_a5.con.
170 inline cic:/CoRN/complex/NRootCC/nrCC1_a6.con.
172 inline cic:/CoRN/complex/NRootCC/nrCC1_a6'.con.
175 Hint Resolve nrCC1_a5: algebra.
178 inline cic:/CoRN/complex/NRootCC/nrCC1_a7_upper.con.
180 inline cic:/CoRN/complex/NRootCC/nrCC1_a7_lower.con.
183 Hint Resolve nrCC1_a3 nrCC1_a7_upper nrCC1_a7_lower: algebra.
186 inline cic:/CoRN/complex/NRootCC/nrootCC_1_upper.con.
188 inline cic:/CoRN/complex/NRootCC/nrootCC_1_lower.con.
190 inline cic:/CoRN/complex/NRootCC/nrootCC_1_ap_real.con.
193 End NRootCC_1_ap_real.
196 (*#* We now define the nth root of a complex number with a non zero real part.
200 Section NRootCC_1_ap_imag.
204 %\begin{convention}% Let [a,b : IR] and [a_ : (a [#] Zero)] and define
205 [c' := (a[+I*]b) [*][--]II := a'[+I*]b'].
209 inline cic:/CoRN/complex/NRootCC/a.var.
211 inline cic:/CoRN/complex/NRootCC/b.var.
213 inline cic:/CoRN/complex/NRootCC/a_.var.
217 inline cic:/CoRN/complex/NRootCC/c'.con.
219 inline cic:/CoRN/complex/NRootCC/a'.con.
221 inline cic:/CoRN/complex/NRootCC/b'.con.
226 Hint Resolve sqrt_I_nexp: algebra.
229 inline cic:/CoRN/complex/NRootCC/nrootCC_1_ap_imag.con.
232 End NRootCC_1_ap_imag.
235 (*#* We now define the roots of arbitrary non zero complex numbers. *)
237 inline cic:/CoRN/complex/NRootCC/nrootCC_1.con.
248 %\begin{convention}% Let [n : nat] and [c,z : CC] and [c_:(c [#] Zero)].
252 inline cic:/CoRN/complex/NRootCC/n.var.
254 inline cic:/CoRN/complex/NRootCC/c.var.
256 inline cic:/CoRN/complex/NRootCC/z.var.
258 inline cic:/CoRN/complex/NRootCC/c_.var.
260 inline cic:/CoRN/complex/NRootCC/nrootCC_2'.con.
262 inline cic:/CoRN/complex/NRootCC/nrootCC_2.con.
272 inline cic:/CoRN/complex/NRootCC/Im_poly.con.
274 inline cic:/CoRN/complex/NRootCC/nrCC3_a1.con.
276 inline cic:/CoRN/complex/NRootCC/nrCC3_a2.con.
279 %\begin{convention}% Let [a,b : IR], [b_ : (b [#] Zero)] and [n : nat].
283 inline cic:/CoRN/complex/NRootCC/a.var.
285 inline cic:/CoRN/complex/NRootCC/b.var.
287 inline cic:/CoRN/complex/NRootCC/b_.var.
289 inline cic:/CoRN/complex/NRootCC/n.var.
291 inline cic:/CoRN/complex/NRootCC/nrCC3_poly''.con.
293 inline cic:/CoRN/complex/NRootCC/nrCC3_a3.con.
295 inline cic:/CoRN/complex/NRootCC/nrCC3_a4.con.
297 inline cic:/CoRN/complex/NRootCC/nrCC3_a5.con.
299 inline cic:/CoRN/complex/NRootCC/nrCC3_a6.con.
301 inline cic:/CoRN/complex/NRootCC/nrCC3_poly'.con.
304 Hint Resolve nrCC3_a3: algebra.
307 inline cic:/CoRN/complex/NRootCC/nrCC3_a7.con.
309 inline cic:/CoRN/complex/NRootCC/nrCC3_a8.con.
312 Hint Resolve nth_coeff_p_mult_c_: algebra.
316 Hint Resolve nrCC3_a6: algebra.
319 inline cic:/CoRN/complex/NRootCC/nrCC3_a9.con.
321 inline cic:/CoRN/complex/NRootCC/nrootCC_3_poly.con.
324 Hint Resolve nrCC3_a1 nrCC3_a7: algebra.
327 inline cic:/CoRN/complex/NRootCC/nrootCC_3_.con.
330 Hint Resolve nrootCC_3_: algebra.
334 Hint Resolve calculate_Im: algebra.
337 inline cic:/CoRN/complex/NRootCC/nrootCC_3.con.
340 Hint Resolve nrCC3_a2: algebra.
344 Hint Resolve nrCC3_a9: algebra.
347 inline cic:/CoRN/complex/NRootCC/nrootCC_3_degree.con.
358 %\begin{convention}% Let [c:IR], [n:nat] and [n_:(lt (0) n)].
362 inline cic:/CoRN/complex/NRootCC/c.var.
364 inline cic:/CoRN/complex/NRootCC/n.var.
366 inline cic:/CoRN/complex/NRootCC/n_.var.
368 inline cic:/CoRN/complex/NRootCC/nrootCC_3'_poly.con.
370 inline cic:/CoRN/complex/NRootCC/nrootCC_3'.con.
372 inline cic:/CoRN/complex/NRootCC/nrootCC_3'_degree.con.
383 Section NRootCC_4_ap_real.
387 %\begin{convention}% Let [a,b : IR], [b_ : (b [#] Zero)], [n : nat] and
388 [n_:(odd n)]; define [c := a[+I*]b].
392 inline cic:/CoRN/complex/NRootCC/a.var.
394 inline cic:/CoRN/complex/NRootCC/b.var.
396 inline cic:/CoRN/complex/NRootCC/b_.var.
398 inline cic:/CoRN/complex/NRootCC/n.var.
400 inline cic:/CoRN/complex/NRootCC/n_.var.
404 inline cic:/CoRN/complex/NRootCC/c.con.
409 Section NRootCC_4_solutions.
413 Hint Resolve nrootCC_3: algebra.
416 inline cic:/CoRN/complex/NRootCC/nrCC4_a1.con.
419 %\begin{convention}% Let [r2',c2 : IR] and [r2'_ : (r2' [#] Zero)].
423 inline cic:/CoRN/complex/NRootCC/r2'.var.
425 inline cic:/CoRN/complex/NRootCC/c2.var.
427 inline cic:/CoRN/complex/NRootCC/r2'_.var.
430 Hint Resolve nrootCC_3': algebra.
433 inline cic:/CoRN/complex/NRootCC/nrCC4_a1'.con.
436 End NRootCC_4_solutions.
440 Section NRootCC_4_equations.
444 %\begin{convention}% Let [r,y2 : IR] be such that
445 [(r[+I*]One) [^]n[*] (CC_conj c) [-] (r[+I*][--]One) [^]n[*]c [=] Zero]
446 and [(y2[*] (r[^] (2) [+]One)) [^]n [=] a[^] (2) [+]b[^] (2)].
450 inline cic:/CoRN/complex/NRootCC/r.var.
452 inline cic:/CoRN/complex/NRootCC/r_property.var.
454 inline cic:/CoRN/complex/NRootCC/y2.var.
456 inline cic:/CoRN/complex/NRootCC/y2_property.var.
458 inline cic:/CoRN/complex/NRootCC/nrCC4_a2.con.
460 inline cic:/CoRN/complex/NRootCC/nrCC4_a3.con.
462 inline cic:/CoRN/complex/NRootCC/nrCC4_a4.con.
464 inline cic:/CoRN/complex/NRootCC/nrCC4_y.con.
466 inline cic:/CoRN/complex/NRootCC/y.con.
468 inline cic:/CoRN/complex/NRootCC/nrCC4_x.con.
470 inline cic:/CoRN/complex/NRootCC/x.con.
472 inline cic:/CoRN/complex/NRootCC/nrCC4_a5.con.
474 inline cic:/CoRN/complex/NRootCC/nrCC4_a6.con.
476 inline cic:/CoRN/complex/NRootCC/nrCC4_z.con.
478 inline cic:/CoRN/complex/NRootCC/z.con.
480 inline cic:/CoRN/complex/NRootCC/nrCC4_a7.con.
483 Hint Resolve nrCC4_a6: algebra.
486 inline cic:/CoRN/complex/NRootCC/nrCC4_a8.con.
488 inline cic:/CoRN/complex/NRootCC/nrCC4_a9.con.
491 End NRootCC_4_equations.
494 inline cic:/CoRN/complex/NRootCC/nrCC4_a10.con.
496 inline cic:/CoRN/complex/NRootCC/nrootCC_4_ap_real.con.
499 End NRootCC_4_ap_real.
503 Section NRootCC_4_ap_imag.
507 %\begin{convention}% Let [a,b : IR] and [n : nat] with [a [#] Zero]
508 and [(odd n)]; define [c' := (a[+I*]b) [*]II := a'[+I*]b'].
512 inline cic:/CoRN/complex/NRootCC/a.var.
514 inline cic:/CoRN/complex/NRootCC/b.var.
516 inline cic:/CoRN/complex/NRootCC/a_.var.
518 inline cic:/CoRN/complex/NRootCC/n.var.
520 inline cic:/CoRN/complex/NRootCC/n_.var.
524 inline cic:/CoRN/complex/NRootCC/c'.con.
526 inline cic:/CoRN/complex/NRootCC/a'.con.
528 inline cic:/CoRN/complex/NRootCC/b'.con.
532 inline cic:/CoRN/complex/NRootCC/nrootCC_4_ap_real'.con.
535 Hint Resolve nroot_minus_I_nexp: algebra.
538 inline cic:/CoRN/complex/NRootCC/nrootCC_4_ap_imag.con.
541 End NRootCC_4_ap_imag.
544 inline cic:/CoRN/complex/NRootCC/nrootCC_4.con.
550 (*#* Finally, the general definition of nth root. *)
556 inline cic:/CoRN/complex/NRootCC/nrCC_5a2.con.
558 inline cic:/CoRN/complex/NRootCC/nrCC_5a3.con.
561 Hint Resolve nrCC_5a3: algebra.
565 %\begin{convention}% Let [c : CC] with [c [#] Zero].
569 inline cic:/CoRN/complex/NRootCC/c.var.
571 inline cic:/CoRN/complex/NRootCC/c_.var.
573 inline cic:/CoRN/complex/NRootCC/nrCC_5a4.con.
575 inline cic:/CoRN/complex/NRootCC/nrootCC_5.con.
581 (*#* Final definition *)
583 inline cic:/CoRN/complex/NRootCC/CnrootCC.con.