:: TOPGEN_4 semantic presentation

definition
let c1 be 1-sorted ;
func TotFam c1 -> Subset-Family of a1 equals :: TOPGEN_4:def 1
bool the carrier of a1;
coherence
bool the carrier of c1 is Subset-Family of c1
;
end;

:: deftheorem Def1 defines TotFam TOPGEN_4:def 1 :
for b1 being 1-sorted holds TotFam b1 = bool the carrier of b1;

theorem Th1: :: TOPGEN_4:1
for b1 being set
for b2 being Subset-Family of b1 holds
( b2 is countable iff COMPLEMENT b2 is countable )
proof end;

registration
cluster RAT -> countable ;
coherence
RAT is countable
by CARD_4:def 1, TOPGEN_3:17;
end;

Lemma2: for b1 being set holds
( b1 is countable iff ex b2 being Function st
( dom b2 = RAT & b1 c= rng b2 ) )
proof end;

scheme :: TOPGEN_4:sch 1
s1{ P1[ set ] } :
{ {b1} where B is Element of RAT : P1[b1] } is countable
proof end;

theorem Th2: :: TOPGEN_4:2
for b1 being non empty TopSpace
for b2 being Subset of b1 holds Der b2 = { b3 where B is Point of b1 : b3 in Cl (b2 \ {b3}) }
proof end;

registration
cluster finite -> second-countable TopStruct ;
coherence
for b1 being TopStruct st b1 is finite holds
b1 is second-countable
proof end;
end;

registration
cluster REAL -> non countable ;
coherence
not REAL is countable
proof end;
end;

registration
cluster non countable -> non finite set ;
coherence
for b1 being set st not b1 is countable holds
not b1 is finite
by CARD_4:43;
cluster non finite -> non trivial set ;
coherence
for b1 being set st not b1 is finite holds
not b1 is trivial
proof end;
cluster non empty non countable set ;
existence
ex b1 being set st
( not b1 is countable & not b1 is empty )
proof end;
end;

theorem Th3: :: TOPGEN_4:3
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is closed iff Der b2 c= b2 )
proof end;

theorem Th4: :: TOPGEN_4:4
for b1 being non empty TopStruct
for b2 being Basis of b1
for b3 being Subset of b1 st b3 is open & b3 <> {} holds
ex b4 being Subset of b1 st
( b4 in b2 & b4 c= b3 & b4 <> {} )
proof end;

theorem Th5: :: TOPGEN_4:5
for b1 being non empty TopSpace holds density b1 <=` weight b1
proof end;

theorem Th6: :: TOPGEN_4:6
for b1 being non empty TopSpace holds
( b1 is separable iff ex b2 being Subset of b1 st
( b2 is dense & b2 is countable ) )
proof end;

theorem Th7: :: TOPGEN_4:7
for b1 being non empty TopSpace st b1 is second-countable holds
b1 is separable
proof end;

registration
cluster non empty second-countable -> non empty separable TopStruct ;
coherence
for b1 being non empty TopSpace st b1 is second-countable holds
b1 is separable
by Th7;
end;

theorem Th8: :: TOPGEN_4:8
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2,b3 are_separated holds
Fr (b2 \/ b3) = (Fr b2) \/ (Fr b3)
proof end;

theorem Th9: :: TOPGEN_4:9
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is locally_finite holds
Fr (union b2) c= union (Fr b2)
proof end;

theorem Th10: :: TOPGEN_4:10
for b1 being non empty discrete TopSpace holds
( b1 is separable iff Card ([#] b1) <=` alef 0 )
proof end;

theorem Th11: :: TOPGEN_4:11
for b1 being non empty discrete TopSpace holds
( b1 is separable iff b1 is countable )
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Subset-Family of c1;
attr a2 is all-open-containing means :Def2: :: TOPGEN_4:def 2
for b1 being Subset of a1 st b1 is open holds
b1 in a2;
end;

:: deftheorem Def2 defines all-open-containing TOPGEN_4:def 2 :
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 holds
( b2 is all-open-containing iff for b3 being Subset of b1 st b3 is open holds
b3 in b2 );

definition
let c1 be non empty TopSpace;
let c2 be Subset-Family of c1;
attr a2 is all-closed-containing means :Def3: :: TOPGEN_4:def 3
for b1 being Subset of a1 st b1 is closed holds
b1 in a2;
end;

:: deftheorem Def3 defines all-closed-containing TOPGEN_4:def 3 :
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 holds
( b2 is all-closed-containing iff for b3 being Subset of b1 st b3 is closed holds
b3 in b2 );

definition
let c1 be set ;
let c2 be Subset-Family of c1;
attr a2 is closed_for_countable_unions means :Def4: :: TOPGEN_4:def 4
for b1 being countable Subset-Family of a1 st b1 c= a2 holds
union b1 in a2;
end;

:: deftheorem Def4 defines closed_for_countable_unions TOPGEN_4:def 4 :
for b1 being set
for b2 being Subset-Family of b1 holds
( b2 is closed_for_countable_unions iff for b3 being countable Subset-Family of b1 st b3 c= b2 holds
union b3 in b2 );

Lemma10: for b1 being set
for b2 being Subset-Family of b1 st b2 is sigma_Field_Subset of b1 holds
b2 is closed_for_countable_unions
proof end;

registration
let c1 be set ;
cluster -> closed_for_countable_unions Element of K10(K10(a1));
coherence
for b1 being sigma_Field_Subset of c1 holds b1 is closed_for_countable_unions
by Lemma10;
end;

theorem Th12: :: TOPGEN_4:12
for b1 being set
for b2 being Subset-Family of b1 st b2 is closed_for_countable_unions holds
{} in b2
proof end;

registration
let c1 be set ;
cluster closed_for_countable_unions -> non empty Element of K10(K10(a1));
coherence
for b1 being Subset-Family of c1 st b1 is closed_for_countable_unions holds
not b1 is empty
by Th12;
end;

theorem Th13: :: TOPGEN_4:13
for b1 being set
for b2 being Subset-Family of b1 holds
( b2 is sigma_Field_Subset of b1 iff ( b2 is compl-closed & b2 is closed_for_countable_unions ) )
proof end;

definition
let c1 be set ;
let c2 be Subset-Family of c1;
attr a2 is closed_for_countable_meets means :Def5: :: TOPGEN_4:def 5
for b1 being countable Subset-Family of a1 st b1 c= a2 holds
meet b1 in a2;
end;

:: deftheorem Def5 defines closed_for_countable_meets TOPGEN_4:def 5 :
for b1 being set
for b2 being Subset-Family of b1 holds
( b2 is closed_for_countable_meets iff for b3 being countable Subset-Family of b1 st b3 c= b2 holds
meet b3 in b2 );

theorem Th14: :: TOPGEN_4:14
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 holds
( b2 is all-closed-containing & b2 is compl-closed iff ( b2 is all-open-containing & b2 is compl-closed ) )
proof end;

theorem Th15: :: TOPGEN_4:15
for b1 being set
for b2 being Subset-Family of b1 st b2 is compl-closed holds
b2 = COMPLEMENT b2
proof end;

theorem Th16: :: TOPGEN_4:16
for b1 being set
for b2, b3 being Subset-Family of b1 st b2 c= b3 & b3 is compl-closed holds
COMPLEMENT b2 c= b3
proof end;

theorem Th17: :: TOPGEN_4:17
for b1 being set
for b2 being Subset-Family of b1 holds
( b2 is closed_for_countable_meets & b2 is compl-closed iff ( b2 is closed_for_countable_unions & b2 is compl-closed ) )
proof end;

registration
let c1 be non empty TopSpace;
cluster compl-closed all-open-containing closed_for_countable_unions -> all-closed-containing closed_for_countable_meets Element of K10(K10(the carrier of a1));
coherence
for b1 being Subset-Family of c1 st b1 is all-open-containing & b1 is compl-closed & b1 is closed_for_countable_unions holds
( b1 is all-closed-containing & b1 is closed_for_countable_meets )
by Th17, Th14;
cluster compl-closed all-closed-containing closed_for_countable_meets -> non empty all-open-containing closed_for_countable_unions Element of K10(K10(the carrier of a1));
coherence
for b1 being Subset-Family of c1 st b1 is all-closed-containing & b1 is compl-closed & b1 is closed_for_countable_meets holds
( b1 is all-open-containing & b1 is closed_for_countable_unions )
by Th17, Th14;
end;

registration
let c1 be set ;
let c2 be countable Subset-Family of c1;
cluster COMPLEMENT a2 -> countable ;
coherence
COMPLEMENT c2 is countable
by Th1;
end;

registration
let c1 be non empty TopSpace;
cluster empty -> open closed Element of K10(K10(the carrier of a1));
coherence
for b1 being Subset-Family of c1 st b1 is empty holds
( b1 is open & b1 is closed )
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster open closed countable Element of K10(K10(the carrier of a1));
existence
ex b1 being Subset-Family of c1 st
( b1 is countable & b1 is open & b1 is closed )
proof end;
end;

theorem Th18: :: TOPGEN_4:18
for b1 being set holds {} is empty Subset-Family of b1
proof end;

registration
cluster empty -> countable set ;
coherence
for b1 being set st b1 is empty holds
b1 is countable
proof end;
end;

theorem Th19: :: TOPGEN_4:19
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Subset-Family of b1 st b3 = {b2} holds
( b2 is open iff b3 is open )
proof end;

theorem Th20: :: TOPGEN_4:20
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Subset-Family of b1 st b3 = {b2} holds
( b2 is closed iff b3 is closed )
proof end;

definition
let c1 be set ;
let c2, c3 be Subset-Family of c1;
redefine func INTERSECTION as INTERSECTION c2,c3 -> Subset-Family of a1;
coherence
INTERSECTION c2,c3 is Subset-Family of c1
proof end;
redefine func UNION as UNION c2,c3 -> Subset-Family of a1;
coherence
UNION c2,c3 is Subset-Family of c1
proof end;
end;

theorem Th21: :: TOPGEN_4:21
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 is closed & b3 is closed holds
INTERSECTION b2,b3 is closed
proof end;

theorem Th22: :: TOPGEN_4:22
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 is closed & b3 is closed holds
UNION b2,b3 is closed
proof end;

theorem Th23: :: TOPGEN_4:23
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 is open & b3 is open holds
INTERSECTION b2,b3 is open
proof end;

theorem Th24: :: TOPGEN_4:24
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 is open & b3 is open holds
UNION b2,b3 is open
proof end;

theorem Th25: :: TOPGEN_4:25
for b1 being set
for b2, b3 being Subset-Family of b1 holds Card (INTERSECTION b2,b3) <=` Card [:b2,b3:]
proof end;

theorem Th26: :: TOPGEN_4:26
for b1 being set
for b2, b3 being Subset-Family of b1 holds Card (UNION b2,b3) <=` Card [:b2,b3:]
proof end;

theorem Th27: :: TOPGEN_4:27
for b1, b2 being set holds union (UNION b1,b2) c= (union b1) \/ (union b2)
proof end;

theorem Th28: :: TOPGEN_4:28
for b1, b2 being set st b1 <> {} & b2 <> {} holds
(union b1) \/ (union b2) = union (UNION b1,b2)
proof end;

theorem Th29: :: TOPGEN_4:29
for b1 being set holds UNION {} ,b1 = {}
proof end;

theorem Th30: :: TOPGEN_4:30
for b1, b2 being set holds
( not UNION b1,b2 = {} or b1 = {} or b2 = {} )
proof end;

theorem Th31: :: TOPGEN_4:31
for b1, b2 being set holds
( not INTERSECTION b1,b2 = {} or b1 = {} or b2 = {} )
proof end;

theorem Th32: :: TOPGEN_4:32
for b1, b2 being set holds meet (UNION b1,b2) c= (meet b1) \/ (meet b2)
proof end;

theorem Th33: :: TOPGEN_4:33
for b1, b2 being set st b1 <> {} & b2 <> {} holds
meet (UNION b1,b2) = (meet b1) \/ (meet b2)
proof end;

theorem Th34: :: TOPGEN_4:34
for b1, b2 being set st b1 <> {} & b2 <> {} holds
(meet b1) /\ (meet b2) = meet (INTERSECTION b1,b2)
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
attr a2 is F_sigma means :Def6: :: TOPGEN_4:def 6
ex b1 being closed countable Subset-Family of a1 st a2 = union b1;
end;

:: deftheorem Def6 defines F_sigma TOPGEN_4:def 6 :
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is F_sigma iff ex b3 being closed countable Subset-Family of b1 st b2 = union b3 );

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
attr a2 is G_delta means :Def7: :: TOPGEN_4:def 7
ex b1 being open countable Subset-Family of a1 st a2 = meet b1;
end;

:: deftheorem Def7 defines G_delta TOPGEN_4:def 7 :
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is G_delta iff ex b3 being open countable Subset-Family of b1 st b2 = meet b3 );

theorem Th35: :: TOPGEN_4:35
for b1 being non empty TopSpace holds {} b1 is F_sigma
proof end;

theorem Th36: :: TOPGEN_4:36
for b1 being non empty TopSpace holds {} b1 is G_delta
proof end;

registration
let c1 be non empty TopSpace;
cluster {} a1 -> countable F_sigma G_delta ;
coherence
( {} c1 is F_sigma & {} c1 is G_delta )
by Th36, Th35;
end;

theorem Th37: :: TOPGEN_4:37
for b1 being non empty TopSpace holds [#] b1 is F_sigma
proof end;

theorem Th38: :: TOPGEN_4:38
for b1 being non empty TopSpace holds [#] b1 is G_delta
proof end;

registration
let c1 be non empty TopSpace;
cluster [#] a1 -> F_sigma G_delta ;
coherence
( [#] c1 is F_sigma & [#] c1 is G_delta )
by Th37, Th38;
end;

theorem Th39: :: TOPGEN_4:39
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is F_sigma holds
b2 ` is G_delta
proof end;

theorem Th40: :: TOPGEN_4:40
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is G_delta holds
b2 ` is F_sigma
proof end;

theorem Th41: :: TOPGEN_4:41
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2 is F_sigma & b3 is F_sigma holds
b2 /\ b3 is F_sigma
proof end;

theorem Th42: :: TOPGEN_4:42
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2 is F_sigma & b3 is F_sigma holds
b2 \/ b3 is F_sigma
proof end;

theorem Th43: :: TOPGEN_4:43
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2 is G_delta & b3 is G_delta holds
b2 \/ b3 is G_delta
proof end;

theorem Th44: :: TOPGEN_4:44
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2 is G_delta & b3 is G_delta holds
b2 /\ b3 is G_delta
proof end;

theorem Th45: :: TOPGEN_4:45
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is closed holds
b2 is F_sigma
proof end;

theorem Th46: :: TOPGEN_4:46
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is open holds
b2 is G_delta
proof end;

theorem Th47: :: TOPGEN_4:47
for b1 being Subset of R^1 st b1 = RAT holds
b1 is F_sigma
proof end;

definition
let c1 be TopSpace;
attr a1 is T_1/2 means :Def8: :: TOPGEN_4:def 8
for b1 being Subset of a1 holds Der b1 is closed;
end;

:: deftheorem Def8 defines T_1/2 TOPGEN_4:def 8 :
for b1 being TopSpace holds
( b1 is T_1/2 iff for b2 being Subset of b1 holds Der b2 is closed );

theorem Th48: :: TOPGEN_4:48
for b1 being TopSpace st b1 is being_T1 holds
b1 is T_1/2
proof end;

theorem Th49: :: TOPGEN_4:49
for b1 being non empty TopSpace st b1 is T_1/2 holds
b1 is T_0
proof end;

theorem Th50: :: TOPGEN_4:50
for b1 being non empty TopSpace
for b2 being Point of b1 holds
( b2 is_isolated_in [#] b1 or b2 is_an_accumulation_point_of [#] b1 )
proof end;

registration
cluster T_1/2 -> T_0 TopStruct ;
coherence
for b1 being TopSpace st b1 is T_1/2 holds
b1 is T_0
proof end;
cluster being_T1 -> T_1/2 TopStruct ;
coherence
for b1 being TopSpace st b1 is being_T1 holds
b1 is T_1/2
by Th48;
end;

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
let c3 be Point of c1;
pred c3 is_a_condensation_point_of c2 means :Def9: :: TOPGEN_4:def 9
for b1 being a_neighborhood of a3 holds not b1 /\ a2 is countable;
end;

:: deftheorem Def9 defines is_a_condensation_point_of TOPGEN_4:def 9 :
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Point of b1 holds
( b3 is_a_condensation_point_of b2 iff for b4 being a_neighborhood of b3 holds not b4 /\ b2 is countable );

theorem Th51: :: TOPGEN_4:51
for b1 being non empty TopSpace
for b2, b3 being Subset of b1
for b4 being Point of b1 st b4 is_a_condensation_point_of b2 & b2 c= b3 holds
b4 is_a_condensation_point_of b3
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
func c2 ^0 -> Subset of a1 means :Def10: :: TOPGEN_4:def 10
for b1 being Point of a1 holds
( b1 in a3 iff b1 is_a_condensation_point_of a2 );
existence
ex b1 being Subset of c1 st
for b2 being Point of c1 holds
( b2 in b1 iff b2 is_a_condensation_point_of c2 )
proof end;
uniqueness
for b1, b2 being Subset of c1 st ( for b3 being Point of c1 holds
( b3 in b1 iff b3 is_a_condensation_point_of c2 ) ) & ( for b3 being Point of c1 holds
( b3 in b2 iff b3 is_a_condensation_point_of c2 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def10 defines ^0 TOPGEN_4:def 10 :
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 holds
( b3 = b2 ^0 iff for b4 being Point of b1 holds
( b4 in b3 iff b4 is_a_condensation_point_of b2 ) );

theorem Th52: :: TOPGEN_4:52
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Point of b1 st b3 is_a_condensation_point_of b2 holds
b3 is_an_accumulation_point_of b2
proof end;

theorem Th53: :: TOPGEN_4:53
for b1 being non empty TopSpace
for b2 being Subset of b1 holds b2 ^0 c= Der b2
proof end;

theorem Th54: :: TOPGEN_4:54
for b1 being non empty TopSpace
for b2 being Subset of b1 holds b2 ^0 = Cl (b2 ^0 )
proof end;

theorem Th55: :: TOPGEN_4:55
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2 c= b3 holds
b2 ^0 c= b3 ^0
proof end;

theorem Th56: :: TOPGEN_4:56
for b1 being non empty TopSpace
for b2, b3 being Subset of b1
for b4 being Point of b1 holds
( not b4 is_a_condensation_point_of b2 \/ b3 or b4 is_a_condensation_point_of b2 or b4 is_a_condensation_point_of b3 )
proof end;

theorem Th57: :: TOPGEN_4:57
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 holds (b2 \/ b3) ^0 = (b2 ^0 ) \/ (b3 ^0 )
proof end;

theorem Th58: :: TOPGEN_4:58
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is countable holds
for b3 being Point of b1 holds not b3 is_a_condensation_point_of b2
proof end;

theorem Th59: :: TOPGEN_4:59
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is countable holds
b2 ^0 = {}
proof end;

registration
let c1 be non empty TopSpace;
let c2 be countable Subset of c1;
cluster a2 ^0 -> empty countable ;
coherence
c2 ^0 is empty
by Th59;
end;

theorem Th60: :: TOPGEN_4:60
for b1 being non empty TopSpace st b1 is second-countable holds
ex b2 being Basis of b1 st b2 is countable
proof end;

registration
cluster non empty second-countable separable TopStruct ;
existence
ex b1 being TopSpace st
( b1 is second-countable & not b1 is empty )
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster TotFam a1 -> non empty compl-closed all-open-containing all-closed-containing closed_for_countable_unions closed_for_countable_meets ;
coherence
( not TotFam c1 is empty & TotFam c1 is all-open-containing & TotFam c1 is compl-closed & TotFam c1 is closed_for_countable_unions )
proof end;
end;

theorem Th61: :: TOPGEN_4:61
for b1 being set
for b2 being SetSequence of b1 holds rng b2 is non empty countable Subset-Family of b1
proof end;

theorem Th62: :: TOPGEN_4:62
for b1, b2 being set holds
( b2 is SigmaField of b1 iff b2 is sigma_Field_Subset of b1 )
proof end;

theorem Th63: :: TOPGEN_4:63
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 is all-open-containing & b2 c= b3 holds
b3 is all-open-containing
proof end;

theorem Th64: :: TOPGEN_4:64
for b1 being non empty TopSpace
for b2, b3 being Subset-Family of b1 st b2 is all-closed-containing & b2 c= b3 holds
b3 is all-closed-containing
proof end;

definition
let c1 be 1-sorted ;
mode SigmaField of a1 is SigmaField of the carrier of a1;
mode sigma_Field_Subset of a1 is sigma_Field_Subset of the carrier of a1;
end;

registration
let c1 be non empty TopSpace;
cluster non empty compl-closed all-open-containing all-closed-containing closed_for_countable_unions closed_for_countable_meets Element of K10(K10(the carrier of a1));
existence
ex b1 being Subset-Family of c1 st
( b1 is compl-closed & b1 is closed_for_countable_unions & b1 is closed_for_countable_meets & b1 is all-closed-containing & b1 is all-open-containing )
proof end;
end;

theorem Th65: :: TOPGEN_4:65
for b1 being non empty TopSpace holds
( sigma (TotFam b1) is all-open-containing & sigma (TotFam b1) is compl-closed & sigma (TotFam b1) is closed_for_countable_unions )
proof end;

registration
let c1 be non empty TopSpace;
cluster sigma (TotFam a1) -> compl-closed all-open-containing all-closed-containing closed_for_countable_unions closed_for_countable_meets ;
coherence
( sigma (TotFam c1) is all-open-containing & sigma (TotFam c1) is compl-closed & sigma (TotFam c1) is closed_for_countable_unions )
by Th65;
end;

registration
let c1 be non empty 1-sorted ;
cluster non empty compl-closed sigma_Field_Subset-like closed_for_countable_unions Element of K10(K10(the carrier of a1));
existence
ex b1 being Subset-Family of c1 st
( b1 is sigma_Field_Subset-like & b1 is compl-closed & b1 is closed_for_countable_unions & not b1 is empty )
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster -> non empty closed_for_countable_unions SigmaField of the carrier of a1;
coherence
for b1 being SigmaField of c1 holds b1 is closed_for_countable_unions
by Th62;
end;

theorem Th66: :: TOPGEN_4:66
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 st b2 is compl-closed & b2 is closed_for_countable_unions holds
b2 is SigmaField of b1
proof end;

registration
let c1 be non empty TopSpace;
cluster all-open-containing all-closed-containing closed_for_countable_unions closed_for_countable_meets SigmaField of the carrier of a1;
existence
ex b1 being SigmaField of c1 st b1 is all-open-containing
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster Topology_of a1 -> open all-open-containing ;
coherence
( Topology_of c1 is open & Topology_of c1 is all-open-containing )
proof end;
end;

theorem Th67: :: TOPGEN_4:67
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 ex b3 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of b1 st
( b2 c= b3 & ( for b4 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of b1 st b2 c= b4 holds
b3 c= b4 ) )
proof end;

definition
let c1 be non empty TopSpace;
func BorelSets c1 -> compl-closed all-open-containing closed_for_countable_unions Subset-Family of a1 means :Def11: :: TOPGEN_4:def 11
for b1 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of a1 holds a2 c= b1;
existence
ex b1 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of c1 st
for b2 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of c1 holds b1 c= b2
proof end;
uniqueness
for b1, b2 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of c1 st ( for b3 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of c1 holds b1 c= b3 ) & ( for b3 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of c1 holds b2 c= b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def11 defines BorelSets TOPGEN_4:def 11 :
for b1 being non empty TopSpace
for b2 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of b1 holds
( b2 = BorelSets b1 iff for b3 being compl-closed all-open-containing closed_for_countable_unions Subset-Family of b1 holds b2 c= b3 );

theorem Th68: :: TOPGEN_4:68
for b1 being non empty TopSpace
for b2 being closed Subset-Family of b1 holds b2 c= BorelSets b1
proof end;

theorem Th69: :: TOPGEN_4:69
for b1 being non empty TopSpace
for b2 being open Subset-Family of b1 holds b2 c= BorelSets b1
proof end;

theorem Th70: :: TOPGEN_4:70
for b1 being non empty TopSpace holds BorelSets b1 = sigma (Topology_of b1)
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
attr a2 is Borel means :Def12: :: TOPGEN_4:def 12
a2 in BorelSets a1;
end;

:: deftheorem Def12 defines Borel TOPGEN_4:def 12 :
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is Borel iff b2 in BorelSets b1 );

registration
let c1 be non empty TopSpace;
cluster F_sigma -> Borel Element of K10(the carrier of a1);
coherence
for b1 being Subset of c1 st b1 is F_sigma holds
b1 is Borel
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster G_delta -> Borel Element of K10(the carrier of a1);
coherence
for b1 being Subset of c1 st b1 is G_delta holds
b1 is Borel
proof end;
end;