:: The Field of Complex Numbers
:: by Anna Justyna Milewska
::
:: Received January 18, 2000
:: Copyright (c) 2000-2026 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies STRUCT_0, ALGSTR_0, NUMBERS, BINOP_2, MESFUNC1, COMPLEX1,
SUPINF_2, XBOOLE_0, XCMPLX_0, SUBSET_1, ORDINAL1, ARYTM_3, FUNCT_1,
RELAT_1, VECTSP_1, GROUP_1, RLVECT_1, BINOP_1, LATTICES, ARYTM_1, CARD_1,
XXREAL_0, NAT_1, NEWTON, COMPTRIG, COMPLFLD, MEMBERED;
notations TARSKI, XBOOLE_0, SUBSET_1, ORDINAL1, NUMBERS, XCMPLX_0, COMPLEX1,
REAL_1, NAT_1, MEMBERED, FUNCT_1, XXREAL_0, COMPTRIG, BINOP_1, BINOP_2,
STRUCT_0, ALGSTR_0, RLVECT_1, GROUP_1, NEWTON, VECTSP_1;
constructors BINOP_1, XXREAL_0, REAL_1, NAT_1, BINOP_2, NEWTON, COMPTRIG,
VECTSP_1, RLVECT_1, GROUP_1, MEMBERED;
registrations ORDINAL1, RELSET_1, NUMBERS, XCMPLX_0, NAT_1, COMPLEX1,
STRUCT_0, VECTSP_1, XREAL_0, MEMBERED;
requirements NUMERALS, SUBSET, ARITHM;
definitions RLVECT_1, VECTSP_1, COMPTRIG, ALGSTR_0;
equalities STRUCT_0, COMPLEX1, ALGSTR_0;
expansions RLVECT_1, GROUP_1, VECTSP_1, STRUCT_0;
theorems COMPLEX1, RLVECT_1, VECTSP_1, XCMPLX_0, XCMPLX_1, BINOP_2, GROUP_1,
COMPTRIG, NEWTON, ORDINAL1, NAT_1, XREAL_1;
schemes NAT_1;
begin
definition
func F_Complex -> strict doubleLoopStr means :Def1:
the carrier of it = COMPLEX & the addF of it = addcomplex &
the multF of it = multcomplex & 1.it = 1r & 0.it = 0c;
existence
proof
take doubleLoopStr (# COMPLEX,addcomplex,multcomplex,1r,0c #);
thus thesis;
end;
uniqueness;
end;
registration
cluster F_Complex -> non empty;
coherence by Def1;
end;
registration
cluster the carrier of F_Complex -> complex-membered;
coherence by Def1;
end;
registration
let a,b be Complex;
let x,y be Element of F_Complex;
identify x+y with a+b when x=a, y=b;
compatibility
proof
reconsider a9=a, b9=b as Element of COMPLEX by XCMPLX_0:def 2;
assume x=a & y=b;
hence x+y = addcomplex.(a9,b9) by Def1
.= a+b by BINOP_2:def 3;
end;
identify x*y with a*b when x=a, y=b;
compatibility
proof
reconsider a9=a, b9=b as Element of COMPLEX by XCMPLX_0:def 2;
assume x=a & y=b;
hence x*y = multcomplex.(a9,b9) by Def1
.= a*b by BINOP_2:def 5;
end;
end;
registration
cluster F_Complex -> well-unital;
coherence
proof
let x be Element of F_Complex;
1.F_Complex = 1r by Def1;
hence thesis;
end;
end;
Lm1: 1_F_Complex = 1r by Def1;
Lm2: 1.F_Complex = 1r by Def1;
registration
cluster F_Complex -> add-associative right_zeroed right_complementable
Abelian commutative associative left_unital right_unital distributive
almost_left_invertible non degenerated;
coherence
proof
thus F_Complex is add-associative;
thus F_Complex is right_zeroed
proof
let x be Element of F_Complex;
reconsider x1=x as Element of COMPLEX by Def1;
thus x + 0.F_Complex = (the addF of F_Complex).(x1,0c) by Def1
.= addcomplex.(x1,0c) by Def1
.= x1 + 0c by BINOP_2:def 3
.= x;
end;
thus F_Complex is right_complementable
proof
let x be Element of F_Complex;
reconsider x1=x as Element of COMPLEX by Def1;
-x1 in COMPLEX by XCMPLX_0:def 2;
then reconsider y=-x1 as Element of F_Complex by Def1;
take y;
thus thesis by Def1;
end;
thus F_Complex is Abelian;
thus F_Complex is commutative;
thus F_Complex is associative;
thus F_Complex is left_unital;
thus F_Complex is right_unital;
thus F_Complex is distributive;
thus F_Complex is almost_left_invertible
proof
let x be Element of F_Complex;
reconsider x1=x as Element of COMPLEX by Def1;
assume
A1: x <> 0.F_Complex;
x1" in COMPLEX by XCMPLX_0:def 2;
then reconsider y=x1" as Element of F_Complex by Def1;
take y;
x1<>0c by A1,Def1;
hence thesis by Lm2,XCMPLX_0:def 7;
end;
thus F_Complex is non degenerated by Def1,Lm1;
end;
end;
theorem
for x1,y1 be Element of F_Complex for x2,y2 be Complex st
x1 = x2 & y1 = y2 holds x1 + y1 = x2 + y2;
theorem Th2:
for x1 be Element of F_Complex for x2 be Complex st
x1 = x2 holds - x1 = - x2
proof
let x1 be Element of F_Complex;
let x2 be Complex;
assume
A1: x1 = x2;
reconsider x2 as Element of COMPLEX by XCMPLX_0:def 2;
-x2 in COMPLEX by XCMPLX_0:def 2;
then reconsider x9=-x2 as Element of F_Complex by Def1;
x1 + x9 = 0.F_Complex by A1,Def1;
hence thesis by RLVECT_1:def 10;
end;
registration
let a be Complex;
let x be Element of F_Complex;
identify -x with -a when x=a;
compatibility by Th2;
end;
registration
let a,b be Complex;
let x,y be Element of F_Complex;
identify x-y with a-b when x=a, y=b;
compatibility;
end;
theorem
for x1,y1 be Element of F_Complex for x2,y2 be Complex st
x1 = x2 & y1 = y2 holds x1 - y1 = x2 - y2;
theorem
for x1,y1 be Element of F_Complex for x2,y2 be Complex st
x1 = x2 & y1 = y2 holds x1 * y1 = x2 * y2;
theorem Th5:
for x1 be Element of F_Complex for x2 be Complex st
x1 = x2 & x1 <> 0.F_Complex holds x1" = x2"
proof
let x1 be Element of F_Complex;
let x2 be Complex;
reconsider x4 = x2 as Element of COMPLEX by XCMPLX_0:def 2;
x4" in COMPLEX by XCMPLX_0:def 2;
then reconsider x9= x4" as Element of F_Complex by Def1;
assume that
A1: x1 = x2 and
A2: x1 <> 0.F_Complex;
0c = 0.F_Complex by Def1;
then x1 * x9 = 1.F_Complex by A1,A2,Lm2,XCMPLX_0:def 7;
hence thesis by A2,VECTSP_1:def 10;
end;
registration
let a be Complex;
let x be non zero Element of F_Complex;
identify x" with a" when x=a;
compatibility by Th5;
end;
theorem Th6:
for x1,y1 be Element of F_Complex for x2,y2 be Complex st
x1 = x2 & y1 = y2 & y1 <> 0.F_Complex holds x1/y1 = x2/y2
proof
let x1,y1 be Element of F_Complex;
let x2,y2 be Complex;
assume that
A1: x1 = x2 and
A2: y1 = y2;
assume y1 <> 0.F_Complex;
then y1" = y2" by A2,Th5;
hence thesis by A1,XCMPLX_0:def 9;
end;
registration
let a,b be Complex;
let x,y be non zero Element of F_Complex;
identify x/y with a/b when x=a, y=b;
compatibility by Th6;
end;
theorem Th7:
0.F_Complex = 0c by Def1;
theorem
1_F_Complex = 1r by Def1;
theorem
1_F_Complex + 1_F_Complex <> 0.F_Complex by Def1,Lm1;
definition
let z be Element of F_Complex;
redefine func z *' -> Element of F_Complex; :: redefines *' (COMPLEX1, definition)
coherence
proof
z *' in COMPLEX by XCMPLX_0:def 2;
hence thesis by Def1;
end;
end;
reserve z,z1,z2,z3,z4 for Element of F_Complex;
theorem
-z = (-1_F_Complex) * z by Lm1;
theorem
z1 - -z2 = z1 + z2;
theorem
z1 = z1 + z - z;
theorem
z1 = z1 - z + z;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex & z1" = z2" implies z1 = z2
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z1 <> 0.F_Complex;
assume
A2: z2 <> 0.F_Complex;
assume z1" = z2";
then z19" = z2" by A1,Th5
.= z29" by A2,Th5;
hence thesis by XCMPLX_1:201;
end;
theorem
z2 <> 0.F_Complex & (z1 * z2 = 1.F_Complex or z2 * z1 = 1.F_Complex)
implies z1 = z2"
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
assume
A2: z1 * z2 = 1.F_Complex or z2 * z1 = 1.F_Complex;
per cases by A2;
suppose
A3: z1 * z2 = 1.F_Complex;
A4: z2" = z29" by A1,Th5;
z19 * z29 = 1r by A3,Def1;
hence thesis by A1,A4,Th7,XCMPLX_0:def 7;
end;
suppose
A5: z2 * z1 = 1.F_Complex;
A6: z2" = z29" by A1,Th5;
z29 * z19 = 1r by A5,Def1;
hence thesis by A1,A6,Th7,XCMPLX_0:def 7;
end;
end;
theorem
z2 <> 0.F_Complex & (z1 * z2 = z3 or z2 * z1 = z3) implies
z1 = z3 * z2" & z1 = z2" * z3
proof
reconsider z29=z2 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
then
A2: z2" = z29" by Th5;
assume
A3: z1 * z2 = z3 or z2 * z1 = z3;
per cases by A3;
suppose
z1 * z2 = z3;
hence thesis by A1,A2,Th7,XCMPLX_1:203;
end;
suppose
z2 * z1 = z3;
hence thesis by A1,A2,Th7,XCMPLX_1:203;
end;
end;
theorem
(1.F_Complex)" = 1.F_Complex
proof
1.F_Complex = 1r" by Def1;
hence thesis;
end;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex implies (z1 * z2)" = z1" * z2"
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z1 <> 0.F_Complex;
then
A2: z1" = z19" by Th5;
assume
A3: z2 <> 0.F_Complex;
then
A4: z2" = z29" by Th5;
z1 * z2 <> 0.F_Complex by A1,A3,VECTSP_1:12;
hence (z1 * z2)" = (z19 * z29)" by Th5
.= z1" * z2" by A2,A4,XCMPLX_1:204;
end;
theorem
z <> 0.F_Complex implies (-z)" = -(z")
proof
reconsider z1=z as Element of COMPLEX by Def1;
assume
A2: z <> 0.F_Complex;
-z <> 0.F_Complex by A2,VECTSP_1:28;
hence (-z)" = (-z1)" by Th5
.= -(z1") by XCMPLX_1:222
.= -(z") by A2,Th5;
end;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex implies
z1" + z2" = (z1 + z2) * (z1 * z2)"
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z1 <> 0.F_Complex;
then
A2: z1" = z19" by Th5;
assume
A3: z2 <> 0.F_Complex;
then z1 * z2 <> 0.F_Complex by A1,VECTSP_1:12;
then
A4: (z1 * z2)" = (z19 * z29)" by Th5;
z2" = z29" by A3,Th5;
hence thesis by A1,A2,A3,A4,Th7,XCMPLX_1:211;
end;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex implies
z1" - z2" = (z2 - z1) * (z1 * z2)"
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A2: z1 <> 0.F_Complex;
then
A3: z1" = z19" by Th5;
assume
A4: z2 <> 0.F_Complex;
then z1 * z2 <> 0.F_Complex by A2,VECTSP_1:12;
then
A5: (z1 * z2)" = (z19 * z29)" by Th5;
thus z1" - z2" = z19" - z29" by A3,A4,Th5
.= (z2 - z1) * (z1 * z2)" by A2,A4,A5,Th7,XCMPLX_1:212;
end;
theorem
z <> 0.F_Complex implies z" = (1.F_Complex) / z;
theorem
z / (1.F_Complex) = z
proof
1.F_Complex = 1r by Def1;
hence thesis;
end;
theorem
z <> 0.F_Complex implies z / z = 1.F_Complex
proof
reconsider z1=z as Element of COMPLEX by Def1;
assume
A1: z <> 0.F_Complex;
hence z / z = z1 / z1 by Th6
.= 1r by A1,Th7,XCMPLX_1:60
.= 1.F_Complex by Def1;
end;
theorem
z <> 0.F_Complex implies (0.F_Complex) / z = 0.F_Complex;
theorem Th26:
z2 <> 0.F_Complex & z1 / z2 = 0.F_Complex implies z1 = 0. F_Complex
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
assume z1 / z2 = 0.F_Complex;
then z19 / z29 = 0.F_Complex by A1,Th6;
hence thesis by A1,Th7;
end;
theorem
z2 <> 0.F_Complex & z4 <> 0.F_Complex implies
(z1 / z2) * (z3 / z4) = (z1 * z3) / (z2 * z4)
proof
reconsider z19=z1,z29=z2,z39=z3,z49=z4 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
assume
A2: z4 <> 0.F_Complex;
then
A3: z2 * z4 <> 0.F_Complex by A1,VECTSP_1:12;
A4: z39 / z49 = z3 / z4 by A2,Th6;
z19 / z29 = z1 / z2 by A1,Th6;
hence (z1 / z2) * (z3 / z4) = (z19 * z39) / (z29 * z49) by A4,XCMPLX_1:76
.= (z1 * z3) / (z2 * z4) by A3,Th6;
end;
theorem
z2 <> 0.F_Complex implies z * (z1 / z2) = (z * z1) / z2;
theorem
z2 <> 0.F_Complex & z1 / z2 = 1.F_Complex implies z1 = z2
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
assume z1 / z2 = 1.F_Complex;
then z19 / z29 = 1.F_Complex by A1,Th6;
then z19 / z29 = 1 by Def1;
hence thesis by XCMPLX_1:58;
end;
theorem
z <> 0.F_Complex implies z1 = (z1 * z) / z
proof
reconsider z19=z1,z9=z as Element of COMPLEX by Def1;
assume
A1: z <> 0.F_Complex;
hence z1 = (z19 * z9) / z9 by Th7,XCMPLX_1:89
.= (z1 * z) / z by A1,Th6;
end;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex implies (z1 / z2)" = z2 / z1
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z1 <> 0.F_Complex;
assume
A2: z2 <> 0.F_Complex;
then
A3: z19 / z29 = z1 / z2 by Th6;
z1 / z2 <> 0.F_Complex by A1,A2,Th26;
hence (z1 / z2)" = (z19 / z29)" by A3,Th5
.= z29 / z19 by XCMPLX_1:213
.= z2 / z1 by A1,Th6;
end;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex implies (z1" / z2") = z2 / z1
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z1 <> 0.F_Complex;
assume z2 <> 0.F_Complex;
then
A2: z2" = z29" & z2" <> 0.F_Complex by Th5,VECTSP_1:25;
z1" = z19" by A1,Th5;
hence (z1" / z2") = (z19" / z29") by A2,Th6
.= z29 / z19 by XCMPLX_1:214
.= z2 / z1 by A1,Th6;
end;
theorem
z2 <> 0.F_Complex implies z1 / z2" = z1 * z2
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume z2 <> 0.F_Complex;
then z2" <> 0.F_Complex & z2" = z29" by Th5,VECTSP_1:25;
hence z1 / z2" = z19 / z29" by Th6
.= z1 * z2 by XCMPLX_1:219;
end;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex implies z1" / z2 = (z1 * z2)"
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z1 <> 0.F_Complex;
assume
A2: z2 <> 0.F_Complex;
then
A3: z1 * z2 <> 0.F_Complex by A1,VECTSP_1:12;
z1" = z19" by A1,Th5;
hence z1" / z2 = z19" / z29 by A2,Th6
.= (z19 * z29)" by XCMPLX_1:221
.= (z1 * z2)" by A3,Th5;
end;
theorem
z1 <> 0.F_Complex & z2 <> 0.F_Complex implies z1"* (z / z2) = z / (z1 * z2)
proof
reconsider z19=z1,z29=z2,z9=z as Element of COMPLEX by Def1;
assume
A1: z1 <> 0.F_Complex;
assume
A2: z2 <> 0.F_Complex;
then
A3: z1 * z2 <> 0.F_Complex by A1,VECTSP_1:12;
A4: z9 / z29 = z / z2 by A2,Th6;
z1" = z19" by A1,Th5;
hence z1"* (z / z2) = z9 / (z19 * z29) by A4,XCMPLX_1:220
.= z / (z1 * z2) by A3,Th6;
end;
theorem
z <> 0.F_Complex & z2 <> 0.F_Complex implies
(z1 / z2) = (z1 * z) / (z2 * z) & (z1 / z2) = (z * z1) / (z * z2)
proof
reconsider z19=z1,z29=z2,z9=z as Element of COMPLEX by Def1;
assume
A1: z <> 0.F_Complex;
assume
A2: z2 <> 0.F_Complex;
then
A3: z2 * z <> 0.F_Complex by A1,VECTSP_1:12;
thus (z1 / z2) = (z19 / z29) by A2,Th6
.= (z19 * z9) / (z29 * z9) by A1,Th7,XCMPLX_1:91
.= (z1 * z) / (z2 * z) by A3,Th6;
hence thesis;
end;
theorem
z2 <> 0.F_Complex & z3 <> 0.F_Complex implies z1 / (z2 * z3) = z1 / z2 / z3
proof
reconsider z19=z1,z29=z2,z39=z3 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
then
A2: z1 / z2 = z19 / z29 by Th6;
assume
A3: z3 <> 0.F_Complex;
then z2 * z3 <> 0.F_Complex by A1,VECTSP_1:12;
hence z1 / (z2 * z3) = z19 / (z29 * z39) by Th6
.= z19 / z29 / z39 by XCMPLX_1:78
.= z1 / z2 / z3 by A3,A2,Th6;
end;
theorem
z2 <> 0.F_Complex & z3 <> 0.F_Complex implies
(z1 * z3) / z2 = z1 / (z2 / z3)
proof
reconsider z19=z1,z29=z2,z39=z3 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
assume
A2: z3 <> 0.F_Complex;
then
A3: z2 / z3 <> 0.F_Complex by A1,Th26;
A4: z2 / z3 = z29 / z39 by A2,Th6;
thus (z1 * z3) / z2 = (z19 * z39) / z29 by A1,Th6
.= z19 / (z29 / z39) by XCMPLX_1:77
.= z1 / (z2 / z3) by A4,A3,Th6;
end;
theorem
z2 <> 0.F_Complex & z3 <> 0.F_Complex & z4 <> 0.F_Complex implies
(z1 / z2) / (z3 / z4) = (z1 * z4) / (z2 * z3)
proof
reconsider z19=z1,z29=z2,z39=z3,z49=z4 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
then
A2: z1 / z2 = z19 / z29 by Th6;
assume
A3: z3 <> 0.F_Complex;
then
A4: z2 * z3 <> 0.F_Complex by A1,VECTSP_1:12;
assume
A5: z4 <> 0.F_Complex;
then
A6: z3 / z4 = z39 / z49 by Th6;
z3 / z4 <> 0.F_Complex by A3,A5,Th26;
hence (z1 / z2) / (z3 / z4) = (z19 / z29) / (z39 / z49) by A2,A6,Th6
.= (z19 * z49) / (z29 * z39) by XCMPLX_1:84
.= (z1 * z4) / (z2 * z3) by A4,Th6;
end;
theorem
z2 <> 0.F_Complex & z4 <> 0.F_Complex implies
z1 / z2 + z3 / z4 = (z1 * z4 + z3 * z2) / (z2 * z4)
proof
reconsider z19=z1,z29=z2,z39=z3,z49=z4 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
then
A2: z1 / z2 = z19 / z29 by Th6;
assume
A3: z4 <> 0.F_Complex;
then
A4: z2 * z4 <> 0.F_Complex by A1,VECTSP_1:12;
z3 / z4 = z39 / z49 by A3,Th6;
hence
z1 / z2 + z3 / z4 = (z19 * z49 + z39 * z29) / (z29 * z49) by A1,A3,A2,Th7,
XCMPLX_1:116
.= (z1 * z4 + z3 * z2) / (z2 * z4) by A4,Th6;
end;
theorem
z <> 0.F_Complex implies z1 / z + z2 / z = (z1 + z2) / z;
theorem
z2 <> 0.F_Complex implies -(z1 / z2) = (-z1) / z2 & -(z1 / z2) = z1 / (-z2)
proof
assume
A1: z2 <> 0.F_Complex;
then
A2: -z2 <> 0.F_Complex by VECTSP_1:28;
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
thus -(z1 / z2) = -(z19 / z29) by A1,Th6
.= (-z19) / z29 by XCMPLX_1:187
.= (-z1) / z2 by A1,Th6;
thus -(z1 / z2) = -(z19 / z29) by A1,Th6
.= z19 / -(z29) by XCMPLX_1:188
.= z1 / -z2 by A2,Th6;
end;
theorem
z2 <> 0.F_Complex implies z1 / z2 = (-z1) / (-z2)
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
then
A2: -z2 <> 0.F_Complex by VECTSP_1:28;
thus z1 / z2 = z19 / z29 by A1,Th6
.= (-z19) / (-z29) by XCMPLX_1:191
.= (-z1) / (-z2) by A2,Th6;
end;
theorem
z2 <> 0.F_Complex & z4 <> 0.F_Complex implies
z1 / z2 - z3 / z4 = (z1 * z4 - z3 * z2) / (z2 * z4)
proof
reconsider z19=z1,z29=z2,z39=z3,z49=z4 as Element of COMPLEX by Def1;
assume
A2: z2 <> 0.F_Complex;
then
A3: z19 / z29 = z1 / z2 by Th6;
assume
A4: z4 <> 0.F_Complex;
then
A5: z2 * z4 <> 0.F_Complex by A2,VECTSP_1:12;
thus z1 / z2 - z3 / z4 = z19 / z29 - z39 / z49 by A3,A4,Th6
.= (z19 * z49 - z39 * z29) / (z29 * z49) by A2,A4,Th7,XCMPLX_1:130
.= (z1 * z4 - z3 * z2) / (z2 * z4) by A5,Th6;
end;
theorem
z <> 0.F_Complex implies z1 / z - z2 / z = (z1 - z2) / z;
theorem
z2 <> 0.F_Complex & (z1 * z2 = z3 or z2 * z1 = z3) implies z1 = z3 / z2
proof
reconsider z39=z3,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
assume
A2: z1 * z2 = z3 or z2 * z1 = z3;
per cases by A2;
suppose
z1 * z2 = z3;
hence z1 = z39 / z29 by A1,Th7,XCMPLX_1:89
.= z3 / z2 by A1,Th6;
end;
suppose
z2 * z1 = z3;
hence z1 = z39 / z29 by A1,Th7,XCMPLX_1:89
.= z3 / z2 by A1,Th6;
end;
end;
theorem
(0.F_Complex)*' = 0.F_Complex
proof
0.F_Complex = 0c by Def1;
hence thesis;
end;
theorem Th48:
z*' = 0.F_Complex implies z = 0.F_Complex
proof
assume z*' = 0.F_Complex;
then z*' = 0c by Def1;
then z = 0c by COMPLEX1:29;
hence thesis by Def1;
end;
theorem
(1.F_Complex)*' = 1.F_Complex
proof
1.F_Complex = 1r by Def1;
hence thesis;
end;
theorem
z*'*' = z;
theorem
(z1 + z2)*' = z1*' + z2*' by COMPLEX1:32;
theorem
(-z)*' = -(z*') by COMPLEX1:33;
theorem
(z1 - z2)*' = z1*' - z2*' by COMPLEX1:34;
theorem
(z1 * z2)*' = z1*' * z2*' by COMPLEX1:35;
theorem
z <> 0.F_Complex implies z"*' = z*'"
proof
reconsider z1=z as Element of COMPLEX by Def1;
assume
A1: z <> 0.F_Complex;
then
A2: z*' <> 0.F_Complex by Th48;
z" = z1" by A1,Th5;
hence z"*' = z1*'" by COMPLEX1:36
.= z*'" by A2,Th5;
end;
theorem
z2 <> 0.F_Complex implies (z1 / z2)*' = (z1*') / (z2*')
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume
A1: z2 <> 0.F_Complex;
then
A2: z2*' <> 0.F_Complex by Th48;
z19 / z29 = z1 / z2 by A1,Th6;
hence (z1 / z2)*' = (z19*') / (z29*') by COMPLEX1:37
.= (z1*') / (z2*') by A2,Th6;
end;
theorem
|.0.F_Complex.| = 0 by Def1,COMPLEX1:44;
theorem
|.z.| = 0 implies z = 0.F_Complex by Th7;
theorem
z <> 0.F_Complex iff 0 < |.z.| by Th7,COMPLEX1:47;
theorem
|.1.F_Complex.| = 1 by Def1,COMPLEX1:48;
theorem
|.-z.| = |.z.| by COMPLEX1:52;
theorem
|.z1 + z2.| <= |.z1.| + |.z2.| by COMPLEX1:56;
theorem
|.z1 - z2.| <= |.z1.| + |.z2.| by COMPLEX1:57;
theorem
|.z1.| - |.z2.| <= |.z1 + z2.| by COMPLEX1:58;
theorem
|.z1.| - |.z2.| <= |.z1 - z2.| by COMPLEX1:59;
theorem
|.z1 - z2.| = |.z2 - z1.| by COMPLEX1:60;
theorem
|.z1 - z2.| = 0 iff z1 = z2 by COMPLEX1:61;
theorem
z1 <> z2 iff 0 < |.z1 - z2.| by COMPLEX1:62;
theorem
|.z1 - z2.| <= |.z1 - z.| + |.z - z2.| by COMPLEX1:63;
theorem
|.|.z1.| - |.z2.|.| <= |.z1 - z2.| by COMPLEX1:64;
theorem
|.z1*z2.| = |.z1.|*|.z2.| by COMPLEX1:65;
theorem
z <> 0.F_Complex implies |.z".| = |.z.|"
proof
reconsider z1=z as Element of COMPLEX by Def1;
assume z <> 0.F_Complex;
then z" = z1" by Th5;
hence thesis by COMPLEX1:66;
end;
theorem
z2 <> 0.F_Complex implies |.z1.| / |.z2.| = |.z1 / z2.|
proof
reconsider z19=z1,z29=z2 as Element of COMPLEX by Def1;
assume z2 <> 0.F_Complex;
then z19 / z29 = z1 / z2 by Th6;
hence thesis by COMPLEX1:67;
end;
begin :: Addenda
:: from COMPTRIG, 2006.08.12, A.T.
scheme
Regrwithout0 { P[Nat] } : P[1]
provided
A1: ex k be non zero Element of NAT st P[k] and
A2: for k be non zero Element of NAT st k <> 1 & P[k]
ex n be non zero Element of NAT st n < k & P[n]
proof
consider t be non zero Element of NAT such that
A3: P[t] by A1;
defpred R[Nat] means P[$1+1];
A4: now
let k be Nat;
assume that
A5: k <> 0 and
A6: R[k];
reconsider k1=k+1 as non zero Element of NAT;
k+1 > 0+1 by A5,NAT_1:3,XREAL_1:6;
then consider n be non zero Element of NAT such that
A7: n < k1 and
A8: P[n] by A2,A6;
consider l be Nat such that
A9: n = l+1 by NAT_1:6;
take l;
thus l < k by A7,A9,XREAL_1:6;
thus R[l] by A8,A9;
end;
ex s be Nat st t = s+1 by NAT_1:6;
then
A10: ex k be Nat st R[k] by A3;
R[0] from NAT_1:sch 7(A10,A4);
hence thesis;
end;
theorem Th74:
for e being Element of F_Complex, n be Nat holds
(power F_Complex).(e,n) = e|^n
proof
let e be Element of F_Complex;
defpred P[Nat] means (power F_Complex).(e,$1) = e|^$1;
A1: now
let n be Nat;
reconsider n9 = n as Element of NAT by ORDINAL1:def 12;
reconsider p = (power F_Complex).(e,n9) as Element of F_Complex;
assume
A2: P[n];
(power F_Complex).(e,n+1) = p*e by GROUP_1:def 7
.= e|^(n+1) by A2,NEWTON:6;
hence P[n+1];
end;
(power F_Complex).(e,0) = 1_F_Complex by GROUP_1:def 7
.= 1 by Def1;
then
A3: P[0] by NEWTON:4;
thus for n being Nat holds P[n] from NAT_1:sch 2(A3,A1);
end;
definition
let x be Element of F_Complex;
let n be non zero Element of NAT;
redefine mode CRoot of n,x -> Element of F_Complex means :: redefines CRoot (COMPTRIG, definition)
:Def2: (power F_Complex).(it,n) = x;
coherence
proof
let e be CRoot of n,x;
e is Element of COMPLEX by XCMPLX_0:def 2;
hence thesis by Def1;
end;
compatibility
proof
let e be Element of F_Complex;
thus e is CRoot of n,x implies (power F_Complex).(e,n) = x
proof
assume e is CRoot of n,x;
then e|^n = x by COMPTRIG:def 2;
hence thesis by Th74;
end;
assume (power F_Complex).(e,n) = x;
hence e|^n = x by Th74;
end;
end;
theorem
for x be Element of F_Complex for v be CRoot of 1,x holds v = x
proof
let x be Element of F_Complex;
let v be CRoot of 1,x;
(power F_Complex).(v,1) = x by Def2;
hence thesis by GROUP_1:50;
end;
theorem
for n be non zero Element of NAT for v be CRoot of n,0.F_Complex
holds v = 0.F_Complex
proof
let n be non zero Element of NAT;
let v be CRoot of n,0.F_Complex;
defpred P[Element of omega] means (power F_Complex).(v,$1) = 0.F_Complex;
A1: now
let k be non zero Element of NAT;
assume that
A2: k <> 1 and
A3: P[k];
consider t be Nat such that
A4: k = t+1 by NAT_1:6;
reconsider t as Element of NAT by ORDINAL1:def 12;
reconsider t as non zero Element of NAT by A2,A4;
take t;
thus t < k by A4,NAT_1:13;
(power F_Complex).(v,k) = (power F_Complex).(v,t)*v by A4,GROUP_1:def 7;
then (power F_Complex).(v,t) = 0.F_Complex or v = 0.F_Complex by A3,
VECTSP_1:12;
hence P[t] by NAT_1:3,VECTSP_1:36;
end;
A5: ex n be non zero Element of NAT st P[n]
proof
take n;
thus thesis by Def2;
end;
P[1] from Regrwithout0(A5,A1);
hence thesis by GROUP_1:50;
end;
theorem
for n be non zero Element of NAT for x be Element of F_Complex
for v be CRoot of n,x st v = 0.F_Complex holds x = 0.F_Complex
proof
let n be non zero Element of NAT;
let x be Element of F_Complex;
let v be CRoot of n,x;
assume v = 0.F_Complex;
then (power F_Complex).(0.F_Complex,n) = x by Def2;
hence thesis by NAT_1:3,VECTSP_1:36;
end;