:: TOPGEN_3 semantic presentation

definition
let c1 be set ;
let c2 be Subset-Family of c1;
attr a2 is point-filtered means :Def1: :: TOPGEN_3:def 1
for b1, b2, b3 being set st b2 in a2 & b3 in a2 & b1 in b2 /\ b3 holds
ex b4 being Subset of a1 st
( b4 in a2 & b1 in b4 & b4 c= b2 /\ b3 );
end;

:: deftheorem Def1 defines point-filtered TOPGEN_3:def 1 :
for b1 being set
for b2 being Subset-Family of b1 holds
( b2 is point-filtered iff for b3, b4, b5 being set st b4 in b2 & b5 in b2 & b3 in b4 /\ b5 holds
ex b6 being Subset of b1 st
( b6 in b2 & b3 in b6 & b6 c= b4 /\ b5 ) );

theorem Th1: :: TOPGEN_3:1
for b1 being set
for b2 being Subset-Family of b1 holds
( b2 is covering iff for b3 being set st b3 in b1 holds
ex b4 being Subset of b1 st
( b4 in b2 & b3 in b4 ) )
proof end;

theorem Th2: :: TOPGEN_3:2
for b1 being set
for b2 being Subset-Family of b1 st b2 is point-filtered & b2 is covering holds
for b3 being TopStruct st the carrier of b3 = b1 & the topology of b3 = UniCl b2 holds
( b3 is TopSpace & b2 is Basis of b3 )
proof end;

theorem Th3: :: TOPGEN_3:3
for b1 being set
for b2 being V7 ManySortedSet of b1 st rng b2 c= bool (bool b1) & ( for b3, b4 being set st b3 in b1 & b4 in b2 . b3 holds
b3 in b4 ) & ( for b3, b4, b5 being set st b3 in b5 & b5 in b2 . b4 & b4 in b1 holds
ex b6 being set st
( b6 in b2 . b3 & b6 c= b5 ) ) & ( for b3, b4, b5 being set st b3 in b1 & b4 in b2 . b3 & b5 in b2 . b3 holds
ex b6 being set st
( b6 in b2 . b3 & b6 c= b4 /\ b5 ) ) holds
ex b3 being Subset-Family of b1 st
( b3 = Union b2 & ( for b4 being TopStruct st the carrier of b4 = b1 & the topology of b4 = UniCl b3 holds
( b4 is TopSpace & ( for b5 being non empty TopSpace st b5 = b4 holds
b2 is Neighborhood_System of b5 ) ) ) )
proof end;

theorem Th4: :: TOPGEN_3:4
for b1 being set
for b2 being Subset-Family of b1 st {} in b2 & b1 in b2 & ( for b3, b4 being set st b3 in b2 & b4 in b2 holds
b3 \/ b4 in b2 ) & ( for b3 being Subset-Family of b1 st b3 c= b2 holds
Intersect b3 in b2 ) holds
for b3 being TopStruct st the carrier of b3 = b1 & the topology of b3 = COMPLEMENT b2 holds
( b3 is TopSpace & ( for b4 being Subset of b3 holds
( b4 is closed iff b4 in b2 ) ) )
proof end;

scheme :: TOPGEN_3:sch 1
s1{ F1() -> set , P1[ set ] } :
ex b1 being strict TopSpace st
( the carrier of b1 = F1() & ( for b2 being Subset of b1 holds
( b2 is closed iff P1[b2] ) ) )
provided
E5: ( P1[ {} ] & P1[F1()] ) and
E6: for b1, b2 being set st P1[b1] & P1[b2] holds
P1[b1 \/ b2] and
E7: for b1 being Subset-Family of F1() st ( for b2 being set st b2 in b1 holds
P1[b2] ) holds
P1[ Intersect b1]
proof end;

Lemma5: for b1, b2 being TopSpace st ( for b3 being set holds
( b3 is open Subset of b1 iff b3 is open Subset of b2 ) ) holds
( the carrier of b1 = the carrier of b2 & the topology of b1 c= the topology of b2 )
proof end;

theorem Th5: :: TOPGEN_3:5
for b1, b2 being TopSpace st ( for b3 being set holds
( b3 is open Subset of b1 iff b3 is open Subset of b2 ) ) holds
TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #)
proof end;

Lemma6: for b1, b2 being TopSpace st ( for b3 being set holds
( b3 is closed Subset of b1 iff b3 is closed Subset of b2 ) ) holds
( the carrier of b1 = the carrier of b2 & the topology of b1 c= the topology of b2 )
proof end;

theorem Th6: :: TOPGEN_3:6
for b1, b2 being TopSpace st ( for b3 being set holds
( b3 is closed Subset of b1 iff b3 is closed Subset of b2 ) ) holds
TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #)
proof end;

definition
let c1, c2 be set ;
let c3 be Subset of [:c1,(bool c2):];
redefine func rng as rng c3 -> Subset-Family of a2;
coherence
rng c3 is Subset-Family of c2
proof end;
end;

theorem Th7: :: TOPGEN_3:7
for b1 being set
for b2 being Function of bool b1, bool b1 st b2 . {} = {} & ( for b3 being Subset of b1 holds b3 c= b2 . b3 ) & ( for b3, b4 being Subset of b1 holds b2 . (b3 \/ b4) = (b2 . b3) \/ (b2 . b4) ) & ( for b3 being Subset of b1 holds b2 . (b2 . b3) = b2 . b3 ) holds
for b3 being TopStruct st the carrier of b3 = b1 & the topology of b3 = COMPLEMENT (rng b2) holds
( b3 is TopSpace & ( for b4 being Subset of b3 holds Cl b4 = b2 . b4 ) )
proof end;

scheme :: TOPGEN_3:sch 2
s2{ F1() -> set , F2( set ) -> set } :
ex b1 being strict TopSpace st
( the carrier of b1 = F1() & ( for b2 being Subset of b1 holds Cl b2 = F2(b2) ) )
provided
E9: F2({} ) = {} and
E10: for b1 being Subset of F1() holds
( b1 c= F2(b1) & F2(b1) c= F1() ) and
E11: for b1, b2 being Subset of F1() holds F2((b1 \/ b2)) = F2(b1) \/ F2(b2) and
E12: for b1 being Subset of F1() holds F2(F2(b1)) = F2(b1)
proof end;

theorem Th8: :: TOPGEN_3:8
for b1, b2 being TopSpace st the carrier of b1 = the carrier of b2 & ( for b3 being Subset of b1
for b4 being Subset of b2 st b3 = b4 holds
Cl b3 = Cl b4 ) holds
the topology of b1 = the topology of b2
proof end;

theorem Th9: :: TOPGEN_3:9
for b1 being set
for b2 being Function of bool b1, bool b1 st b2 . b1 = b1 & ( for b3 being Subset of b1 holds b2 . b3 c= b3 ) & ( for b3, b4 being Subset of b1 holds b2 . (b3 /\ b4) = (b2 . b3) /\ (b2 . b4) ) & ( for b3 being Subset of b1 holds b2 . (b2 . b3) = b2 . b3 ) holds
for b3 being TopStruct st the carrier of b3 = b1 & the topology of b3 = rng b2 holds
( b3 is TopSpace & ( for b4 being Subset of b3 holds Int b4 = b2 . b4 ) )
proof end;

scheme :: TOPGEN_3:sch 3
s3{ F1() -> set , F2( set ) -> set } :
ex b1 being strict TopSpace st
( the carrier of b1 = F1() & ( for b2 being Subset of b1 holds Int b2 = F2(b2) ) )
provided
E11: F2(F1()) = F1() and
E12: for b1 being Subset of F1() holds F2(b1) c= b1 and
E13: for b1, b2 being Subset of F1() holds F2((b1 /\ b2)) = F2(b1) /\ F2(b2) and
E14: for b1 being Subset of F1() holds F2(F2(b1)) = F2(b1)
proof end;

theorem Th10: :: TOPGEN_3:10
for b1, b2 being TopSpace st the carrier of b1 = the carrier of b2 & ( for b3 being Subset of b1
for b4 being Subset of b2 st b3 = b4 holds
Int b3 = Int b4 ) holds
the topology of b1 = the topology of b2
proof end;

definition
func Sorgenfrey-line -> non empty strict TopSpace means :Def2: :: TOPGEN_3:def 2
( the carrier of a1 = REAL & ex b1 being Subset-Family of REAL st
( the topology of a1 = UniCl b1 & b1 = { [.b2,b3.[ where B is Element of REAL , B is Element of REAL : ( b2 < b3 & b3 is rational ) } ) );
uniqueness
for b1, b2 being non empty strict TopSpace st the carrier of b1 = REAL & ex b3 being Subset-Family of REAL st
( the topology of b1 = UniCl b3 & b3 = { [.b4,b5.[ where B is Element of REAL , B is Element of REAL : ( b4 < b5 & b5 is rational ) } ) & the carrier of b2 = REAL & ex b3 being Subset-Family of REAL st
( the topology of b2 = UniCl b3 & b3 = { [.b4,b5.[ where B is Element of REAL , B is Element of REAL : ( b4 < b5 & b5 is rational ) } ) holds
b1 = b2
;
existence
ex b1 being non empty strict TopSpace st
( the carrier of b1 = REAL & ex b2 being Subset-Family of REAL st
( the topology of b1 = UniCl b2 & b2 = { [.b3,b4.[ where B is Element of REAL , B is Element of REAL : ( b3 < b4 & b4 is rational ) } ) )
proof end;
end;

:: deftheorem Def2 defines Sorgenfrey-line TOPGEN_3:def 2 :
for b1 being non empty strict TopSpace holds
( b1 = Sorgenfrey-line iff ( the carrier of b1 = REAL & ex b2 being Subset-Family of REAL st
( the topology of b1 = UniCl b2 & b2 = { [.b3,b4.[ where B is Element of REAL , B is Element of REAL : ( b3 < b4 & b4 is rational ) } ) ) );

Lemma13: the carrier of Sorgenfrey-line = REAL
by Def2;

consider c1 being Subset-Family of REAL such that
Lemma14: the topology of Sorgenfrey-line = UniCl c1 and
Lemma15: c1 = { [.b1,b2.[ where B is Element of REAL , B is Element of REAL : ( b1 < b2 & b2 is rational ) } by Def2;

c1 c= the topology of Sorgenfrey-line
by Lemma14, CANTOR_1:1;

then Lemma16: c1 is Basis of Sorgenfrey-line
by Lemma13, Lemma14, CANTOR_1:def 2;

theorem Th11: :: TOPGEN_3:11
for b1, b2 being real number holds [.b1,b2.[ is open Subset of Sorgenfrey-line
proof end;

theorem Th12: :: TOPGEN_3:12
for b1, b2 being real number holds ].b1,b2.[ is open Subset of Sorgenfrey-line
proof end;

theorem Th13: :: TOPGEN_3:13
for b1 being real number holds left_open_halfline b1 is open Subset of Sorgenfrey-line
proof end;

theorem Th14: :: TOPGEN_3:14
for b1 being real number holds right_open_halfline b1 is open Subset of Sorgenfrey-line
proof end;

theorem Th15: :: TOPGEN_3:15
for b1 being real number holds right_closed_halfline b1 is open Subset of Sorgenfrey-line
proof end;

theorem Th16: :: TOPGEN_3:16
Card INT = alef 0
proof end;

theorem Th17: :: TOPGEN_3:17
Card RAT = alef 0
proof end;

theorem Th18: :: TOPGEN_3:18
for b1 being set st b1 is mutually-disjoint & ( for b2 being set st b2 in b1 holds
ex b3, b4 being real number st
( b3 < b4 & ].b3,b4.[ c= b2 ) ) holds
b1 is countable
proof end;

definition
let c2 be set ;
let c3 be real number ;
pred c2 is_local_minimum_of c1 means :Def3: :: TOPGEN_3:def 3
( a2 in a1 & ex b1 being real number st
( b1 < a2 & ].b1,a2.[ misses a1 ) );
end;

:: deftheorem Def3 defines is_local_minimum_of TOPGEN_3:def 3 :
for b1 being set
for b2 being real number holds
( b2 is_local_minimum_of b1 iff ( b2 in b1 & ex b3 being real number st
( b3 < b2 & ].b3,b2.[ misses b1 ) ) );

theorem Th19: :: TOPGEN_3:19
for b1 being Subset of REAL holds { b2 where B is Element of REAL : b2 is_local_minimum_of b1 } is countable
proof end;

registration
cluster INT -> infinite ;
coherence
not INT is finite
by NUMBERS:17, FINSET_1:13;
cluster RAT -> infinite ;
coherence
not RAT is finite
by NUMBERS:18, FINSET_1:13;
cluster REAL -> infinite ;
coherence
not REAL is finite
proof end;
let c2 be infinite set ;
cluster bool a1 -> infinite ;
coherence
not bool c2 is finite
by FINSET_1:24;
end;

registration
let c2 be Aleph;
cluster exp 2,a1 -> infinite ;
coherence
not exp 2,c2 is finite
proof end;
end;

definition
func continuum -> infinite cardinal number equals :: TOPGEN_3:def 4
Card REAL ;
coherence
Card REAL is infinite cardinal number
;
end;

:: deftheorem Def4 defines continuum TOPGEN_3:def 4 :
continuum = Card REAL ;

theorem Th20: :: TOPGEN_3:20
Card { [.b1,b2.[ where B is Element of REAL , B is Element of REAL : ( b1 < b2 & b2 is rational ) } = continuum
proof end;

registration
let c2 be infinite set ;
cluster infinite Element of bool a1;
existence
not for b1 being Subset of c2 holds b1 is finite
proof end;
end;

definition
let c2 be set ;
let c3 be real number ;
func c1 -powers c2 -> Function of NAT , REAL means :Def5: :: TOPGEN_3:def 5
for b1 being natural number holds
( ( b1 in a1 & a3 . b1 = a2 |^ b1 ) or ( not b1 in a1 & a3 . b1 = 0 ) );
existence
ex b1 being Function of NAT , REAL st
for b2 being natural number holds
( ( b2 in c2 & b1 . b2 = c3 |^ b2 ) or ( not b2 in c2 & b1 . b2 = 0 ) )
proof end;
uniqueness
for b1, b2 being Function of NAT , REAL st ( for b3 being natural number holds
( ( b3 in c2 & b1 . b3 = c3 |^ b3 ) or ( not b3 in c2 & b1 . b3 = 0 ) ) ) & ( for b3 being natural number holds
( ( b3 in c2 & b2 . b3 = c3 |^ b3 ) or ( not b3 in c2 & b2 . b3 = 0 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines -powers TOPGEN_3:def 5 :
for b1 being set
for b2 being real number
for b3 being Function of NAT , REAL holds
( b3 = b1 -powers b2 iff for b4 being natural number holds
( ( b4 in b1 & b3 . b4 = b2 |^ b4 ) or ( not b4 in b1 & b3 . b4 = 0 ) ) );

theorem Th21: :: TOPGEN_3:21
for b1 being set
for b2 being real number st 0 < b2 & b2 < 1 holds
b1 -powers b2 is summable
proof end;

theorem Th22: :: TOPGEN_3:22
for b1 being real number
for b2 being Element of NAT st 0 < b1 & b1 < 1 holds
Sum ((b1 GeoSeq ) ^\ b2) = (b1 |^ b2) / (1 - b1)
proof end;

theorem Th23: :: TOPGEN_3:23
for b1 being Element of NAT holds Sum (((1 / 2) GeoSeq ) ^\ (b1 + 1)) = (1 / 2) |^ b1
proof end;

theorem Th24: :: TOPGEN_3:24
for b1 being real number
for b2 being set st 0 < b1 & b1 < 1 holds
Sum (b2 -powers b1) <= Sum (b1 GeoSeq )
proof end;

theorem Th25: :: TOPGEN_3:25
for b1 being set
for b2 being Element of NAT holds Sum ((b1 -powers (1 / 2)) ^\ (b2 + 1)) <= (1 / 2) |^ b2
proof end;

theorem Th26: :: TOPGEN_3:26
for b1 being infinite Subset of NAT
for b2 being natural number holds (Partial_Sums (b1 -powers (1 / 2))) . b2 < Sum (b1 -powers (1 / 2))
proof end;

theorem Th27: :: TOPGEN_3:27
for b1, b2 being infinite Subset of NAT st Sum (b1 -powers (1 / 2)) = Sum (b2 -powers (1 / 2)) holds
b1 = b2
proof end;

theorem Th28: :: TOPGEN_3:28
for b1 being set st b1 is countable holds
Fin b1 is countable
proof end;

theorem Th29: :: TOPGEN_3:29
continuum = exp 2,(alef 0)
proof end;

theorem Th30: :: TOPGEN_3:30
alef 0 <` continuum
proof end;

theorem Th31: :: TOPGEN_3:31
for b1 being Subset-Family of REAL st Card b1 <` continuum holds
Card { b2 where B is Element of REAL : ex b1 being set st
( b3 in UniCl b1 & b2 is_local_minimum_of b3 )
}
<` continuum
proof end;

theorem Th32: :: TOPGEN_3:32
for b1 being Subset-Family of REAL st Card b1 <` continuum holds
ex b2 being real number ex b3 being rational number st
( b2 < b3 & not [.b2,b3.[ in UniCl b1 )
proof end;

theorem Th33: :: TOPGEN_3:33
weight Sorgenfrey-line = continuum
proof end;

definition
let c2 be set ;
func ClFinTop c1 -> strict TopSpace means :Def6: :: TOPGEN_3:def 6
( the carrier of a2 = a1 & ( for b1 being Subset of a2 holds
( b1 is closed iff ( b1 is finite or b1 = a1 ) ) ) );
existence
ex b1 being strict TopSpace st
( the carrier of b1 = c2 & ( for b2 being Subset of b1 holds
( b2 is closed iff ( b2 is finite or b2 = c2 ) ) ) )
proof end;
correctness
uniqueness
for b1, b2 being strict TopSpace st the carrier of b1 = c2 & ( for b3 being Subset of b1 holds
( b3 is closed iff ( b3 is finite or b3 = c2 ) ) ) & the carrier of b2 = c2 & ( for b3 being Subset of b2 holds
( b3 is closed iff ( b3 is finite or b3 = c2 ) ) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def6 defines ClFinTop TOPGEN_3:def 6 :
for b1 being set
for b2 being strict TopSpace holds
( b2 = ClFinTop b1 iff ( the carrier of b2 = b1 & ( for b3 being Subset of b2 holds
( b3 is closed iff ( b3 is finite or b3 = b1 ) ) ) ) );

theorem Th34: :: TOPGEN_3:34
for b1 being set
for b2 being Subset of (ClFinTop b1) holds
( b2 is open iff ( b2 = {} or b2 ` is finite ) )
proof end;

theorem Th35: :: TOPGEN_3:35
for b1 being infinite set
for b2 being Subset of b1 st b2 is finite holds
not b2 ` is finite
proof end;

registration
let c2 be non empty set ;
cluster ClFinTop a1 -> non empty strict ;
coherence
not ClFinTop c2 is empty
proof end;
end;

theorem Th36: :: TOPGEN_3:36
for b1 being infinite set
for b2, b3 being non empty open Subset of (ClFinTop b1) holds b2 meets b3
proof end;

definition
let c2, c3 be set ;
func c2 -PointClTop c1 -> strict TopSpace means :Def7: :: TOPGEN_3:def 7
( the carrier of a3 = a1 & ( for b1 being Subset of a3 holds Cl b1 = IFEQ b1,{} ,b1,(b1 \/ ({a2} /\ a1)) ) );
existence
ex b1 being strict TopSpace st
( the carrier of b1 = c2 & ( for b2 being Subset of b1 holds Cl b2 = IFEQ b2,{} ,b2,(b2 \/ ({c3} /\ c2)) ) )
proof end;
correctness
uniqueness
for b1, b2 being strict TopSpace st the carrier of b1 = c2 & ( for b3 being Subset of b1 holds Cl b3 = IFEQ b3,{} ,b3,(b3 \/ ({c3} /\ c2)) ) & the carrier of b2 = c2 & ( for b3 being Subset of b2 holds Cl b3 = IFEQ b3,{} ,b3,(b3 \/ ({c3} /\ c2)) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def7 defines -PointClTop TOPGEN_3:def 7 :
for b1, b2 being set
for b3 being strict TopSpace holds
( b3 = b2 -PointClTop b1 iff ( the carrier of b3 = b1 & ( for b4 being Subset of b3 holds Cl b4 = IFEQ b4,{} ,b4,(b4 \/ ({b2} /\ b1)) ) ) );

registration
let c2 be non empty set ;
let c3 be set ;
cluster a2 -PointClTop a1 -> non empty strict ;
coherence
not c3 -PointClTop c2 is empty
proof end;
end;

theorem Th37: :: TOPGEN_3:37
for b1 being non empty set
for b2 being Element of b1
for b3 being non empty Subset of (b2 -PointClTop b1) holds Cl b3 = b3 \/ {b2}
proof end;

theorem Th38: :: TOPGEN_3:38
for b1 being non empty set
for b2 being Element of b1
for b3 being non empty Subset of (b2 -PointClTop b1) holds
( b3 is closed iff b2 in b3 )
proof end;

registration
let c2 be non empty set ;
let c3 be proper Subset of c2;
cluster a2 ` -> non empty ;
coherence
not c3 ` is empty
proof end;
end;

theorem Th39: :: TOPGEN_3:39
for b1 being non empty set
for b2 being Element of b1
for b3 being proper Subset of (b2 -PointClTop b1) holds
( b3 is open iff not b2 in b3 )
proof end;

theorem Th40: :: TOPGEN_3:40
for b1, b2, b3 being set st b2 in b1 holds
( {b3} is closed Subset of (b2 -PointClTop b1) iff b3 = b2 )
proof end;

theorem Th41: :: TOPGEN_3:41
for b1, b2, b3 being set st {b2} c< b1 holds
( {b3} is open Subset of (b2 -PointClTop b1) iff ( b3 in b1 & b3 <> b2 ) )
proof end;

definition
let c2, c3 be set ;
func c2 -DiscreteTop c1 -> strict TopSpace means :Def8: :: TOPGEN_3:def 8
( the carrier of a3 = a1 & ( for b1 being Subset of a3 holds Int b1 = IFEQ b1,a1,b1,(b1 /\ a2) ) );
existence
ex b1 being strict TopSpace st
( the carrier of b1 = c2 & ( for b2 being Subset of b1 holds Int b2 = IFEQ b2,c2,b2,(b2 /\ c3) ) )
proof end;
correctness
uniqueness
for b1, b2 being strict TopSpace st the carrier of b1 = c2 & ( for b3 being Subset of b1 holds Int b3 = IFEQ b3,c2,b3,(b3 /\ c3) ) & the carrier of b2 = c2 & ( for b3 being Subset of b2 holds Int b3 = IFEQ b3,c2,b3,(b3 /\ c3) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def8 defines -DiscreteTop TOPGEN_3:def 8 :
for b1, b2 being set
for b3 being strict TopSpace holds
( b3 = b2 -DiscreteTop b1 iff ( the carrier of b3 = b1 & ( for b4 being Subset of b3 holds Int b4 = IFEQ b4,b1,b4,(b4 /\ b2) ) ) );

registration
let c2 be non empty set ;
let c3 be set ;
cluster a2 -DiscreteTop a1 -> non empty strict ;
coherence
not c3 -DiscreteTop c2 is empty
proof end;
end;

theorem Th42: :: TOPGEN_3:42
for b1 being non empty set
for b2 being set
for b3 being proper Subset of (b2 -DiscreteTop b1) holds Int b3 = b3 /\ b2
proof end;

theorem Th43: :: TOPGEN_3:43
for b1 being non empty set
for b2 being set
for b3 being proper Subset of (b2 -DiscreteTop b1) holds
( b3 is open iff b3 c= b2 )
proof end;

Lemma46: for b1 being set
for b2 being Subset of b1 st b2 is proper holds
not b1 is empty
proof end;

theorem Th44: :: TOPGEN_3:44
for b1 being set
for b2 being Subset of b1 holds the topology of (b2 -DiscreteTop b1) = {b1} \/ (bool b2)
proof end;

theorem Th45: :: TOPGEN_3:45
for b1 being set holds ADTS b1 = {} -DiscreteTop b1
proof end;

theorem Th46: :: TOPGEN_3:46
for b1 being set holds 1TopSp b1 = b1 -DiscreteTop b1
proof end;