:: COMSEQ_3 semantic presentation

Lemma1: 0c = 0 + (0 * <i> )
;

theorem Th1: :: COMSEQ_3:1
for b1 being Nat holds
( b1 + 1 <> 0c & (b1 + 1) * <i> <> 0c ) by Lemma1;

theorem Th2: :: COMSEQ_3:2
for b1 being Real_Sequence st ( for b2 being Nat holds b1 . b2 = 0 ) holds
for b2 being Nat holds (Partial_Sums (abs b1)) . b2 = 0
proof end;

theorem Th3: :: COMSEQ_3:3
for b1 being Real_Sequence st ( for b2 being Nat holds b1 . b2 = 0 ) holds
b1 is absolutely_summable
proof end;

reconsider c1 = NAT --> 0 as Real_Sequence by FUNCOP_1:57;

Lemma4: for b1 being Nat holds c1 . b1 = 0
by FUNCOP_1:13;

registration
cluster summable -> convergent M5( NAT , REAL );
coherence
for b1 being Real_Sequence st b1 is summable holds
b1 is convergent
by SERIES_1:7;
end;

registration
cluster absolutely_summable -> convergent summable M5( NAT , REAL );
coherence
for b1 being Real_Sequence st b1 is absolutely_summable holds
b1 is summable
by SERIES_1:40;
end;

registration
cluster convergent summable absolutely_summable M5( NAT , REAL );
existence
ex b1 being Real_Sequence st b1 is absolutely_summable
proof end;
end;

theorem Th4: :: COMSEQ_3:4
for b1 being Real_Sequence st b1 is convergent holds
for b2 being Real st 0 < b2 holds
ex b3 being Nat st
for b4, b5 being Nat st b3 <= b4 & b3 <= b5 holds
abs ((b1 . b4) - (b1 . b5)) < b2
proof end;

theorem Th5: :: COMSEQ_3:5
for b1 being Real_Sequence
for b2 being Real st ( for b3 being Nat holds b1 . b3 <= b2 ) holds
for b3, b4 being Nat holds ((Partial_Sums b1) . (b3 + b4)) - ((Partial_Sums b1) . b3) <= b2 * b4
proof end;

theorem Th6: :: COMSEQ_3:6
for b1 being Real_Sequence
for b2 being Real st ( for b3 being Nat holds b1 . b3 <= b2 ) holds
for b3 being Nat holds (Partial_Sums b1) . b3 <= b2 * (b3 + 1)
proof end;

theorem Th7: :: COMSEQ_3:7
for b1, b2 being Real_Sequence
for b3 being Nat
for b4 being Real st ( for b5 being Nat st b5 <= b3 holds
b1 . b5 <= b4 * (b2 . b5) ) holds
(Partial_Sums b1) . b3 <= b4 * ((Partial_Sums b2) . b3)
proof end;

theorem Th8: :: COMSEQ_3:8
for b1, b2 being Real_Sequence
for b3 being Nat
for b4 being Real st ( for b5 being Nat st b5 <= b3 holds
b1 . b5 <= b4 * (b2 . b5) ) holds
for b5 being Nat st b5 <= b3 holds
for b6 being Nat st b5 + b6 <= b3 holds
((Partial_Sums b1) . (b5 + b6)) - ((Partial_Sums b1) . b5) <= b4 * (((Partial_Sums b2) . (b5 + b6)) - ((Partial_Sums b2) . b5))
proof end;

theorem Th9: :: COMSEQ_3:9
for b1 being Real_Sequence st ( for b2 being Nat holds 0 <= b1 . b2 ) holds
( ( for b2, b3 being Nat st b2 <= b3 holds
abs (((Partial_Sums b1) . b3) - ((Partial_Sums b1) . b2)) = ((Partial_Sums b1) . b3) - ((Partial_Sums b1) . b2) ) & ( for b2 being Nat holds abs ((Partial_Sums b1) . b2) = (Partial_Sums b1) . b2 ) )
proof end;

theorem Th10: :: COMSEQ_3:10
for b1, b2 being Complex_Sequence st b1 is convergent & b2 is convergent & lim (b1 - b2) = 0c holds
lim b1 = lim b2
proof end;

Lemma5: for b1 being Complex_Sequence
for b2 being Nat holds
( |.(b1 . b2).| = |.b1.| . b2 & 0 <= |.b1.| . b2 )
proof end;

definition
let c2 be complex number ;
func c1 GeoSeq -> Complex_Sequence means :Def1: :: COMSEQ_3:def 1
( a2 . 0 = 1r & ( for b1 being Nat holds a2 . (b1 + 1) = (a2 . b1) * a1 ) );
existence
ex b1 being Complex_Sequence st
( b1 . 0 = 1r & ( for b2 being Nat holds b1 . (b2 + 1) = (b1 . b2) * c2 ) )
proof end;
uniqueness
for b1, b2 being Complex_Sequence st b1 . 0 = 1r & ( for b3 being Nat holds b1 . (b3 + 1) = (b1 . b3) * c2 ) & b2 . 0 = 1r & ( for b3 being Nat holds b2 . (b3 + 1) = (b2 . b3) * c2 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines GeoSeq COMSEQ_3:def 1 :
for b1 being complex number
for b2 being Complex_Sequence holds
( b2 = b1 GeoSeq iff ( b2 . 0 = 1r & ( for b3 being Nat holds b2 . (b3 + 1) = (b2 . b3) * b1 ) ) );

definition
let c2 be complex number ;
let c3 be natural number ;
func c1 #N c2 -> Element of COMPLEX equals :: COMSEQ_3:def 2
(a1 GeoSeq ) . a2;
coherence
(c2 GeoSeq ) . c3 is Element of COMPLEX
proof end;
end;

:: deftheorem Def2 defines #N COMSEQ_3:def 2 :
for b1 being complex number
for b2 being natural number holds b1 #N b2 = (b1 GeoSeq ) . b2;

theorem Th11: :: COMSEQ_3:11
for b1 being Element of COMPLEX holds b1 #N 0 = 1r by Def1;

definition
let c2 be Complex_Sequence;
func Re c1 -> Real_Sequence means :Def3: :: COMSEQ_3:def 3
for b1 being Nat holds a2 . b1 = Re (a1 . b1);
existence
ex b1 being Real_Sequence st
for b2 being Nat holds b1 . b2 = Re (c2 . b2)
proof end;
uniqueness
for b1, b2 being Real_Sequence st ( for b3 being Nat holds b1 . b3 = Re (c2 . b3) ) & ( for b3 being Nat holds b2 . b3 = Re (c2 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines Re COMSEQ_3:def 3 :
for b1 being Complex_Sequence
for b2 being Real_Sequence holds
( b2 = Re b1 iff for b3 being Nat holds b2 . b3 = Re (b1 . b3) );

definition
let c2 be Complex_Sequence;
func Im c1 -> Real_Sequence means :Def4: :: COMSEQ_3:def 4
for b1 being Nat holds a2 . b1 = Im (a1 . b1);
existence
ex b1 being Real_Sequence st
for b2 being Nat holds b1 . b2 = Im (c2 . b2)
proof end;
uniqueness
for b1, b2 being Real_Sequence st ( for b3 being Nat holds b1 . b3 = Im (c2 . b3) ) & ( for b3 being Nat holds b2 . b3 = Im (c2 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines Im COMSEQ_3:def 4 :
for b1 being Complex_Sequence
for b2 being Real_Sequence holds
( b2 = Im b1 iff for b3 being Nat holds b2 . b3 = Im (b1 . b3) );

theorem Th12: :: COMSEQ_3:12
for b1 being Element of COMPLEX holds |.b1.| <= (abs (Re b1)) + (abs (Im b1))
proof end;

theorem Th13: :: COMSEQ_3:13
for b1 being Element of COMPLEX holds
( abs (Re b1) <= |.b1.| & abs (Im b1) <= |.b1.| )
proof end;

theorem Th14: :: COMSEQ_3:14
for b1, b2 being Complex_Sequence st Re b1 = Re b2 & Im b1 = Im b2 holds
b1 = b2
proof end;

theorem Th15: :: COMSEQ_3:15
for b1, b2 being Complex_Sequence holds
( (Re b1) + (Re b2) = Re (b1 + b2) & (Im b1) + (Im b2) = Im (b1 + b2) )
proof end;

theorem Th16: :: COMSEQ_3:16
for b1 being Complex_Sequence holds
( - (Re b1) = Re (- b1) & - (Im b1) = Im (- b1) )
proof end;

theorem Th17: :: COMSEQ_3:17
for b1 being Real
for b2 being Element of COMPLEX holds
( b1 * (Re b2) = Re (b1 * b2) & b1 * (Im b2) = Im (b1 * b2) )
proof end;

theorem Th18: :: COMSEQ_3:18
for b1, b2 being Complex_Sequence holds
( (Re b1) - (Re b2) = Re (b1 - b2) & (Im b1) - (Im b2) = Im (b1 - b2) )
proof end;

theorem Th19: :: COMSEQ_3:19
for b1 being Complex_Sequence
for b2 being Real holds
( b2 (#) (Re b1) = Re (b2 (#) b1) & b2 (#) (Im b1) = Im (b2 (#) b1) )
proof end;

theorem Th20: :: COMSEQ_3:20
for b1 being Complex_Sequence
for b2 being Element of COMPLEX holds
( Re (b2 (#) b1) = ((Re b2) (#) (Re b1)) - ((Im b2) (#) (Im b1)) & Im (b2 (#) b1) = ((Re b2) (#) (Im b1)) + ((Im b2) (#) (Re b1)) )
proof end;

theorem Th21: :: COMSEQ_3:21
for b1, b2 being Complex_Sequence holds
( Re (b1 (#) b2) = ((Re b1) (#) (Re b2)) - ((Im b1) (#) (Im b2)) & Im (b1 (#) b2) = ((Re b1) (#) (Im b2)) + ((Im b1) (#) (Re b2)) )
proof end;

definition
let c2 be increasing Seq_of_Nat;
let c3 be Complex_Sequence;
redefine func * as c2 * c1 -> Complex_Sequence;
coherence
c2 * c3 is Complex_Sequence
proof end;
end;

theorem Th22: :: COMSEQ_3:22
for b1 being Complex_Sequence
for b2 being increasing Seq_of_Nat holds
( Re (b1 * b2) = (Re b1) * b2 & Im (b1 * b2) = (Im b1) * b2 )
proof end;

definition
let c2 be Complex_Sequence;
let c3 be Nat;
canceled;
func c1 ^\ c2 -> Complex_Sequence means :Def6: :: COMSEQ_3:def 6
for b1 being Nat holds a3 . b1 = a1 . (b1 + a2);
existence
ex b1 being Complex_Sequence st
for b2 being Nat holds b1 . b2 = c2 . (b2 + c3)
proof end;
uniqueness
for b1, b2 being Complex_Sequence st ( for b3 being Nat holds b1 . b3 = c2 . (b3 + c3) ) & ( for b3 being Nat holds b2 . b3 = c2 . (b3 + c3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 COMSEQ_3:def 5 :
canceled;

:: deftheorem Def6 defines ^\ COMSEQ_3:def 6 :
for b1 being Complex_Sequence
for b2 being Nat
for b3 being Complex_Sequence holds
( b3 = b1 ^\ b2 iff for b4 being Nat holds b3 . b4 = b1 . (b4 + b2) );

theorem Th23: :: COMSEQ_3:23
for b1 being Complex_Sequence
for b2 being Nat holds
( (Re b1) ^\ b2 = Re (b1 ^\ b2) & (Im b1) ^\ b2 = Im (b1 ^\ b2) )
proof end;

definition
let c2 be Complex_Sequence;
func Partial_Sums c1 -> Complex_Sequence means :Def7: :: COMSEQ_3:def 7
( a2 . 0 = a1 . 0 & ( for b1 being Nat holds a2 . (b1 + 1) = (a2 . b1) + (a1 . (b1 + 1)) ) );
existence
ex b1 being Complex_Sequence st
( b1 . 0 = c2 . 0 & ( for b2 being Nat holds b1 . (b2 + 1) = (b1 . b2) + (c2 . (b2 + 1)) ) )
proof end;
uniqueness
for b1, b2 being Complex_Sequence st b1 . 0 = c2 . 0 & ( for b3 being Nat holds b1 . (b3 + 1) = (b1 . b3) + (c2 . (b3 + 1)) ) & b2 . 0 = c2 . 0 & ( for b3 being Nat holds b2 . (b3 + 1) = (b2 . b3) + (c2 . (b3 + 1)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines Partial_Sums COMSEQ_3:def 7 :
for b1, b2 being Complex_Sequence holds
( b2 = Partial_Sums b1 iff ( b2 . 0 = b1 . 0 & ( for b3 being Nat holds b2 . (b3 + 1) = (b2 . b3) + (b1 . (b3 + 1)) ) ) );

definition
let c2 be Complex_Sequence;
func Sum c1 -> Element of COMPLEX equals :: COMSEQ_3:def 8
lim (Partial_Sums a1);
coherence
lim (Partial_Sums c2) is Element of COMPLEX
;
end;

:: deftheorem Def8 defines Sum COMSEQ_3:def 8 :
for b1 being Complex_Sequence holds Sum b1 = lim (Partial_Sums b1);

theorem Th24: :: COMSEQ_3:24
for b1 being Complex_Sequence st ( for b2 being Nat holds b1 . b2 = 0c ) holds
for b2 being Nat holds (Partial_Sums b1) . b2 = 0c
proof end;

theorem Th25: :: COMSEQ_3:25
for b1 being Complex_Sequence st ( for b2 being Nat holds b1 . b2 = 0c ) holds
for b2 being Nat holds (Partial_Sums |.b1.|) . b2 = 0
proof end;

theorem Th26: :: COMSEQ_3:26
for b1 being Complex_Sequence holds
( Partial_Sums (Re b1) = Re (Partial_Sums b1) & Partial_Sums (Im b1) = Im (Partial_Sums b1) )
proof end;

theorem Th27: :: COMSEQ_3:27
for b1, b2 being Complex_Sequence holds (Partial_Sums b1) + (Partial_Sums b2) = Partial_Sums (b1 + b2)
proof end;

theorem Th28: :: COMSEQ_3:28
for b1, b2 being Complex_Sequence holds (Partial_Sums b1) - (Partial_Sums b2) = Partial_Sums (b1 - b2)
proof end;

theorem Th29: :: COMSEQ_3:29
for b1 being Complex_Sequence
for b2 being Element of COMPLEX holds Partial_Sums (b2 (#) b1) = b2 (#) (Partial_Sums b1)
proof end;

theorem Th30: :: COMSEQ_3:30
for b1 being Complex_Sequence
for b2 being Nat holds |.((Partial_Sums b1) . b2).| <= (Partial_Sums |.b1.|) . b2
proof end;

theorem Th31: :: COMSEQ_3:31
for b1 being Complex_Sequence
for b2, b3 being Nat holds |.(((Partial_Sums b1) . b2) - ((Partial_Sums b1) . b3)).| <= abs (((Partial_Sums |.b1.|) . b2) - ((Partial_Sums |.b1.|) . b3))
proof end;

theorem Th32: :: COMSEQ_3:32
for b1 being Complex_Sequence
for b2 being Nat holds
( (Partial_Sums (Re b1)) ^\ b2 = Re ((Partial_Sums b1) ^\ b2) & (Partial_Sums (Im b1)) ^\ b2 = Im ((Partial_Sums b1) ^\ b2) )
proof end;

theorem Th33: :: COMSEQ_3:33
for b1, b2 being Complex_Sequence st ( for b3 being Nat holds b1 . b3 = b2 . 0 ) holds
Partial_Sums (b2 ^\ 1) = ((Partial_Sums b2) ^\ 1) - b1
proof end;

theorem Th34: :: COMSEQ_3:34
for b1 being Complex_Sequence holds Partial_Sums |.b1.| is non-decreasing
proof end;

registration
let c2 be Complex_Sequence;
cluster Partial_Sums |.a1.| -> non-decreasing ;
coherence
Partial_Sums |.c2.| is non-decreasing
by Th34;
end;

theorem Th35: :: COMSEQ_3:35
for b1, b2 being Complex_Sequence
for b3 being Nat st ( for b4 being Nat st b4 <= b3 holds
b1 . b4 = b2 . b4 ) holds
(Partial_Sums b1) . b3 = (Partial_Sums b2) . b3
proof end;

theorem Th36: :: COMSEQ_3:36
for b1 being Element of COMPLEX st 1r <> b1 holds
for b2 being Nat holds (Partial_Sums (b1 GeoSeq )) . b2 = (1r - (b1 #N (b2 + 1))) / (1r - b1)
proof end;

theorem Th37: :: COMSEQ_3:37
for b1 being Complex_Sequence
for b2 being Element of COMPLEX st b2 <> 1r & ( for b3 being Nat holds b1 . (b3 + 1) = b2 * (b1 . b3) ) holds
for b3 being Nat holds (Partial_Sums b1) . b3 = (b1 . 0) * ((1r - (b2 #N (b3 + 1))) / (1r - b2))
proof end;

theorem Th38: :: COMSEQ_3:38
for b1, b2 being Real_Sequence
for b3 being Complex_Sequence st ( for b4 being Nat holds
( Re (b3 . b4) = b1 . b4 & Im (b3 . b4) = b2 . b4 ) ) holds
( ( b1 is convergent & b2 is convergent ) iff b3 is convergent )
proof end;

theorem Th39: :: COMSEQ_3:39
for b1, b2 being convergent Real_Sequence
for b3 being Complex_Sequence st ( for b4 being Nat holds
( Re (b3 . b4) = b1 . b4 & Im (b3 . b4) = b2 . b4 ) ) holds
( b3 is convergent & lim b3 = (lim b1) + ((lim b2) * <i> ) )
proof end;

theorem Th40: :: COMSEQ_3:40
for b1, b2 being Real_Sequence
for b3 being convergent Complex_Sequence st ( for b4 being Nat holds
( Re (b3 . b4) = b1 . b4 & Im (b3 . b4) = b2 . b4 ) ) holds
( b1 is convergent & b2 is convergent & lim b1 = Re (lim b3) & lim b2 = Im (lim b3) )
proof end;

theorem Th41: :: COMSEQ_3:41
for b1 being convergent Complex_Sequence holds
( Re b1 is convergent & Im b1 is convergent & lim (Re b1) = Re (lim b1) & lim (Im b1) = Im (lim b1) )
proof end;

registration
let c2 be convergent Complex_Sequence;
cluster Re a1 -> convergent ;
coherence
Re c2 is convergent
by Th41;
cluster Im a1 -> convergent ;
coherence
Im c2 is convergent
by Th41;
end;

theorem Th42: :: COMSEQ_3:42
for b1 being Complex_Sequence st Re b1 is convergent & Im b1 is convergent holds
( b1 is convergent & Re (lim b1) = lim (Re b1) & Im (lim b1) = lim (Im b1) )
proof end;

theorem Th43: :: COMSEQ_3:43
for b1 being Complex_Sequence
for b2 being Element of COMPLEX st 0 < |.b2.| & |.b2.| < 1 & b1 . 0 = b2 & ( for b3 being Nat holds b1 . (b3 + 1) = (b1 . b3) * b2 ) holds
( b1 is convergent & lim b1 = 0c )
proof end;

theorem Th44: :: COMSEQ_3:44
for b1 being Complex_Sequence
for b2 being Element of COMPLEX st |.b2.| < 1 & ( for b3 being Nat holds b1 . b3 = b2 #N (b3 + 1) ) holds
( b1 is convergent & lim b1 = 0c )
proof end;

theorem Th45: :: COMSEQ_3:45
for b1 being Complex_Sequence
for b2 being Real st b2 > 0 & ex b3 being Nat st
for b4 being Nat st b4 >= b3 holds
|.(b1 . b4).| >= b2 & |.b1.| is convergent holds
lim |.b1.| <> 0
proof end;

theorem Th46: :: COMSEQ_3:46
for b1 being Complex_Sequence holds
( b1 is convergent iff for b2 being Real st 0 < b2 holds
ex b3 being Nat st
for b4 being Nat st b3 <= b4 holds
|.((b1 . b4) - (b1 . b3)).| < b2 )
proof end;

theorem Th47: :: COMSEQ_3:47
for b1 being Complex_Sequence st b1 is convergent holds
for b2 being Real st 0 < b2 holds
ex b3 being Nat st
for b4, b5 being Nat st b3 <= b4 & b3 <= b5 holds
|.((b1 . b4) - (b1 . b5)).| < b2
proof end;

theorem Th48: :: COMSEQ_3:48
for b1 being Real_Sequence
for b2 being Complex_Sequence st ( for b3 being Nat holds |.(b2 . b3).| <= b1 . b3 ) & b1 is convergent & lim b1 = 0 holds
( b2 is convergent & lim b2 = 0c )
proof end;

definition
let c2 be Complex_Sequence;
mode subsequence of c1 -> Complex_Sequence means :Def9: :: COMSEQ_3:def 9
ex b1 being increasing Seq_of_Nat st a2 = a1 * b1;
existence
ex b1 being Complex_Sequenceex b2 being increasing Seq_of_Nat st b1 = c2 * b2
proof end;
end;

:: deftheorem Def9 defines subsequence COMSEQ_3:def 9 :
for b1, b2 being Complex_Sequence holds
( b2 is subsequence of b1 iff ex b3 being increasing Seq_of_Nat st b2 = b1 * b3 );

theorem Th49: :: COMSEQ_3:49
for b1, b2 being Complex_Sequence st b1 is subsequence of b2 holds
( Re b1 is subsequence of Re b2 & Im b1 is subsequence of Im b2 )
proof end;

theorem Th50: :: COMSEQ_3:50
for b1, b2, b3 being Complex_Sequence st b1 is subsequence of b2 & b2 is subsequence of b3 holds
b1 is subsequence of b3
proof end;

theorem Th51: :: COMSEQ_3:51
for b1 being Complex_Sequence st b1 is bounded holds
ex b2 being Complex_Sequence st
( b2 is subsequence of b1 & b2 is convergent )
proof end;

definition
let c2 be Complex_Sequence;
attr a1 is summable means :Def10: :: COMSEQ_3:def 10
Partial_Sums a1 is convergent;
end;

:: deftheorem Def10 defines summable COMSEQ_3:def 10 :
for b1 being Complex_Sequence holds
( b1 is summable iff Partial_Sums b1 is convergent );

reconsider c2 = NAT --> 0c as Complex_Sequence by FUNCOP_1:57;

Lemma42: for b1 being Nat holds c1 . b1 = 0c
by FUNCOP_1:13;

registration
cluster summable M5( NAT , COMPLEX );
existence
ex b1 being Complex_Sequence st b1 is summable
proof end;
end;

registration
let c3 be summable Complex_Sequence;
cluster Partial_Sums a1 -> convergent ;
coherence
Partial_Sums c3 is convergent
by Def10;
end;

definition
let c3 be Complex_Sequence;
attr a1 is absolutely_summable means :Def11: :: COMSEQ_3:def 11
|.a1.| is summable;
end;

:: deftheorem Def11 defines absolutely_summable COMSEQ_3:def 11 :
for b1 being Complex_Sequence holds
( b1 is absolutely_summable iff |.b1.| is summable );

theorem Th52: :: COMSEQ_3:52
for b1 being Complex_Sequence st ( for b2 being Nat holds b1 . b2 = 0c ) holds
b1 is absolutely_summable
proof end;

registration
cluster absolutely_summable M5( NAT , COMPLEX );
existence
ex b1 being Complex_Sequence st b1 is absolutely_summable
proof end;
end;

registration
let c3 be absolutely_summable Complex_Sequence;
cluster |.a1.| -> convergent summable ;
coherence
|.c3.| is summable
by Def11;
end;

theorem Th53: :: COMSEQ_3:53
for b1 being Complex_Sequence st b1 is summable holds
( b1 is convergent & lim b1 = 0c )
proof end;

registration
cluster summable -> convergent M5( NAT , COMPLEX );
coherence
for b1 being Complex_Sequence st b1 is summable holds
b1 is convergent
by Th53;
end;

theorem Th54: :: COMSEQ_3:54
for b1 being Complex_Sequence st b1 is summable holds
( Re b1 is summable & Im b1 is summable & Sum b1 = (Sum (Re b1)) + ((Sum (Im b1)) * <i> ) )
proof end;

registration
let c3 be summable Complex_Sequence;
cluster Re a1 -> convergent summable ;
coherence
Re c3 is summable
by Th54;
cluster Im a1 -> convergent summable ;
coherence
Im c3 is summable
by Th54;
end;

theorem Th55: :: COMSEQ_3:55
for b1, b2 being Complex_Sequence st b1 is summable & b2 is summable holds
( b1 + b2 is summable & Sum (b1 + b2) = (Sum b1) + (Sum b2) )
proof end;

theorem Th56: :: COMSEQ_3:56
for b1, b2 being Complex_Sequence st b1 is summable & b2 is summable holds
( b1 - b2 is summable & Sum (b1 - b2) = (Sum b1) - (Sum b2) )
proof end;

registration
let c3, c4 be summable Complex_Sequence;
cluster a1 + a2 -> convergent summable ;
coherence
c3 + c4 is summable
by Th55;
cluster a1 - a2 -> convergent summable ;
coherence
c3 - c4 is summable
by Th56;
end;

theorem Th57: :: COMSEQ_3:57
for b1 being Complex_Sequence
for b2 being Element of COMPLEX st b1 is summable holds
( b2 (#) b1 is summable & Sum (b2 (#) b1) = b2 * (Sum b1) )
proof end;

registration
let c3 be Element of COMPLEX ;
let c4 be summable Complex_Sequence;
cluster a1 (#) a2 -> convergent summable ;
coherence
c3 (#) c4 is summable
by Th57;
end;

theorem Th58: :: COMSEQ_3:58
for b1 being Complex_Sequence st Re b1 is summable & Im b1 is summable holds
( b1 is summable & Sum b1 = (Sum (Re b1)) + ((Sum (Im b1)) * <i> ) )
proof end;

theorem Th59: :: COMSEQ_3:59
for b1 being Complex_Sequence st b1 is summable holds
for b2 being Nat holds b1 ^\ b2 is summable
proof end;

registration
let c3 be summable Complex_Sequence;
let c4 be Nat;
cluster a1 ^\ a2 -> convergent summable ;
coherence
c3 ^\ c4 is summable
by Th59;
end;

theorem Th60: :: COMSEQ_3:60
for b1 being Complex_Sequence st ex b2 being Nat st b1 ^\ b2 is summable holds
b1 is summable
proof end;

theorem Th61: :: COMSEQ_3:61
for b1 being Complex_Sequence st b1 is summable holds
for b2 being Nat holds Sum b1 = ((Partial_Sums b1) . b2) + (Sum (b1 ^\ (b2 + 1)))
proof end;

theorem Th62: :: COMSEQ_3:62
for b1 being Complex_Sequence holds
( Partial_Sums |.b1.| is bounded_above iff b1 is absolutely_summable )
proof end;

registration
let c3 be absolutely_summable Complex_Sequence;
cluster Partial_Sums |.a1.| -> bounded_above non-decreasing ;
coherence
Partial_Sums |.c3.| is bounded_above
by Th62;
end;

theorem Th63: :: COMSEQ_3:63
for b1 being Complex_Sequence holds
( b1 is summable iff for b2 being Real st 0 < b2 holds
ex b3 being Nat st
for b4 being Nat st b3 <= b4 holds
|.(((Partial_Sums b1) . b4) - ((Partial_Sums b1) . b3)).| < b2 )
proof end;

theorem Th64: :: COMSEQ_3:64
for b1 being Complex_Sequence st b1 is absolutely_summable holds
b1 is summable
proof end;

registration
cluster absolutely_summable -> convergent summable M5( NAT , COMPLEX );
coherence
for b1 being Complex_Sequence st b1 is absolutely_summable holds
b1 is summable
by Th64;
end;

registration
cluster convergent summable absolutely_summable M5( NAT , COMPLEX );
existence
ex b1 being Complex_Sequence st b1 is absolutely_summable
proof end;
end;

theorem Th65: :: COMSEQ_3:65
for b1 being Element of COMPLEX st |.b1.| < 1 holds
( b1 GeoSeq is summable & Sum (b1 GeoSeq ) = 1r / (1r - b1) )
proof end;

theorem Th66: :: COMSEQ_3:66
for b1 being Complex_Sequence
for b2 being Element of COMPLEX st |.b2.| < 1 & ( for b3 being Nat holds b1 . (b3 + 1) = b2 * (b1 . b3) ) holds
( b1 is summable & Sum b1 = (b1 . 0) / (1r - b2) )
proof end;

theorem Th67: :: COMSEQ_3:67
for b1 being Real_Sequence
for b2 being Complex_Sequence st b1 is summable & ex b3 being Nat st
for b4 being Nat st b3 <= b4 holds
|.(b2 . b4).| <= b1 . b4 holds
b2 is absolutely_summable
proof end;

theorem Th68: :: COMSEQ_3:68
for b1, b2 being Complex_Sequence st ( for b3 being Nat holds
( 0 <= |.b1.| . b3 & |.b1.| . b3 <= |.b2.| . b3 ) ) & b2 is absolutely_summable holds
( b1 is absolutely_summable & Sum |.b1.| <= Sum |.b2.| )
proof end;

theorem Th69: :: COMSEQ_3:69
for b1 being Complex_Sequence st ( for b2 being Nat holds |.b1.| . b2 > 0 ) & ex b2 being Nat st
for b3 being Nat st b3 >= b2 holds
(|.b1.| . (b3 + 1)) / (|.b1.| . b3) >= 1 holds
not b1 is absolutely_summable
proof end;

theorem Th70: :: COMSEQ_3:70
for b1 being Real_Sequence
for b2 being Complex_Sequence st ( for b3 being Nat holds b1 . b3 = b3 -root (|.b2.| . b3) ) & b1 is convergent & lim b1 < 1 holds
b2 is absolutely_summable
proof end;

theorem Th71: :: COMSEQ_3:71
for b1 being Real_Sequence
for b2 being Complex_Sequence st ( for b3 being Nat holds b1 . b3 = b3 -root (|.b2.| . b3) ) & ex b3 being Nat st
for b4 being Nat st b3 <= b4 holds
b1 . b4 >= 1 holds
not |.b2.| is summable
proof end;

theorem Th72: :: COMSEQ_3:72
for b1 being Real_Sequence
for b2 being Complex_Sequence st ( for b3 being Nat holds b1 . b3 = b3 -root (|.b2.| . b3) ) & b1 is convergent & lim b1 > 1 holds
not b2 is absolutely_summable
proof end;

theorem Th73: :: COMSEQ_3:73
for b1 being Real_Sequence
for b2 being Complex_Sequence st |.b2.| is non-increasing & ( for b3 being Nat holds b1 . b3 = (2 to_power b3) * (|.b2.| . (2 to_power b3)) ) holds
( b2 is absolutely_summable iff b1 is summable )
proof end;

theorem Th74: :: COMSEQ_3:74
for b1 being Complex_Sequence
for b2 being Real st b2 > 1 & ( for b3 being Nat st b3 >= 1 holds
|.b1.| . b3 = 1 / (b3 to_power b2) ) holds
b1 is absolutely_summable
proof end;

theorem Th75: :: COMSEQ_3:75
for b1 being Complex_Sequence
for b2 being Real st b2 <= 1 & ( for b3 being Nat st b3 >= 1 holds
|.b1.| . b3 = 1 / (b3 to_power b2) ) holds
not b1 is absolutely_summable
proof end;

theorem Th76: :: COMSEQ_3:76
for b1 being Real_Sequence
for b2 being Complex_Sequence st ( for b3 being Nat holds
( b2 . b3 <> 0c & b1 . b3 = (|.b2.| . (b3 + 1)) / (|.b2.| . b3) ) ) & b1 is convergent & lim b1 < 1 holds
b2 is absolutely_summable
proof end;

theorem Th77: :: COMSEQ_3:77
for b1 being Complex_Sequence st ( for b2 being Nat holds b1 . b2 <> 0c ) & ex b2 being Nat st
for b3 being Nat st b3 >= b2 holds
(|.b1.| . (b3 + 1)) / (|.b1.| . b3) >= 1 holds
not b1 is absolutely_summable
proof end;