:: CANTOR_1 semantic presentation

registration
let c1 be set ;
let c2 be non empty set ;
cluster a1 --> a2 -> non-empty ;
coherence
c1 --> c2 is non-empty
;
end;

definition
let c1 be set ;
let c2 be Subset-Family of c1;
func UniCl c2 -> Subset-Family of a1 means :Def1: :: CANTOR_1:def 1
for b1 being Subset of a1 holds
( b1 in a3 iff ex b2 being Subset-Family of a1 st
( b2 c= a2 & b1 = union b2 ) );
existence
ex b1 being Subset-Family of c1 st
for b2 being Subset of c1 holds
( b2 in b1 iff ex b3 being Subset-Family of c1 st
( b3 c= c2 & b2 = union b3 ) )
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-Family of c1 st
( b4 c= c2 & b3 = union b4 ) ) ) & ( for b3 being Subset of c1 holds
( b3 in b2 iff ex b4 being Subset-Family of c1 st
( b4 c= c2 & b3 = union b4 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines UniCl CANTOR_1:def 1 :
for b1 being set
for b2, b3 being Subset-Family of b1 holds
( b3 = UniCl b2 iff for b4 being Subset of b1 holds
( b4 in b3 iff ex b5 being Subset-Family of b1 st
( b5 c= b2 & b4 = union b5 ) ) );

definition
let c1 be TopStruct ;
mode Basis of c1 -> Subset-Family of a1 means :Def2: :: CANTOR_1:def 2
( a2 c= the topology of a1 & the topology of a1 c= UniCl a2 );
existence
ex b1 being Subset-Family of c1 st
( b1 c= the topology of c1 & the topology of c1 c= UniCl b1 )
proof end;
end;

:: deftheorem Def2 defines Basis CANTOR_1:def 2 :
for b1 being TopStruct
for b2 being Subset-Family of b1 holds
( b2 is Basis of b1 iff ( b2 c= the topology of b1 & the topology of b1 c= UniCl b2 ) );

theorem Th1: :: CANTOR_1:1
for b1 being set
for b2 being Subset-Family of b1 holds b2 c= UniCl b2
proof end;

theorem Th2: :: CANTOR_1:2
for b1 being TopStruct holds the topology of b1 is Basis of b1
proof end;

theorem Th3: :: CANTOR_1:3
for b1 being TopStruct holds the topology of b1 is open
proof end;

definition
let c1 be set ;
let c2 be Subset-Family of c1;
canceled;
func FinMeetCl c2 -> Subset-Family of a1 means :Def4: :: CANTOR_1:def 4
for b1 being Subset of a1 holds
( b1 in a3 iff ex b2 being Subset-Family of a1 st
( b2 c= a2 & b2 is finite & b1 = Intersect b2 ) );
existence
ex b1 being Subset-Family of c1 st
for b2 being Subset of c1 holds
( b2 in b1 iff ex b3 being Subset-Family of c1 st
( b3 c= c2 & b3 is finite & b2 = Intersect b3 ) )
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-Family of c1 st
( b4 c= c2 & b4 is finite & b3 = Intersect b4 ) ) ) & ( for b3 being Subset of c1 holds
( b3 in b2 iff ex b4 being Subset-Family of c1 st
( b4 c= c2 & b4 is finite & b3 = Intersect b4 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 CANTOR_1:def 3 :
canceled;

:: deftheorem Def4 defines FinMeetCl CANTOR_1:def 4 :
for b1 being set
for b2, b3 being Subset-Family of b1 holds
( b3 = FinMeetCl b2 iff for b4 being Subset of b1 holds
( b4 in b3 iff ex b5 being Subset-Family of b1 st
( b5 c= b2 & b5 is finite & b4 = Intersect b5 ) ) );

theorem Th4: :: CANTOR_1:4
for b1 being set
for b2 being Subset-Family of b1 holds b2 c= FinMeetCl b2
proof end;

registration
let c1 be non empty TopSpace;
cluster the topology of a1 -> non empty ;
coherence
not the topology of c1 is empty
by PRE_TOPC:def 1;
end;

theorem Th5: :: CANTOR_1:5
for b1 being non empty TopSpace holds the topology of b1 = FinMeetCl the topology of b1
proof end;

theorem Th6: :: CANTOR_1:6
for b1 being TopSpace holds the topology of b1 = UniCl the topology of b1
proof end;

theorem Th7: :: CANTOR_1:7
for b1 being non empty TopSpace holds the topology of b1 = UniCl (FinMeetCl the topology of b1)
proof end;

theorem Th8: :: CANTOR_1:8
for b1 being set
for b2 being Subset-Family of b1 holds b1 in FinMeetCl b2
proof end;

theorem Th9: :: CANTOR_1:9
for b1 being set
for b2, b3 being Subset-Family of b1 st b2 c= b3 holds
UniCl b2 c= UniCl b3
proof end;

theorem Th10: :: CANTOR_1:10
canceled;

theorem Th11: :: CANTOR_1:11
canceled;

theorem Th12: :: CANTOR_1:12
for b1 being set
for b2 being non empty Subset-Family of (bool b1)
for b3 being Subset-Family of b1 st b3 = { (Intersect b4) where B is Element of b2 : verum } holds
Intersect b3 = Intersect (union b2)
proof end;

definition
let c1, c2 be set ;
let c3 be Subset-Family of c1;
let c4 be Function of c2, bool c3;
let c5 be set ;
redefine func . as c4 . c5 -> Subset-Family of a1;
coherence
c4 . c5 is Subset-Family of c1
proof end;
end;

theorem Th13: :: CANTOR_1:13
for b1 being set
for b2 being Subset-Family of b1 holds FinMeetCl b2 = FinMeetCl (FinMeetCl b2)
proof end;

theorem Th14: :: CANTOR_1:14
for b1 being set
for b2 being Subset-Family of b1
for b3, b4 being set st b3 in FinMeetCl b2 & b4 in FinMeetCl b2 holds
b3 /\ b4 in FinMeetCl b2
proof end;

theorem Th15: :: CANTOR_1:15
for b1 being set
for b2 being Subset-Family of b1
for b3, b4 being set st b3 c= FinMeetCl b2 & b4 c= FinMeetCl b2 holds
INTERSECTION b3,b4 c= FinMeetCl b2
proof end;

theorem Th16: :: CANTOR_1:16
for b1 being set
for b2, b3 being Subset-Family of b1 st b2 c= b3 holds
FinMeetCl b2 c= FinMeetCl b3
proof end;

registration
let c1 be set ;
let c2 be Subset-Family of c1;
cluster FinMeetCl a2 -> non empty ;
coherence
not FinMeetCl c2 is empty
by Th8;
end;

theorem Th17: :: CANTOR_1:17
for b1 being non empty set
for b2 being Subset-Family of b1 holds TopStruct(# b1,(UniCl (FinMeetCl b2)) #) is TopSpace-like
proof end;

definition
let c1 be TopStruct ;
mode prebasis of c1 -> Subset-Family of a1 means :Def5: :: CANTOR_1:def 5
( a2 c= the topology of a1 & ex b1 being Basis of a1 st b1 c= FinMeetCl a2 );
existence
ex b1 being Subset-Family of c1 st
( b1 c= the topology of c1 & ex b2 being Basis of c1 st b2 c= FinMeetCl b1 )
proof end;
end;

:: deftheorem Def5 defines prebasis CANTOR_1:def 5 :
for b1 being TopStruct
for b2 being Subset-Family of b1 holds
( b2 is prebasis of b1 iff ( b2 c= the topology of b1 & ex b3 being Basis of b1 st b3 c= FinMeetCl b2 ) );

theorem Th18: :: CANTOR_1:18
for b1 being non empty set
for b2 being Subset-Family of b1 holds b2 is Basis of TopStruct(# b1,(UniCl b2) #)
proof end;

theorem Th19: :: CANTOR_1:19
for b1, b2 being non empty strict TopSpace
for b3 being prebasis of b1 st the carrier of b1 = the carrier of b2 & b3 is prebasis of b2 holds
b1 = b2
proof end;

theorem Th20: :: CANTOR_1:20
for b1 being non empty set
for b2 being Subset-Family of b1 holds b2 is prebasis of TopStruct(# b1,(UniCl (FinMeetCl b2)) #)
proof end;

definition
func the_Cantor_set -> non empty strict TopSpace means :: CANTOR_1:def 6
( the carrier of a1 = product (NAT --> {0,1}) & ex b1 being prebasis of a1 st
for b2 being Subset of (product (NAT --> {0,1})) holds
( b2 in b1 iff ex b3, b4 being Nat st
for b5 being Element of product (NAT --> {0,1}) holds
( b5 in b2 iff b5 . b3 = b4 ) ) );
existence
ex b1 being non empty strict TopSpace st
( the carrier of b1 = product (NAT --> {0,1}) & ex b2 being prebasis of b1 st
for b3 being Subset of (product (NAT --> {0,1})) holds
( b3 in b2 iff ex b4, b5 being Nat st
for b6 being Element of product (NAT --> {0,1}) holds
( b6 in b3 iff b6 . b4 = b5 ) ) )
proof end;
uniqueness
for b1, b2 being non empty strict TopSpace st the carrier of b1 = product (NAT --> {0,1}) & ex b3 being prebasis of b1 st
for b4 being Subset of (product (NAT --> {0,1})) holds
( b4 in b3 iff ex b5, b6 being Nat st
for b7 being Element of product (NAT --> {0,1}) holds
( b7 in b4 iff b7 . b5 = b6 ) ) & the carrier of b2 = product (NAT --> {0,1}) & ex b3 being prebasis of b2 st
for b4 being Subset of (product (NAT --> {0,1})) holds
( b4 in b3 iff ex b5, b6 being Nat st
for b7 being Element of product (NAT --> {0,1}) holds
( b7 in b4 iff b7 . b5 = b6 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines the_Cantor_set CANTOR_1:def 6 :
for b1 being non empty strict TopSpace holds
( b1 = the_Cantor_set iff ( the carrier of b1 = product (NAT --> {0,1}) & ex b2 being prebasis of b1 st
for b3 being Subset of (product (NAT --> {0,1})) holds
( b3 in b2 iff ex b4, b5 being Nat st
for b6 being Element of product (NAT --> {0,1}) holds
( b6 in b3 iff b6 . b4 = b5 ) ) ) );