:: PCOMPS_1 semantic presentation

theorem Th1: :: PCOMPS_1:1
for b1 being MetrStruct
for b2 being Element of b1
for b3, b4 being real number st b3 <= b4 holds
Ball b2,b3 c= Ball b2,b4
proof end;

theorem Th2: :: PCOMPS_1:2
for b1 being TopSpace
for b2 being Subset of b1 holds
( Cl b2 <> {} iff b2 <> {} )
proof end;

theorem Th3: :: PCOMPS_1:3
canceled;

theorem Th4: :: PCOMPS_1:4
canceled;

theorem Th5: :: PCOMPS_1:5
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is_a_cover_of b1 holds
for b3 being Point of b1 ex b4 being Subset of b1 st
( b3 in b4 & b4 in b2 )
proof end;

definition
let c1 be set ;
redefine func bool as bool c1 -> Subset-Family of a1;
coherence
bool c1 is Subset-Family of c1
by ZFMISC_1:def 1;
end;

definition
let c1 be set ;
func 1TopSp c1 -> TopStruct equals :: PCOMPS_1:def 1
TopStruct(# a1,(bool a1) #);
coherence
TopStruct(# c1,(bool c1) #) is TopStruct
;
end;

:: deftheorem Def1 defines 1TopSp PCOMPS_1:def 1 :
for b1 being set holds 1TopSp b1 = TopStruct(# b1,(bool b1) #);

registration
let c1 be set ;
cluster 1TopSp a1 -> strict TopSpace-like ;
coherence
( 1TopSp c1 is strict & 1TopSp c1 is TopSpace-like )
proof end;
end;

registration
let c1 be non empty set ;
cluster 1TopSp a1 -> non empty strict TopSpace-like ;
coherence
not 1TopSp c1 is empty
;
end;

theorem Th6: :: PCOMPS_1:6
canceled;

theorem Th7: :: PCOMPS_1:7
for b1 being set holds the topology of (1TopSp b1) = bool b1 ;

theorem Th8: :: PCOMPS_1:8
for b1 being set holds the carrier of (1TopSp b1) = b1 ;

theorem Th9: :: PCOMPS_1:9
for b1 being set holds 1TopSp {b1} is compact
proof end;

theorem Th10: :: PCOMPS_1:10
for b1 being non empty TopSpace
for b2 being Point of b1 st b1 is_T2 holds
{b2} is closed
proof end;

definition
let c1 be TopStruct ;
let c2 be Subset-Family of c1;
attr a2 is locally_finite means :Def2: :: PCOMPS_1:def 2
for b1 being Point of a1 ex b2 being Subset of a1 st
( b1 in b2 & b2 is open & { b3 where B is Subset of a1 : ( b3 in a2 & b3 meets b2 ) } is finite );
end;

:: deftheorem Def2 defines locally_finite PCOMPS_1:def 2 :
for b1 being TopStruct
for b2 being Subset-Family of b1 holds
( b2 is locally_finite iff for b3 being Point of b1 ex b4 being Subset of b1 st
( b3 in b4 & b4 is open & { b5 where B is Subset of b1 : ( b5 in b2 & b5 meets b4 ) } is finite ) );

theorem Th11: :: PCOMPS_1:11
for b1 being non empty TopSpace
for b2 being Subset-Family of b1
for b3 being Subset of b1 holds { b4 where B is Subset of b1 : ( b4 in b2 & b4 meets b3 ) } c= b2
proof end;

theorem Th12: :: PCOMPS_1:12
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 c= b3 & b3 is locally_finite holds
b2 is locally_finite
proof end;

theorem Th13: :: PCOMPS_1:13
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is finite holds
b2 is locally_finite
proof end;

definition
let c1 be TopStruct ;
let c2 be Subset-Family of c1;
func clf c2 -> Subset-Family of a1 means :Def3: :: PCOMPS_1:def 3
for b1 being Subset of a1 holds
( b1 in a3 iff ex b2 being Subset of a1 st
( b1 = Cl b2 & b2 in a2 ) );
existence
ex b1 being Subset-Family of c1 st
for b2 being Subset of c1 holds
( b2 in b1 iff ex b3 being Subset of c1 st
( b2 = Cl b3 & b3 in c2 ) )
proof end;
uniqueness
for b1, b2 being Subset-Family of c1 st ( for b3 being Subset of c1 holds
( b3 in b1 iff ex b4 being Subset of c1 st
( b3 = Cl b4 & b4 in c2 ) ) ) & ( for b3 being Subset of c1 holds
( b3 in b2 iff ex b4 being Subset of c1 st
( b3 = Cl b4 & b4 in c2 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines clf PCOMPS_1:def 3 :
for b1 being TopStruct
for b2, b3 being Subset-Family of b1 holds
( b3 = clf b2 iff for b4 being Subset of b1 holds
( b4 in b3 iff ex b5 being Subset of b1 st
( b4 = Cl b5 & b5 in b2 ) ) );

theorem Th14: :: PCOMPS_1:14
for b1 being TopSpace
for b2 being Subset-Family of b1 holds clf b2 is closed
proof end;

theorem Th15: :: PCOMPS_1:15
for b1 being TopSpace
for b2 being Subset-Family of b1 st b2 = {} holds
clf b2 = {}
proof end;

theorem Th16: :: PCOMPS_1:16
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Subset-Family of b1 st b3 = {b2} holds
clf b3 = {(Cl b2)}
proof end;

theorem Th17: :: PCOMPS_1:17
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 c= b3 holds
clf b2 c= clf b3
proof end;

theorem Th18: :: PCOMPS_1:18
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 holds clf (b2 \/ b3) = (clf b2) \/ (clf b3)
proof end;

theorem Th19: :: PCOMPS_1:19
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is finite holds
Cl (union b2) = union (clf b2)
proof end;

theorem Th20: :: PCOMPS_1:20
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 holds b2 is_finer_than clf b2
proof end;

scheme :: PCOMPS_1:sch 1
s1{ F1() -> TopSpace, F2() -> Subset-Family of F1(), F3() -> Subset-Family of F1(), F4( set ) -> Subset of F1() } :
ex b1 being Function of F2(),F3() st
for b2 being Subset of F1() st b2 in F2() holds
b1 . b2 = F4(b2)
provided
E17: for b1 being Subset of F1() st b1 in F2() holds
F4(b1) in F3()
proof end;

theorem Th21: :: PCOMPS_1:21
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is locally_finite holds
clf b2 is locally_finite
proof end;

theorem Th22: :: PCOMPS_1:22
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 holds union b2 c= union (clf b2)
proof end;

theorem Th23: :: PCOMPS_1:23
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is locally_finite holds
Cl (union b2) = union (clf b2)
proof end;

theorem Th24: :: PCOMPS_1:24
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is locally_finite & b2 is closed holds
union b2 is closed
proof end;

definition
let c1 be TopStruct ;
attr a1 is paracompact means :Def4: :: PCOMPS_1:def 4
for b1 being Subset-Family of a1 st b1 is_a_cover_of a1 & b1 is open holds
ex b2 being Subset-Family of a1 st
( b2 is open & b2 is_a_cover_of a1 & b2 is_finer_than b1 & b2 is locally_finite );
end;

:: deftheorem Def4 defines paracompact PCOMPS_1:def 4 :
for b1 being TopStruct holds
( b1 is paracompact iff for b2 being Subset-Family of b1 st b2 is_a_cover_of b1 & b2 is open holds
ex b3 being Subset-Family of b1 st
( b3 is open & b3 is_a_cover_of b1 & b3 is_finer_than b2 & b3 is locally_finite ) );

registration
cluster non empty paracompact TopStruct ;
existence
ex b1 being non empty TopSpace st b1 is paracompact
proof end;
end;

theorem Th25: :: PCOMPS_1:25
for b1 being non empty TopSpace st b1 is compact holds
b1 is paracompact
proof end;

theorem Th26: :: PCOMPS_1:26
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b1 is paracompact & b2 is closed & b3 is closed & b2 misses b3 & ( for b4 being Point of b1 st b4 in b3 holds
ex b5, b6 being Subset of b1 st
( b5 is open & b6 is open & b2 c= b5 & b4 in b6 & b5 misses b6 ) ) holds
ex b4, b5 being Subset of b1 st
( b4 is open & b5 is open & b2 c= b4 & b3 c= b5 & b4 misses b5 )
proof end;

theorem Th27: :: PCOMPS_1:27
for b1 being non empty TopSpace st b1 is_T2 & b1 is paracompact holds
b1 is_T3
proof end;

theorem Th28: :: PCOMPS_1:28
for b1 being non empty TopSpace st b1 is_T2 & b1 is paracompact holds
b1 is_T4
proof end;

definition
let c1 be MetrStruct ;
func Family_open_set c1 -> Subset-Family of a1 means :Def5: :: PCOMPS_1:def 5
for b1 being Subset of a1 holds
( b1 in a2 iff for b2 being Element of a1 st b2 in b1 holds
ex b3 being Real st
( b3 > 0 & Ball b2,b3 c= b1 ) );
existence
ex b1 being Subset-Family of c1 st
for b2 being Subset of c1 holds
( b2 in b1 iff for b3 being Element of c1 st b3 in b2 holds
ex b4 being Real st
( b4 > 0 & Ball b3,b4 c= b2 ) )
proof end;
uniqueness
for b1, b2 being Subset-Family of c1 st ( for b3 being Subset of c1 holds
( b3 in b1 iff for b4 being Element of c1 st b4 in b3 holds
ex b5 being Real st
( b5 > 0 & Ball b4,b5 c= b3 ) ) ) & ( for b3 being Subset of c1 holds
( b3 in b2 iff for b4 being Element of c1 st b4 in b3 holds
ex b5 being Real st
( b5 > 0 & Ball b4,b5 c= b3 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines Family_open_set PCOMPS_1:def 5 :
for b1 being MetrStruct
for b2 being Subset-Family of b1 holds
( b2 = Family_open_set b1 iff for b3 being Subset of b1 holds
( b3 in b2 iff for b4 being Element of b1 st b4 in b3 holds
ex b5 being Real st
( b5 > 0 & Ball b4,b5 c= b3 ) ) );

theorem Th29: :: PCOMPS_1:29
for b1 being MetrStruct
for b2 being Element of b1 ex b3 being Real st
( b3 > 0 & Ball b2,b3 c= the carrier of b1 )
proof end;

theorem Th30: :: PCOMPS_1:30
for b1 being MetrStruct
for b2, b3 being Element of b1
for b4 being real number st b1 is triangle & b2 in Ball b3,b4 holds
ex b5 being Real st
( b5 > 0 & Ball b2,b5 c= Ball b3,b4 )
proof end;

theorem Th31: :: PCOMPS_1:31
for b1 being MetrStruct
for b2, b3 being Real
for b4, b5, b6 being Element of b1 st b1 is triangle & b4 in (Ball b5,b2) /\ (Ball b6,b3) holds
ex b7 being Real st
( Ball b4,b7 c= Ball b5,b2 & Ball b4,b7 c= Ball b6,b3 )
proof end;

theorem Th32: :: PCOMPS_1:32
canceled;

theorem Th33: :: PCOMPS_1:33
for b1 being MetrStruct
for b2 being Element of b1
for b3 being real number st b1 is triangle holds
Ball b2,b3 in Family_open_set b1
proof end;

theorem Th34: :: PCOMPS_1:34
for b1 being MetrStruct holds the carrier of b1 in Family_open_set b1
proof end;

theorem Th35: :: PCOMPS_1:35
for b1 being MetrStruct
for b2, b3 being Subset of b1 st b2 in Family_open_set b1 & b3 in Family_open_set b1 holds
b2 /\ b3 in Family_open_set b1
proof end;

theorem Th36: :: PCOMPS_1:36
for b1 being MetrStruct
for b2 being Subset-Family of b1 st b2 c= Family_open_set b1 holds
union b2 in Family_open_set b1
proof end;

theorem Th37: :: PCOMPS_1:37
for b1 being MetrStruct holds TopStruct(# the carrier of b1,(Family_open_set b1) #) is TopSpace
proof end;

definition
let c1 be MetrStruct ;
func TopSpaceMetr c1 -> TopStruct equals :: PCOMPS_1:def 6
TopStruct(# the carrier of a1,(Family_open_set a1) #);
coherence
TopStruct(# the carrier of c1,(Family_open_set c1) #) is TopStruct
;
end;

:: deftheorem Def6 defines TopSpaceMetr PCOMPS_1:def 6 :
for b1 being MetrStruct holds TopSpaceMetr b1 = TopStruct(# the carrier of b1,(Family_open_set b1) #);

registration
let c1 be MetrStruct ;
cluster TopSpaceMetr a1 -> strict TopSpace-like ;
coherence
( TopSpaceMetr c1 is strict & TopSpaceMetr c1 is TopSpace-like )
by Th37;
end;

registration
let c1 be non empty MetrStruct ;
cluster TopSpaceMetr a1 -> non empty strict TopSpace-like ;
coherence
not TopSpaceMetr c1 is empty
;
end;

theorem Th38: :: PCOMPS_1:38
for b1 being non empty MetrSpace holds TopSpaceMetr b1 is_T2
proof end;

registration
cluster non empty strict being_T2 TopStruct ;
existence
ex b1 being TopSpace st
( b1 is being_T2 & not b1 is empty & b1 is strict )
proof end;
end;

definition
let c1 be set ;
let c2 be Function of [:c1,c1:], REAL ;
pred c2 is_metric_of c1 means :Def7: :: PCOMPS_1:def 7
for b1, b2, b3 being Element of a1 holds
( ( a2 . b1,b2 = 0 implies b1 = b2 ) & ( b1 = b2 implies a2 . b1,b2 = 0 ) & a2 . b1,b2 = a2 . b2,b1 & a2 . b1,b3 <= (a2 . b1,b2) + (a2 . b2,b3) );
end;

:: deftheorem Def7 defines is_metric_of PCOMPS_1:def 7 :
for b1 being set
for b2 being Function of [:b1,b1:], REAL holds
( b2 is_metric_of b1 iff for b3, b4, b5 being Element of b1 holds
( ( b2 . b3,b4 = 0 implies b3 = b4 ) & ( b3 = b4 implies b2 . b3,b4 = 0 ) & b2 . b3,b4 = b2 . b4,b3 & b2 . b3,b5 <= (b2 . b3,b4) + (b2 . b4,b5) ) );

theorem Th39: :: PCOMPS_1:39
for b1 being set
for b2 being Function of [:b1,b1:], REAL holds
( b2 is_metric_of b1 iff MetrStruct(# b1,b2 #) is MetrSpace )
proof end;

definition
let c1 be non empty set ;
let c2 be Function of [:c1,c1:], REAL ;
assume E33: c2 is_metric_of c1 ;
func SpaceMetr c1,c2 -> non empty strict MetrSpace equals :Def8: :: PCOMPS_1:def 8
MetrStruct(# a1,a2 #);
coherence
MetrStruct(# c1,c2 #) is non empty strict MetrSpace
by E33, Th39;
end;

:: deftheorem Def8 defines SpaceMetr PCOMPS_1:def 8 :
for b1 being non empty set
for b2 being Function of [:b1,b1:], REAL st b2 is_metric_of b1 holds
SpaceMetr b1,b2 = MetrStruct(# b1,b2 #);

definition
let c1 be non empty TopStruct ;
attr a1 is metrizable means :: PCOMPS_1:def 9
ex b1 being Function of [:the carrier of a1,the carrier of a1:], REAL st
( b1 is_metric_of the carrier of a1 & Family_open_set (SpaceMetr the carrier of a1,b1) = the topology of a1 );
end;

:: deftheorem Def9 defines metrizable PCOMPS_1:def 9 :
for b1 being non empty TopStruct holds
( b1 is metrizable iff ex b2 being Function of [:the carrier of b1,the carrier of b1:], REAL st
( b2 is_metric_of the carrier of b1 & Family_open_set (SpaceMetr the carrier of b1,b2) = the topology of b1 ) );

registration
cluster non empty strict metrizable TopStruct ;
existence
ex b1 being non empty TopSpace st
( b1 is strict & b1 is metrizable )
proof end;
end;