:: T_0TOPSP semantic presentation

theorem Th1: :: T_0TOPSP:1
for b1, b2 being non empty set
for b3, b4 being Relation of b1,b2 st ( for b5 being Element of b1
for b6 being Element of b2 holds
( [b5,b6] in b3 iff [b5,b6] in b4 ) ) holds
b3 = b4
proof end;

theorem Th2: :: T_0TOPSP:2
for b1, b2 being non empty set
for b3 being Function of b1,b2
for b4 being Subset of b1 st ( for b5, b6 being Element of b1 st b5 in b4 & b3 . b5 = b3 . b6 holds
b6 in b4 ) holds
b3 " (b3 .: b4) = b4
proof end;

definition
let c1, c2 be TopStruct ;
pred c1,c2 are_homeomorphic means :: T_0TOPSP:def 1
ex b1 being Function of a1,a2 st b1 is_homeomorphism ;
end;

:: deftheorem Def1 defines are_homeomorphic T_0TOPSP:def 1 :
for b1, b2 being TopStruct holds
( b1,b2 are_homeomorphic iff ex b3 being Function of b1,b2 st b3 is_homeomorphism );

definition
let c1, c2 be TopStruct ;
let c3 be Function of c1,c2;
attr a3 is open means :Def2: :: T_0TOPSP:def 2
for b1 being Subset of a1 st b1 is open holds
a3 .: b1 is open;
correctness
;
end;

:: deftheorem Def2 defines open T_0TOPSP:def 2 :
for b1, b2 being TopStruct
for b3 being Function of b1,b2 holds
( b3 is open iff for b4 being Subset of b1 st b4 is open holds
b3 .: b4 is open );

definition
let c1 be non empty TopStruct ;
func Indiscernibility c1 -> Equivalence_Relation of the carrier of a1 means :Def3: :: T_0TOPSP:def 3
for b1, b2 being Point of a1 holds
( [b1,b2] in a2 iff for b3 being Subset of a1 st b3 is open holds
( b1 in b3 iff b2 in b3 ) );
existence
ex b1 being Equivalence_Relation of the carrier of c1 st
for b2, b3 being Point of c1 holds
( [b2,b3] in b1 iff for b4 being Subset of c1 st b4 is open holds
( b2 in b4 iff b3 in b4 ) )
proof end;
uniqueness
for b1, b2 being Equivalence_Relation of the carrier of c1 st ( for b3, b4 being Point of c1 holds
( [b3,b4] in b1 iff for b5 being Subset of c1 st b5 is open holds
( b3 in b5 iff b4 in b5 ) ) ) & ( for b3, b4 being Point of c1 holds
( [b3,b4] in b2 iff for b5 being Subset of c1 st b5 is open holds
( b3 in b5 iff b4 in b5 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines Indiscernibility T_0TOPSP:def 3 :
for b1 being non empty TopStruct
for b2 being Equivalence_Relation of the carrier of b1 holds
( b2 = Indiscernibility b1 iff for b3, b4 being Point of b1 holds
( [b3,b4] in b2 iff for b5 being Subset of b1 st b5 is open holds
( b3 in b5 iff b4 in b5 ) ) );

definition
let c1 be non empty TopStruct ;
func Indiscernible c1 -> non empty a_partition of the carrier of a1 equals :: T_0TOPSP:def 4
Class (Indiscernibility a1);
coherence
Class (Indiscernibility c1) is non empty a_partition of the carrier of c1
proof end;
correctness
;
end;

:: deftheorem Def4 defines Indiscernible T_0TOPSP:def 4 :
for b1 being non empty TopStruct holds Indiscernible b1 = Class (Indiscernibility b1);

definition
let c1 be non empty TopSpace;
func T_0-reflex c1 -> TopSpace equals :: T_0TOPSP:def 5
space (Indiscernible a1);
correctness
coherence
space (Indiscernible c1) is TopSpace
;
;
end;

:: deftheorem Def5 defines T_0-reflex T_0TOPSP:def 5 :
for b1 being non empty TopSpace holds T_0-reflex b1 = space (Indiscernible b1);

registration
let c1 be non empty TopSpace;
cluster T_0-reflex a1 -> non empty ;
coherence
not T_0-reflex c1 is empty
;
end;

definition
let c1 be non empty TopSpace;
func T_0-canonical_map c1 -> continuous Function of a1,(T_0-reflex a1) equals :: T_0TOPSP:def 6
Proj (Indiscernible a1);
coherence
Proj (Indiscernible c1) is continuous Function of c1,(T_0-reflex c1)
;
end;

:: deftheorem Def6 defines T_0-canonical_map T_0TOPSP:def 6 :
for b1 being non empty TopSpace holds T_0-canonical_map b1 = Proj (Indiscernible b1);

theorem Th3: :: T_0TOPSP:3
for b1 being non empty TopSpace
for b2 being Point of b1 holds b2 in (T_0-canonical_map b1) . b2 by BORSUK_1:70;

theorem Th4: :: T_0TOPSP:4
for b1 being non empty TopSpace holds
( dom (T_0-canonical_map b1) = the carrier of b1 & rng (T_0-canonical_map b1) c= the carrier of (T_0-reflex b1) )
proof end;

theorem Th5: :: T_0TOPSP:5
for b1 being non empty TopSpace holds
( the carrier of (T_0-reflex b1) = Indiscernible b1 & the topology of (T_0-reflex b1) = { b2 where B is Subset of (Indiscernible b1) : union b2 in the topology of b1 } ) by BORSUK_1:def 10;

theorem Th6: :: T_0TOPSP:6
for b1 being non empty TopSpace
for b2 being Subset of (T_0-reflex b1) holds
( b2 is open iff union b2 in the topology of b1 )
proof end;

theorem Th7: :: T_0TOPSP:7
for b1 being non empty TopSpace
for b2 being set holds
( b2 is Point of (T_0-reflex b1) iff ex b3 being Point of b1 st b2 = Class (Indiscernibility b1),b3 )
proof end;

theorem Th8: :: T_0TOPSP:8
for b1 being non empty TopSpace
for b2 being Point of b1 holds (T_0-canonical_map b1) . b2 = Class (Indiscernibility b1),b2
proof end;

theorem Th9: :: T_0TOPSP:9
for b1 being non empty TopSpace
for b2, b3 being Point of b1 holds
( (T_0-canonical_map b1) . b3 = (T_0-canonical_map b1) . b2 iff [b3,b2] in Indiscernibility b1 )
proof end;

theorem Th10: :: T_0TOPSP:10
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is open holds
for b3, b4 being Point of b1 st b3 in b2 & (T_0-canonical_map b1) . b3 = (T_0-canonical_map b1) . b4 holds
b4 in b2
proof end;

theorem Th11: :: T_0TOPSP:11
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is open holds
for b3 being Subset of b1 st b3 in Indiscernible b1 & b3 meets b2 holds
b3 c= b2
proof end;

theorem Th12: :: T_0TOPSP:12
for b1 being non empty TopSpace holds T_0-canonical_map b1 is open
proof end;

Lemma15: for b1 being non empty TopSpace
for b2, b3 being Point of (T_0-reflex b1) st b2 <> b3 holds
ex b4 being Subset of (T_0-reflex b1) st
( b4 is open & ( ( b2 in b4 & not b3 in b4 ) or ( b3 in b4 & not b2 in b4 ) ) )
proof end;

definition
let c1 be TopStruct ;
attr a1 is discerning means :Def7: :: T_0TOPSP:def 7
( a1 is empty or for b1, b2 being Point of a1 st b1 <> b2 holds
ex b3 being Subset of a1 st
( b3 is open & ( ( b1 in b3 & not b2 in b3 ) or ( b2 in b3 & not b1 in b3 ) ) ) );
end;

:: deftheorem Def7 defines discerning T_0TOPSP:def 7 :
for b1 being TopStruct holds
( b1 is discerning iff ( b1 is empty or for b2, b3 being Point of b1 st b2 <> b3 holds
ex b4 being Subset of b1 st
( b4 is open & ( ( b2 in b4 & not b3 in b4 ) or ( b3 in b4 & not b2 in b4 ) ) ) ) );

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

definition
mode T_0-TopSpace is non empty discerning TopSpace;
end;

theorem Th13: :: T_0TOPSP:13
for b1 being non empty TopSpace holds T_0-reflex b1 is T_0-TopSpace
proof end;

theorem Th14: :: T_0TOPSP:14
for b1, b2 being non empty TopSpace st ex b3 being Function of (T_0-reflex b2),(T_0-reflex b1) st
( b3 is_homeomorphism & T_0-canonical_map b1,b3 * (T_0-canonical_map b2) are_fiberwise_equipotent ) holds
b1,b2 are_homeomorphic
proof end;

theorem Th15: :: T_0TOPSP:15
for b1 being non empty TopSpace
for b2 being T_0-TopSpace
for b3 being continuous Function of b1,b2
for b4, b5 being Point of b1 st [b4,b5] in Indiscernibility b1 holds
b3 . b4 = b3 . b5
proof end;

theorem Th16: :: T_0TOPSP:16
for b1 being non empty TopSpace
for b2 being T_0-TopSpace
for b3 being continuous Function of b1,b2
for b4 being Point of b1 holds b3 .: (Class (Indiscernibility b1),b4) = {(b3 . b4)}
proof end;

theorem Th17: :: T_0TOPSP:17
for b1 being non empty TopSpace
for b2 being T_0-TopSpace
for b3 being continuous Function of b1,b2 ex b4 being continuous Function of (T_0-reflex b1),b2 st b3 = b4 * (T_0-canonical_map b1)
proof end;