:: SEQ_2 semantic presentation

theorem Th1: :: SEQ_2:1
canceled;

theorem Th2: :: SEQ_2:2
canceled;

theorem Th3: :: SEQ_2:3
for b1 being real number st 0 < b1 holds
( 0 < b1 / 2 & 0 < b1 / 4 ) by XREAL_1:217, XREAL_1:226;

Lemma2: for b1 being real number st 0 < b1 holds
b1 / 2 < b1
by XREAL_1:218;

Lemma3: for b1, b2 being real number st 0 < b1 & 0 < b2 holds
0 < b1 / b2
by XREAL_1:141;

Lemma4: for b1, b2, b3, b4 being real number st 0 <= b1 & 0 <= b2 & b1 < b3 & b2 < b4 holds
b1 * b2 < b3 * b4
by XREAL_1:98;

theorem Th4: :: SEQ_2:4
canceled;

theorem Th5: :: SEQ_2:5
canceled;

theorem Th6: :: SEQ_2:6
canceled;

theorem Th7: :: SEQ_2:7
canceled;

theorem Th8: :: SEQ_2:8
canceled;

theorem Th9: :: SEQ_2:9
for b1, b2 being real number holds
( ( - b1 < b2 & b2 < b1 ) iff abs b2 < b1 )
proof end;

Lemma6: for b1, b2, b3 being real number st 0 < b1 & b1 < b2 & 0 < b3 holds
b3 / b2 < b3 / b1
by XREAL_1:78;

theorem Th10: :: SEQ_2:10
canceled;

theorem Th11: :: SEQ_2:11
for b1, b2 being real number st b1 <> 0 & b2 <> 0 holds
abs ((b1 " ) - (b2 " )) = (abs (b1 - b2)) / ((abs b1) * (abs b2))
proof end;

definition
let c1 be real-yielding Function;
attr a1 is bounded_above means :: SEQ_2:def 1
ex b1 being real number st
for b2 being set st b2 in dom a1 holds
a1 . b2 < b1;
attr a1 is bounded_below means :: SEQ_2:def 2
ex b1 being real number st
for b2 being set st b2 in dom a1 holds
b1 < a1 . b2;
end;

:: deftheorem Def1 defines bounded_above SEQ_2:def 1 :
for b1 being real-yielding Function holds
( b1 is bounded_above iff ex b2 being real number st
for b3 being set st b3 in dom b1 holds
b1 . b3 < b2 );

:: deftheorem Def2 defines bounded_below SEQ_2:def 2 :
for b1 being real-yielding Function holds
( b1 is bounded_below iff ex b2 being real number st
for b3 being set st b3 in dom b1 holds
b2 < b1 . b3 );

definition
let c1 be Real_Sequence;
E8: dom c1 = NAT by SEQ_1:3;
redefine attr a1 is bounded_above means :Def3: :: SEQ_2:def 3
ex b1 being real number st
for b2 being Nat holds a1 . b2 < b1;
compatibility
( c1 is bounded_above iff ex b1 being real number st
for b2 being Nat holds c1 . b2 < b1 )
proof end;
redefine attr a1 is bounded_below means :Def4: :: SEQ_2:def 4
ex b1 being real number st
for b2 being Nat holds b1 < a1 . b2;
compatibility
( c1 is bounded_below iff ex b1 being real number st
for b2 being Nat holds b1 < c1 . b2 )
proof end;
end;

:: deftheorem Def3 defines bounded_above SEQ_2:def 3 :
for b1 being Real_Sequence holds
( b1 is bounded_above iff ex b2 being real number st
for b3 being Nat holds b1 . b3 < b2 );

:: deftheorem Def4 defines bounded_below SEQ_2:def 4 :
for b1 being Real_Sequence holds
( b1 is bounded_below iff ex b2 being real number st
for b3 being Nat holds b2 < b1 . b3 );

definition
let c1 be real-yielding Function;
attr a1 is bounded means :Def5: :: SEQ_2:def 5
( a1 is bounded_above & a1 is bounded_below );
end;

:: deftheorem Def5 defines bounded SEQ_2:def 5 :
for b1 being real-yielding Function holds
( b1 is bounded iff ( b1 is bounded_above & b1 is bounded_below ) );

registration
cluster real-yielding bounded -> real-yielding bounded_above bounded_below set ;
coherence
for b1 being real-yielding Function st b1 is bounded holds
( b1 is bounded_above & b1 is bounded_below )
by Def5;
cluster real-yielding bounded_above bounded_below -> real-yielding bounded set ;
coherence
for b1 being real-yielding Function st b1 is bounded_above & b1 is bounded_below holds
b1 is bounded
by Def5;
end;

theorem Th12: :: SEQ_2:12
canceled;

theorem Th13: :: SEQ_2:13
canceled;

theorem Th14: :: SEQ_2:14
canceled;

theorem Th15: :: SEQ_2:15
for b1 being Real_Sequence holds
( b1 is bounded iff ex b2 being real number st
( 0 < b2 & ( for b3 being Nat holds abs (b1 . b3) < b2 ) ) )
proof end;

theorem Th16: :: SEQ_2:16
for b1 being Real_Sequence
for b2 being Nat ex b3 being real number st
( 0 < b3 & ( for b4 being Nat st b4 <= b2 holds
abs (b1 . b4) < b3 ) )
proof end;

definition
let c1 be Real_Sequence;
attr a1 is convergent means :Def6: :: SEQ_2:def 6
ex b1 being real number st
for b2 being real number st 0 < b2 holds
ex b3 being Nat st
for b4 being Nat st b3 <= b4 holds
abs ((a1 . b4) - b1) < b2;
end;

:: deftheorem Def6 defines convergent SEQ_2:def 6 :
for b1 being Real_Sequence holds
( b1 is convergent iff ex b2 being real number st
for b3 being real number st 0 < b3 holds
ex b4 being Nat st
for b5 being Nat st b4 <= b5 holds
abs ((b1 . b5) - b2) < b3 );

definition
let c1 be Real_Sequence;
assume E14: c1 is convergent ;
func lim c1 -> real number means :Def7: :: SEQ_2:def 7
for b1 being real number st 0 < b1 holds
ex b2 being Nat st
for b3 being Nat st b2 <= b3 holds
abs ((a1 . b3) - a2) < b1;
existence
ex b1 being real number st
for b2 being real number st 0 < b2 holds
ex b3 being Nat st
for b4 being Nat st b3 <= b4 holds
abs ((c1 . b4) - b1) < b2
by E14, Def6;
uniqueness
for b1, b2 being real number st ( for b3 being real number st 0 < b3 holds
ex b4 being Nat st
for b5 being Nat st b4 <= b5 holds
abs ((c1 . b5) - b1) < b3 ) & ( for b3 being real number st 0 < b3 holds
ex b4 being Nat st
for b5 being Nat st b4 <= b5 holds
abs ((c1 . b5) - b2) < b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines lim SEQ_2:def 7 :
for b1 being Real_Sequence st b1 is convergent holds
for b2 being real number holds
( b2 = lim b1 iff for b3 being real number st 0 < b3 holds
ex b4 being Nat st
for b5 being Nat st b4 <= b5 holds
abs ((b1 . b5) - b2) < b3 );

definition
let c1 be Real_Sequence;
redefine func lim as lim c1 -> Real;
coherence
lim c1 is Real
by XREAL_0:def 1;
end;

theorem Th17: :: SEQ_2:17
canceled;

theorem Th18: :: SEQ_2:18
canceled;

theorem Th19: :: SEQ_2:19
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent holds
b1 + b2 is convergent
proof end;

theorem Th20: :: SEQ_2:20
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent holds
lim (b1 + b2) = (lim b1) + (lim b2)
proof end;

theorem Th21: :: SEQ_2:21
for b1 being real number
for b2 being Real_Sequence st b2 is convergent holds
b1 (#) b2 is convergent
proof end;

theorem Th22: :: SEQ_2:22
for b1 being real number
for b2 being Real_Sequence st b2 is convergent holds
lim (b1 (#) b2) = b1 * (lim b2)
proof end;

theorem Th23: :: SEQ_2:23
for b1 being Real_Sequence st b1 is convergent holds
- b1 is convergent
proof end;

theorem Th24: :: SEQ_2:24
for b1 being Real_Sequence st b1 is convergent holds
lim (- b1) = - (lim b1)
proof end;

theorem Th25: :: SEQ_2:25
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent holds
b1 - b2 is convergent
proof end;

theorem Th26: :: SEQ_2:26
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent holds
lim (b1 - b2) = (lim b1) - (lim b2)
proof end;

theorem Th27: :: SEQ_2:27
for b1 being Real_Sequence st b1 is convergent holds
b1 is bounded
proof end;

theorem Th28: :: SEQ_2:28
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent holds
b1 (#) b2 is convergent
proof end;

theorem Th29: :: SEQ_2:29
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent holds
lim (b1 (#) b2) = (lim b1) * (lim b2)
proof end;

theorem Th30: :: SEQ_2:30
for b1 being Real_Sequence st b1 is convergent & lim b1 <> 0 holds
ex b2 being Nat st
for b3 being Nat st b2 <= b3 holds
(abs (lim b1)) / 2 < abs (b1 . b3)
proof end;

theorem Th31: :: SEQ_2:31
for b1 being Real_Sequence st b1 is convergent & ( for b2 being Nat holds 0 <= b1 . b2 ) holds
0 <= lim b1
proof end;

theorem Th32: :: SEQ_2:32
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent & ( for b3 being Nat holds b1 . b3 <= b2 . b3 ) holds
lim b1 <= lim b2
proof end;

theorem Th33: :: SEQ_2:33
for b1, b2, b3 being Real_Sequence st b1 is convergent & b2 is convergent & ( for b4 being Nat holds
( b1 . b4 <= b3 . b4 & b3 . b4 <= b2 . b4 ) ) & lim b1 = lim b2 holds
b3 is convergent
proof end;

theorem Th34: :: SEQ_2:34
for b1, b2, b3 being Real_Sequence st b1 is convergent & b2 is convergent & ( for b4 being Nat holds
( b1 . b4 <= b3 . b4 & b3 . b4 <= b2 . b4 ) ) & lim b1 = lim b2 holds
lim b3 = lim b1
proof end;

theorem Th35: :: SEQ_2:35
for b1 being Real_Sequence st b1 is convergent & lim b1 <> 0 & b1 is_not_0 holds
b1 " is convergent
proof end;

theorem Th36: :: SEQ_2:36
for b1 being Real_Sequence st b1 is convergent & lim b1 <> 0 & b1 is_not_0 holds
lim (b1 " ) = (lim b1) "
proof end;

theorem Th37: :: SEQ_2:37
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent & lim b2 <> 0 & b2 is_not_0 holds
b1 /" b2 is convergent
proof end;

theorem Th38: :: SEQ_2:38
for b1, b2 being Real_Sequence st b1 is convergent & b2 is convergent & lim b2 <> 0 & b2 is_not_0 holds
lim (b1 /" b2) = (lim b1) / (lim b2)
proof end;

theorem Th39: :: SEQ_2:39
for b1, b2 being Real_Sequence st b1 is convergent & b2 is bounded & lim b1 = 0 holds
b1 (#) b2 is convergent
proof end;

theorem Th40: :: SEQ_2:40
for b1, b2 being Real_Sequence st b1 is convergent & b2 is bounded & lim b1 = 0 holds
lim (b1 (#) b2) = 0
proof end;