:: TBSP_1 semantic presentation

theorem Th1: :: TBSP_1:1
for b1 being Real st 0 < b1 & b1 < 1 holds
for b2, b3 being Nat st b2 <= b3 holds
b1 to_power b3 <= b1 to_power b2
proof end;

theorem Th2: :: TBSP_1:2
for b1 being Real st 0 < b1 & b1 < 1 holds
for b2 being Nat holds
( b1 to_power b2 <= 1 & 0 < b1 to_power b2 )
proof end;

theorem Th3: :: TBSP_1:3
for b1 being Real st 0 < b1 & b1 < 1 holds
for b2 being Real st 0 < b2 holds
ex b3 being Nat st b1 to_power b3 < b2
proof end;

definition
let c1 be non empty MetrStruct ;
attr a1 is totally_bounded means :Def1: :: TBSP_1:def 1
for b1 being Real st b1 > 0 holds
ex b2 being Subset-Family of a1 st
( b2 is finite & the carrier of a1 = union b2 & ( for b3 being Subset of a1 st b3 in b2 holds
ex b4 being Element of a1 st b3 = Ball b4,b1 ) );
end;

:: deftheorem Def1 defines totally_bounded TBSP_1:def 1 :
for b1 being non empty MetrStruct holds
( b1 is totally_bounded iff for b2 being Real st b2 > 0 holds
ex b3 being Subset-Family of b1 st
( b3 is finite & the carrier of b1 = union b3 & ( for b4 being Subset of b1 st b4 in b3 holds
ex b5 being Element of b1 st b4 = Ball b5,b2 ) ) );

Lemma5: for b1 being non empty MetrStruct
for b2 being Function holds
( b2 is sequence of b1 iff ( dom b2 = NAT & ( for b3 being set st b3 in NAT holds
b2 . b3 is Element of b1 ) ) )
proof end;

theorem Th4: :: TBSP_1:4
canceled;

theorem Th5: :: TBSP_1:5
for b1 being non empty MetrStruct
for b2 being Function holds
( b2 is sequence of b1 iff ( dom b2 = NAT & ( for b3 being Nat holds b2 . b3 is Element of b1 ) ) )
proof end;

definition
let c1 be non empty MetrStruct ;
let c2 be sequence of c1;
canceled;
attr a2 is convergent means :Def3: :: TBSP_1:def 3
ex b1 being Element of a1 st
for b2 being Real st b2 > 0 holds
ex b3 being Nat st
for b4 being Nat st b3 <= b4 holds
dist (a2 . b4),b1 < b2;
end;

:: deftheorem Def2 TBSP_1:def 2 :
canceled;

:: deftheorem Def3 defines convergent TBSP_1:def 3 :
for b1 being non empty MetrStruct
for b2 being sequence of b1 holds
( b2 is convergent iff ex b3 being Element of b1 st
for b4 being Real st b4 > 0 holds
ex b5 being Nat st
for b6 being Nat st b5 <= b6 holds
dist (b2 . b6),b3 < b4 );

definition
let c1 be non empty MetrSpace;
let c2 be sequence of c1;
assume E7: c2 is convergent ;
func lim c2 -> Element of a1 means :: TBSP_1:def 4
for b1 being Real st b1 > 0 holds
ex b2 being Nat st
for b3 being Nat st b3 >= b2 holds
dist (a2 . b3),a3 < b1;
existence
ex b1 being Element of c1 st
for b2 being Real st b2 > 0 holds
ex b3 being Nat st
for b4 being Nat st b4 >= b3 holds
dist (c2 . b4),b1 < b2
by E7, Def3;
uniqueness
for b1, b2 being Element of c1 st ( for b3 being Real st b3 > 0 holds
ex b4 being Nat st
for b5 being Nat st b5 >= b4 holds
dist (c2 . b5),b1 < b3 ) & ( for b3 being Real st b3 > 0 holds
ex b4 being Nat st
for b5 being Nat st b5 >= b4 holds
dist (c2 . b5),b2 < b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines lim TBSP_1:def 4 :
for b1 being non empty MetrSpace
for b2 being sequence of b1 st b2 is convergent holds
for b3 being Element of b1 holds
( b3 = lim b2 iff for b4 being Real st b4 > 0 holds
ex b5 being Nat st
for b6 being Nat st b6 >= b5 holds
dist (b2 . b6),b3 < b4 );

definition
let c1 be non empty MetrStruct ;
let c2 be sequence of c1;
attr a2 is Cauchy means :Def5: :: TBSP_1:def 5
for b1 being Real st b1 > 0 holds
ex b2 being Nat st
for b3, b4 being Nat st b2 <= b3 & b2 <= b4 holds
dist (a2 . b3),(a2 . b4) < b1;
end;

:: deftheorem Def5 defines Cauchy TBSP_1:def 5 :
for b1 being non empty MetrStruct
for b2 being sequence of b1 holds
( b2 is Cauchy iff for b3 being Real st b3 > 0 holds
ex b4 being Nat st
for b5, b6 being Nat st b4 <= b5 & b4 <= b6 holds
dist (b2 . b5),(b2 . b6) < b3 );

definition
let c1 be non empty MetrStruct ;
attr a1 is complete means :Def6: :: TBSP_1:def 6
for b1 being sequence of a1 st b1 is Cauchy holds
b1 is convergent;
end;

:: deftheorem Def6 defines complete TBSP_1:def 6 :
for b1 being non empty MetrStruct holds
( b1 is complete iff for b2 being sequence of b1 st b2 is Cauchy holds
b2 is convergent );

theorem Th6: :: TBSP_1:6
canceled;

theorem Th7: :: TBSP_1:7
for b1 being non empty MetrStruct
for b2 being sequence of b1 st b1 is triangle & b1 is symmetric & b2 is convergent holds
b2 is Cauchy
proof end;

registration
let c1 be non empty symmetric triangle MetrStruct ;
cluster convergent -> Cauchy M5( NAT ,the carrier of a1);
coherence
for b1 being sequence of c1 st b1 is convergent holds
b1 is Cauchy
by Th7;
end;

theorem Th8: :: TBSP_1:8
for b1 being non empty MetrStruct
for b2 being sequence of b1 st b1 is symmetric holds
( b2 is Cauchy iff for b3 being Real st b3 > 0 holds
ex b4 being Nat st
for b5, b6 being Nat st b4 <= b5 holds
dist (b2 . (b5 + b6)),(b2 . b5) < b3 )
proof end;

theorem Th9: :: TBSP_1:9
for b1 being non empty MetrSpace
for b2 being contraction of b1 st b1 is complete holds
ex b3 being Element of b1 st
( b2 . b3 = b3 & ( for b4 being Element of b1 st b2 . b4 = b4 holds
b4 = b3 ) )
proof end;

theorem Th10: :: TBSP_1:10
for b1 being non empty Reflexive symmetric triangle MetrStruct st TopSpaceMetr b1 is compact holds
b1 is complete
proof end;

theorem Th11: :: TBSP_1:11
canceled;

theorem Th12: :: TBSP_1:12
for b1 being non empty MetrStruct st b1 is Reflexive & b1 is triangle & TopSpaceMetr b1 is compact holds
b1 is totally_bounded
proof end;

definition
let c1 be non empty MetrStruct ;
canceled;
attr a1 is bounded means :Def8: :: TBSP_1:def 8
ex b1 being Real st
( 0 < b1 & ( for b2, b3 being Point of a1 holds dist b2,b3 <= b1 ) );
let c2 be Subset of c1;
attr a2 is bounded means :Def9: :: TBSP_1:def 9
ex b1 being Real st
( 0 < b1 & ( for b2, b3 being Point of a1 st b2 in a2 & b3 in a2 holds
dist b2,b3 <= b1 ) );
end;

:: deftheorem Def7 TBSP_1:def 7 :
canceled;

:: deftheorem Def8 defines bounded TBSP_1:def 8 :
for b1 being non empty MetrStruct holds
( b1 is bounded iff ex b2 being Real st
( 0 < b2 & ( for b3, b4 being Point of b1 holds dist b3,b4 <= b2 ) ) );

:: deftheorem Def9 defines bounded TBSP_1:def 9 :
for b1 being non empty MetrStruct
for b2 being Subset of b1 holds
( b2 is bounded iff ex b3 being Real st
( 0 < b3 & ( for b4, b5 being Point of b1 st b4 in b2 & b5 in b2 holds
dist b4,b5 <= b3 ) ) );

registration
let c1 be non empty set ;
cluster DiscreteSpace a1 -> bounded ;
coherence
DiscreteSpace c1 is bounded
proof end;
end;

registration
cluster non empty bounded MetrStruct ;
existence
ex b1 being non empty MetrSpace st b1 is bounded
proof end;
end;

theorem Th13: :: TBSP_1:13
canceled;

theorem Th14: :: TBSP_1:14
for b1 being non empty MetrStruct holds {} b1 is bounded
proof end;

registration
let c1 be non empty MetrStruct ;
cluster {} a1 -> bounded ;
coherence
{} c1 is bounded
by Th14;
end;

registration
let c1 be non empty MetrStruct ;
cluster bounded Element of K40(the carrier of a1);
existence
ex b1 being Subset of c1 st b1 is bounded
proof end;
end;

theorem Th15: :: TBSP_1:15
for b1 being non empty MetrStruct
for b2 being Subset of b1 holds
( ( b2 <> {} & b2 is bounded implies ex b3 being Realex b4 being Element of b1 st
( 0 < b3 & b4 in b2 & ( for b5 being Point of b1 st b5 in b2 holds
dist b4,b5 <= b3 ) ) ) & ( b1 is symmetric & b1 is triangle & ex b3 being Realex b4 being Element of b1 st
( 0 < b3 & b4 in b2 & ( for b5 being Point of b1 st b5 in b2 holds
dist b4,b5 <= b3 ) ) implies b2 is bounded ) )
proof end;

theorem Th16: :: TBSP_1:16
for b1 being non empty MetrStruct
for b2 being Element of b1
for b3 being real number st b1 is Reflexive & 0 < b3 holds
b2 in Ball b2,b3
proof end;

theorem Th17: :: TBSP_1:17
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being Element of b1
for b3 being real number st b3 <= 0 holds
Ball b2,b3 = {}
proof end;

Lemma17: for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being Element of b1
for b3 being real number st 0 < b3 holds
Ball b2,b3 is bounded
proof end;

theorem Th18: :: TBSP_1:18
canceled;

theorem Th19: :: TBSP_1:19
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being Element of b1
for b3 being real number holds Ball b2,b3 is bounded
proof end;

theorem Th20: :: TBSP_1:20
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2, b3 being Subset of b1 st b2 is bounded & b3 is bounded holds
b2 \/ b3 is bounded
proof end;

theorem Th21: :: TBSP_1:21
for b1 being non empty MetrStruct
for b2, b3 being Subset of b1 st b2 is bounded & b3 c= b2 holds
b3 is bounded
proof end;

theorem Th22: :: TBSP_1:22
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being Element of b1
for b3 being Subset of b1 st b3 = {b2} holds
b3 is bounded
proof end;

theorem Th23: :: TBSP_1:23
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being Subset of b1 st b2 is finite holds
b2 is bounded
proof end;

registration
let c1 be non empty Reflexive symmetric triangle MetrStruct ;
cluster finite -> bounded Element of K40(the carrier of a1);
coherence
for b1 being Subset of c1 st b1 is finite holds
b1 is bounded
by Th23;
end;

registration
let c1 be non empty Reflexive symmetric triangle MetrStruct ;
cluster non empty finite bounded Element of K40(the carrier of a1);
existence
ex b1 being Subset of c1 st
( b1 is finite & not b1 is empty )
proof end;
end;

theorem Th24: :: TBSP_1:24
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being Subset-Family of b1 st b2 is finite & ( for b3 being Subset of b1 st b3 in b2 holds
b3 is bounded ) holds
union b2 is bounded
proof end;

theorem Th25: :: TBSP_1:25
for b1 being non empty MetrStruct holds
( b1 is bounded iff [#] b1 is bounded )
proof end;

registration
let c1 be non empty bounded MetrStruct ;
cluster [#] a1 -> bounded ;
coherence
[#] c1 is bounded
by Th25;
end;

theorem Th26: :: TBSP_1:26
for b1 being non empty Reflexive symmetric triangle MetrStruct st b1 is totally_bounded holds
b1 is bounded
proof end;

definition
let c1 be non empty Reflexive MetrStruct ;
let c2 be Subset of c1;
assume E25: c2 is bounded ;
func diameter c2 -> Real means :Def10: :: TBSP_1:def 10
( ( for b1, b2 being Point of a1 st b1 in a2 & b2 in a2 holds
dist b1,b2 <= a3 ) & ( for b1 being Real st ( for b2, b3 being Point of a1 st b2 in a2 & b3 in a2 holds
dist b2,b3 <= b1 ) holds
a3 <= b1 ) ) if a2 <> {}
otherwise a3 = 0;
consistency
for b1 being Real holds verum
;
existence
( ( c2 <> {} implies ex b1 being Real st
( ( for b2, b3 being Point of c1 st b2 in c2 & b3 in c2 holds
dist b2,b3 <= b1 ) & ( for b2 being Real st ( for b3, b4 being Point of c1 st b3 in c2 & b4 in c2 holds
dist b3,b4 <= b2 ) holds
b1 <= b2 ) ) ) & ( not c2 <> {} implies ex b1 being Real st b1 = 0 ) )
proof end;
uniqueness
for b1, b2 being Real holds
( ( c2 <> {} & ( for b3, b4 being Point of c1 st b3 in c2 & b4 in c2 holds
dist b3,b4 <= b1 ) & ( for b3 being Real st ( for b4, b5 being Point of c1 st b4 in c2 & b5 in c2 holds
dist b4,b5 <= b3 ) holds
b1 <= b3 ) & ( for b3, b4 being Point of c1 st b3 in c2 & b4 in c2 holds
dist b3,b4 <= b2 ) & ( for b3 being Real st ( for b4, b5 being Point of c1 st b4 in c2 & b5 in c2 holds
dist b4,b5 <= b3 ) holds
b2 <= b3 ) implies b1 = b2 ) & ( not c2 <> {} & b1 = 0 & b2 = 0 implies b1 = b2 ) )
proof end;
end;

:: deftheorem Def10 defines diameter TBSP_1:def 10 :
for b1 being non empty Reflexive MetrStruct
for b2 being Subset of b1 st b2 is bounded holds
for b3 being Real holds
( ( b2 <> {} implies ( b3 = diameter b2 iff ( ( for b4, b5 being Point of b1 st b4 in b2 & b5 in b2 holds
dist b4,b5 <= b3 ) & ( for b4 being Real st ( for b5, b6 being Point of b1 st b5 in b2 & b6 in b2 holds
dist b5,b6 <= b4 ) holds
b3 <= b4 ) ) ) ) & ( not b2 <> {} implies ( b3 = diameter b2 iff b3 = 0 ) ) );

theorem Th27: :: TBSP_1:27
canceled;

theorem Th28: :: TBSP_1:28
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being set
for b3 being Subset of b1 st b3 = {b2} holds
diameter b3 = 0
proof end;

theorem Th29: :: TBSP_1:29
for b1 being non empty Reflexive MetrStruct
for b2 being Subset of b1 st b2 is bounded holds
0 <= diameter b2
proof end;

theorem Th30: :: TBSP_1:30
for b1 being non empty MetrSpace
for b2 being Subset of b1 st b2 <> {} & b2 is bounded & diameter b2 = 0 holds
ex b3 being Point of b1 st b2 = {b3}
proof end;

theorem Th31: :: TBSP_1:31
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being Element of b1
for b3 being Real st 0 < b3 holds
diameter (Ball b2,b3) <= 2 * b3
proof end;

theorem Th32: :: TBSP_1:32
for b1 being non empty Reflexive MetrStruct
for b2, b3 being Subset of b1 st b2 is bounded & b3 c= b2 holds
diameter b3 <= diameter b2
proof end;

theorem Th33: :: TBSP_1:33
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2, b3 being Subset of b1 st b2 is bounded & b3 is bounded & b2 meets b3 holds
diameter (b2 \/ b3) <= (diameter b2) + (diameter b3)
proof end;

definition
let c1 be non empty MetrStruct ;
let c2 be sequence of c1;
redefine func rng as rng c2 -> Subset of a1;
coherence
rng c2 is Subset of c1
by RELSET_1:12;
end;

theorem Th34: :: TBSP_1:34
for b1 being non empty Reflexive symmetric triangle MetrStruct
for b2 being sequence of b1 st b2 is Cauchy holds
rng b2 is bounded
proof end;