:: PCOMPS_2 semantic presentation

theorem Th1: :: PCOMPS_2:1
canceled;

theorem Th2: :: PCOMPS_2:2
canceled;

theorem Th3: :: PCOMPS_2:3
for b1, b2 being real number st b1 > 0 & b2 > 0 holds
ex b3 being Nat st b2 / (2 |^ b3) <= b1
proof end;

theorem Th4: :: PCOMPS_2:4
for b1 being real number
for b2, b3 being Nat st b2 >= b3 & b1 >= 1 holds
b1 |^ b2 >= b1 |^ b3
proof end;

theorem Th5: :: PCOMPS_2:5
for b1 being Relation
for b2 being set st b1 well_orders b2 holds
( b1 |_2 b2 well_orders b2 & b2 = field (b1 |_2 b2) )
proof end;

scheme :: PCOMPS_2:sch 1
s1{ F1() -> set , F2() -> Relation, P1[ set ] } :
ex b1 being set st
( b1 in F1() & P1[b1] & ( for b2 being set st b2 in F1() & P1[b2] holds
[b1,b2] in F2() ) )
provided
E4: F2() well_orders F1() and
E5: ex b1 being set st
( b1 in F1() & P1[b1] )
proof end;

definition
let c1 be set ;
let c2 be Relation;
let c3 be Element of c1;
func PartUnion c3,c2 -> set equals :: PCOMPS_2:def 1
union (a2 -Seg a3);
coherence
union (c2 -Seg c3) is set
;
end;

:: deftheorem Def1 defines PartUnion PCOMPS_2:def 1 :
for b1 being set
for b2 being Relation
for b3 being Element of b1 holds PartUnion b3,b2 = union (b2 -Seg b3);

definition
let c1 be set ;
let c2 be Relation;
func DisjointFam c1,c2 -> set means :: PCOMPS_2:def 2
for b1 being set holds
( b1 in a3 iff ex b2 being Element of a1 st
( b2 in a1 & b1 = b2 \ (PartUnion b2,a2) ) );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ex b3 being Element of c1 st
( b3 in c1 & b2 = b3 \ (PartUnion b3,c2) ) )
proof end;
uniqueness
for b1, b2 being set st ( for b3 being set holds
( b3 in b1 iff ex b4 being Element of c1 st
( b4 in c1 & b3 = b4 \ (PartUnion b4,c2) ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being Element of c1 st
( b4 in c1 & b3 = b4 \ (PartUnion b4,c2) ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines DisjointFam PCOMPS_2:def 2 :
for b1 being set
for b2 being Relation
for b3 being set holds
( b3 = DisjointFam b1,b2 iff for b4 being set holds
( b4 in b3 iff ex b5 being Element of b1 st
( b5 in b1 & b4 = b5 \ (PartUnion b5,b2) ) ) );

definition
let c1 be set ;
let c2 be Nat;
let c3 be Function of NAT , bool c1;
func PartUnionNat c2,c3 -> set equals :: PCOMPS_2:def 3
union (a3 .: ((Seg a2) \ {a2}));
coherence
union (c3 .: ((Seg c2) \ {c2})) is set
;
end;

:: deftheorem Def3 defines PartUnionNat PCOMPS_2:def 3 :
for b1 being set
for b2 being Nat
for b3 being Function of NAT , bool b1 holds PartUnionNat b2,b3 = union (b3 .: ((Seg b2) \ {b2}));

theorem Th6: :: PCOMPS_2:6
for b1 being non empty TopSpace st b1 is_T3 holds
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 & ( for b4 being Subset of b1 st b4 in b3 holds
ex b5 being Subset of b1 st
( b5 in b2 & Cl b4 c= b5 ) ) )
proof end;

theorem Th7: :: PCOMPS_2:7
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b1 is_T2 & b1 is paracompact & 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 & clf b3 is_finer_than b2 & b3 is locally_finite )
proof end;

theorem Th8: :: PCOMPS_2:8
for b1 being non empty TopSpace
for b2 being MetrSpace
for b3 being Function of [:the carrier of b1,the carrier of b1:], REAL st b3 is_metric_of the carrier of b1 & b2 = SpaceMetr the carrier of b1,b3 holds
the carrier of b2 = the carrier of b1
proof end;

theorem Th9: :: PCOMPS_2:9
canceled;

theorem Th10: :: PCOMPS_2:10
canceled;

theorem Th11: :: PCOMPS_2:11
for b1 being non empty TopSpace
for b2 being MetrSpace
for b3 being Subset-Family of b1
for b4 being Function of [:the carrier of b1,the carrier of b1:], REAL st b4 is_metric_of the carrier of b1 & b2 = SpaceMetr the carrier of b1,b4 holds
( b3 is Subset-Family of b1 iff b3 is Subset-Family of b2 ) by Th8;

definition
let c1 be non empty set ;
let c2 be Function of NAT ,(bool (bool c1)) * ;
let c3 be Nat;
redefine func . as c2 . c3 -> FinSequence of bool (bool a1);
coherence
c2 . c3 is FinSequence of bool (bool c1)
proof end;
end;

scheme :: PCOMPS_2:sch 2
s2{ F1() -> non empty set , F2() -> Subset-Family of F1(), F3( set , set ) -> Subset of F1(), P1[ set ], P2[ set , set , set , set ] } :
ex b1 being Function of NAT , bool (bool F1()) st
( b1 . 0 = F2() & ( for b2 being Nat holds b1 . (b2 + 1) = { (union { F3(b4,b2) where B is Element of F1() : for b1 being Subset-Family of F1()
for b2 being Nat st b6 <= b2 & b5 = b1 . b6 holds
P2[b4,b3,b2,b5]
}
)
where B is Subset of F1() : P1[b3]
}
) )
proof end;

scheme :: PCOMPS_2:sch 3
s3{ F1() -> non empty set , F2() -> Subset-Family of F1(), F3( set , set ) -> Subset of F1(), P1[ set ], P2[ set , set , set ] } :
ex b1 being Function of NAT , bool (bool F1()) st
( b1 . 0 = F2() & ( for b2 being Nat holds b1 . (b2 + 1) = { (union { F3(b4,b2) where B is Element of F1() : ( P2[b4,b3,b2] & not b4 in union { (union (b1 . b5)) where B is Nat : b5 <= b2 } ) } ) where B is Subset of F1() : P1[b3] } ) )
proof end;

theorem Th12: :: PCOMPS_2:12
for b1 being non empty TopSpace st b1 is metrizable holds
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 )
proof end;

theorem Th13: :: PCOMPS_2:13
for b1 being non empty TopSpace st b1 is metrizable holds
b1 is paracompact
proof end;