:: TSP_1 semantic presentation

definition
let c1 be TopStruct ;
redefine mode SubSpace as SubSpace of c1 -> TopStruct means :Def1: :: TSP_1:def 1
( the carrier of a2 c= the carrier of a1 & ( for b1 being Subset of a2 holds
( b1 is open iff ex b2 being Subset of a1 st
( b2 is open & b1 = b2 /\ the carrier of a2 ) ) ) );
compatibility
for b1 being TopStruct holds
( b1 is SubSpace of c1 iff ( the carrier of b1 c= the carrier of c1 & ( for b2 being Subset of b1 holds
( b2 is open iff ex b3 being Subset of c1 st
( b3 is open & b2 = b3 /\ the carrier of b1 ) ) ) ) )
proof end;
coherence
for b1 being SubSpace of c1 holds b1 is TopStruct
;
end;

:: deftheorem Def1 defines SubSpace TSP_1:def 1 :
for b1, b2 being TopStruct holds
( b2 is SubSpace of b1 iff ( the carrier of b2 c= the carrier of b1 & ( for b3 being Subset of b2 holds
( b3 is open iff ex b4 being Subset of b1 st
( b4 is open & b3 = b4 /\ the carrier of b2 ) ) ) ) );

theorem Th1: :: TSP_1:1
canceled;

theorem Th2: :: TSP_1:2
for b1 being TopStruct
for b2 being SubSpace of b1
for b3 being Subset of b1 st b3 is open holds
ex b4 being Subset of b2 st
( b4 is open & b4 = b3 /\ the carrier of b2 )
proof end;

definition
let c1 be TopStruct ;
redefine mode SubSpace as SubSpace of c1 -> TopStruct means :Def2: :: TSP_1:def 2
( the carrier of a2 c= the carrier of a1 & ( for b1 being Subset of a2 holds
( b1 is closed iff ex b2 being Subset of a1 st
( b2 is closed & b1 = b2 /\ the carrier of a2 ) ) ) );
compatibility
for b1 being TopStruct holds
( b1 is SubSpace of c1 iff ( the carrier of b1 c= the carrier of c1 & ( for b2 being Subset of b1 holds
( b2 is closed iff ex b3 being Subset of c1 st
( b3 is closed & b2 = b3 /\ the carrier of b1 ) ) ) ) )
proof end;
coherence
for b1 being SubSpace of c1 holds b1 is TopStruct
;
end;

:: deftheorem Def2 defines SubSpace TSP_1:def 2 :
for b1, b2 being TopStruct holds
( b2 is SubSpace of b1 iff ( the carrier of b2 c= the carrier of b1 & ( for b3 being Subset of b2 holds
( b3 is closed iff ex b4 being Subset of b1 st
( b4 is closed & b3 = b4 /\ the carrier of b2 ) ) ) ) );

theorem Th3: :: TSP_1:3
canceled;

theorem Th4: :: TSP_1:4
for b1 being TopStruct
for b2 being SubSpace of b1
for b3 being Subset of b1 st b3 is closed holds
ex b4 being Subset of b2 st
( b4 is closed & b4 = b3 /\ the carrier of b2 )
proof end;

notation
let c1 be TopStruct ;
synonym T_0 c1 for discerning c1;
end;

definition
let c1 be TopStruct ;
redefine attr a1 is discerning means :Def3: :: TSP_1:def 3
( a1 is empty or for b1, b2 being Point of a1 holds
( not b1 <> b2 or ex b3 being Subset of a1 st
( b3 is open & b1 in b3 & not b2 in b3 ) or ex b3 being Subset of a1 st
( b3 is open & not b1 in b3 & b2 in b3 ) ) );
compatibility
( c1 is T_0 iff ( c1 is empty or for b1, b2 being Point of c1 holds
( not b1 <> b2 or ex b3 being Subset of c1 st
( b3 is open & b1 in b3 & not b2 in b3 ) or ex b3 being Subset of c1 st
( b3 is open & not b1 in b3 & b2 in b3 ) ) ) )
proof end;
end;

:: deftheorem Def3 defines T_0 TSP_1:def 3 :
for b1 being TopStruct holds
( b1 is T_0 iff ( b1 is empty or for b2, b3 being Point of b1 holds
( not b2 <> b3 or ex b4 being Subset of b1 st
( b4 is open & b2 in b4 & not b3 in b4 ) or ex b4 being Subset of b1 st
( b4 is open & not b2 in b4 & b3 in b4 ) ) ) );

definition
let c1 be TopStruct ;
redefine attr a1 is discerning means :Def4: :: TSP_1:def 4
( a1 is empty or for b1, b2 being Point of a1 holds
( not b1 <> b2 or ex b3 being Subset of a1 st
( b3 is closed & b1 in b3 & not b2 in b3 ) or ex b3 being Subset of a1 st
( b3 is closed & not b1 in b3 & b2 in b3 ) ) );
compatibility
( c1 is T_0 iff ( c1 is empty or for b1, b2 being Point of c1 holds
( not b1 <> b2 or ex b3 being Subset of c1 st
( b3 is closed & b1 in b3 & not b2 in b3 ) or ex b3 being Subset of c1 st
( b3 is closed & not b1 in b3 & b2 in b3 ) ) ) )
proof end;
end;

:: deftheorem Def4 defines T_0 TSP_1:def 4 :
for b1 being TopStruct holds
( b1 is T_0 iff ( b1 is empty or for b2, b3 being Point of b1 holds
( not b2 <> b3 or ex b4 being Subset of b1 st
( b4 is closed & b2 in b4 & not b3 in b4 ) or ex b4 being Subset of b1 st
( b4 is closed & not b2 in b4 & b3 in b4 ) ) ) );

registration
cluster non empty trivial -> non empty T_0 TopStruct ;
coherence
for b1 being non empty TopStruct st b1 is trivial holds
b1 is T_0
proof end;
cluster non empty non T_0 -> non empty non trivial TopStruct ;
coherence
for b1 being non empty TopStruct st not b1 is T_0 holds
not b1 is trivial
proof end;
end;

Lemma7: for b1 being non empty non trivial anti-discrete TopStruct holds not b1 is T_0
proof end;

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

registration
cluster non empty discrete -> non empty T_0 TopStruct ;
coherence
for b1 being non empty TopSpace st b1 is discrete holds
b1 is T_0
proof end;
cluster non empty non T_0 -> non empty non discrete TopStruct ;
coherence
for b1 being non empty TopSpace st not b1 is T_0 holds
not b1 is discrete
proof end;
cluster non empty non trivial anti-discrete -> non empty non trivial non T_0 TopStruct ;
coherence
for b1 being non empty TopSpace st b1 is anti-discrete & not b1 is trivial holds
not b1 is T_0
by Lemma7;
cluster non empty anti-discrete T_0 -> non empty trivial T_0 TopStruct ;
coherence
for b1 being non empty TopSpace st b1 is anti-discrete & b1 is T_0 holds
b1 is trivial
by Lemma7;
cluster non empty non trivial T_0 -> non empty non anti-discrete TopStruct ;
coherence
for b1 being non empty TopSpace st b1 is T_0 & not b1 is trivial holds
not b1 is anti-discrete
by Lemma7;
end;

Lemma8: for b1 being non empty TopSpace
for b2 being Point of b1 holds b2 in Cl {b2}
proof end;

Lemma9: for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b3 c= Cl b2 holds
Cl b3 c= Cl b2
by TOPS_1:31;

definition
let c1 be non empty TopSpace;
redefine attr a1 is discerning means :Def5: :: TSP_1:def 5
for b1, b2 being Point of a1 st b1 <> b2 holds
Cl {b1} <> Cl {b2};
compatibility
( c1 is T_0 iff for b1, b2 being Point of c1 st b1 <> b2 holds
Cl {b1} <> Cl {b2} )
proof end;
end;

:: deftheorem Def5 defines T_0 TSP_1:def 5 :
for b1 being non empty TopSpace holds
( b1 is T_0 iff for b2, b3 being Point of b1 st b2 <> b3 holds
Cl {b2} <> Cl {b3} );

definition
let c1 be non empty TopSpace;
redefine attr a1 is discerning means :Def6: :: TSP_1:def 6
for b1, b2 being Point of a1 holds
( not b1 <> b2 or not b1 in Cl {b2} or not b2 in Cl {b1} );
compatibility
( c1 is T_0 iff for b1, b2 being Point of c1 holds
( not b1 <> b2 or not b1 in Cl {b2} or not b2 in Cl {b1} ) )
proof end;
end;

:: deftheorem Def6 defines T_0 TSP_1:def 6 :
for b1 being non empty TopSpace holds
( b1 is T_0 iff for b2, b3 being Point of b1 holds
( not b2 <> b3 or not b2 in Cl {b3} or not b3 in Cl {b2} ) );

definition
let c1 be non empty TopSpace;
redefine attr a1 is discerning means :: TSP_1:def 7
for b1, b2 being Point of a1 st b1 <> b2 & b1 in Cl {b2} holds
not Cl {b2} c= Cl {b1};
compatibility
( c1 is T_0 iff for b1, b2 being Point of c1 st b1 <> b2 & b1 in Cl {b2} holds
not Cl {b2} c= Cl {b1} )
proof end;
end;

:: deftheorem Def7 defines T_0 TSP_1:def 7 :
for b1 being non empty TopSpace holds
( b1 is T_0 iff for b2, b3 being Point of b1 st b2 <> b3 & b2 in Cl {b3} holds
not Cl {b3} c= Cl {b2} );

registration
cluster non empty almost_discrete T_0 -> non empty discrete T_0 TopStruct ;
coherence
for b1 being non empty TopSpace st b1 is almost_discrete & b1 is T_0 holds
b1 is discrete
proof end;
cluster non empty non discrete almost_discrete -> non empty non discrete non T_0 TopStruct ;
coherence
for b1 being non empty TopSpace st b1 is almost_discrete & not b1 is discrete holds
not b1 is T_0
proof end;
cluster non empty non discrete T_0 -> non empty non almost_discrete TopStruct ;
coherence
for b1 being non empty TopSpace st not b1 is discrete & b1 is T_0 holds
not b1 is almost_discrete
proof end;
end;

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

registration
cluster non trivial strict non anti-discrete TopStruct ;
existence
ex b1 being Kolmogorov_space st
( not b1 is trivial & b1 is strict )
proof end;
cluster non trivial strict TopStruct ;
existence
ex b1 being non-Kolmogorov_space st
( not b1 is trivial & b1 is strict )
proof end;
end;

definition
let c1 be TopStruct ;
let c2 be Subset of c1;
attr a2 is T_0 means :Def8: :: TSP_1:def 8
for b1, b2 being Point of a1 st b1 in a2 & b2 in a2 & b1 <> b2 & ( for b3 being Subset of a1 holds
( not b3 is open or not b1 in b3 or b2 in b3 ) ) holds
ex b3 being Subset of a1 st
( b3 is open & not b1 in b3 & b2 in b3 );
end;

:: deftheorem Def8 defines T_0 TSP_1:def 8 :
for b1 being TopStruct
for b2 being Subset of b1 holds
( b2 is T_0 iff for b3, b4 being Point of b1 st b3 in b2 & b4 in b2 & b3 <> b4 & ( for b5 being Subset of b1 holds
( not b5 is open or not b3 in b5 or b4 in b5 ) ) holds
ex b5 being Subset of b1 st
( b5 is open & not b3 in b5 & b4 in b5 ) );

definition
let c1 be non empty TopStruct ;
let c2 be Subset of c1;
redefine attr a2 is T_0 means :Def9: :: TSP_1:def 9
for b1, b2 being Point of a1 st b1 in a2 & b2 in a2 & b1 <> b2 & ( for b3 being Subset of a1 holds
( not b3 is closed or not b1 in b3 or b2 in b3 ) ) holds
ex b3 being Subset of a1 st
( b3 is closed & not b1 in b3 & b2 in b3 );
compatibility
( c2 is T_0 iff for b1, b2 being Point of c1 st b1 in c2 & b2 in c2 & b1 <> b2 & ( for b3 being Subset of c1 holds
( not b3 is closed or not b1 in b3 or b2 in b3 ) ) holds
ex b3 being Subset of c1 st
( b3 is closed & not b1 in b3 & b2 in b3 ) )
proof end;
end;

:: deftheorem Def9 defines T_0 TSP_1:def 9 :
for b1 being non empty TopStruct
for b2 being Subset of b1 holds
( b2 is T_0 iff for b3, b4 being Point of b1 st b3 in b2 & b4 in b2 & b3 <> b4 & ( for b5 being Subset of b1 holds
( not b5 is closed or not b3 in b5 or b4 in b5 ) ) holds
ex b5 being Subset of b1 st
( b5 is closed & not b3 in b5 & b4 in b5 ) );

theorem Th5: :: TSP_1:5
for b1, b2 being TopStruct
for b3 being Subset of b1
for b4 being Subset of b2 st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b3 = b4 & b3 is T_0 holds
b4 is T_0
proof end;

theorem Th6: :: TSP_1:6
for b1 being non empty TopStruct
for b2 being Subset of b1 st b2 = the carrier of b1 holds
( b2 is T_0 iff b1 is T_0 )
proof end;

theorem Th7: :: TSP_1:7
for b1 being non empty TopStruct
for b2, b3 being Subset of b1 st b3 c= b2 & b2 is T_0 holds
b3 is T_0
proof end;

theorem Th8: :: TSP_1:8
for b1 being non empty TopStruct
for b2, b3 being Subset of b1 st ( b2 is T_0 or b3 is T_0 ) holds
b2 /\ b3 is T_0
proof end;

theorem Th9: :: TSP_1:9
for b1 being non empty TopStruct
for b2, b3 being Subset of b1 st ( b2 is open or b3 is open ) & b2 is T_0 & b3 is T_0 holds
b2 \/ b3 is T_0
proof end;

theorem Th10: :: TSP_1:10
for b1 being non empty TopStruct
for b2, b3 being Subset of b1 st ( b2 is closed or b3 is closed ) & b2 is T_0 & b3 is T_0 holds
b2 \/ b3 is T_0
proof end;

theorem Th11: :: TSP_1:11
for b1 being non empty TopStruct
for b2 being Subset of b1 st b2 is discrete holds
b2 is T_0
proof end;

theorem Th12: :: TSP_1:12
for b1 being non empty TopStruct
for b2 being non empty Subset of b1 st b2 is anti-discrete & not b2 is trivial holds
not b2 is T_0
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
redefine attr a2 is T_0 means :Def10: :: TSP_1:def 10
for b1, b2 being Point of a1 st b1 in a2 & b2 in a2 & b1 <> b2 holds
Cl {b1} <> Cl {b2};
compatibility
( c2 is T_0 iff for b1, b2 being Point of c1 st b1 in c2 & b2 in c2 & b1 <> b2 holds
Cl {b1} <> Cl {b2} )
proof end;
end;

:: deftheorem Def10 defines T_0 TSP_1:def 10 :
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is T_0 iff for b3, b4 being Point of b1 st b3 in b2 & b4 in b2 & b3 <> b4 holds
Cl {b3} <> Cl {b4} );

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
redefine attr a2 is T_0 means :Def11: :: TSP_1:def 11
for b1, b2 being Point of a1 st b1 in a2 & b2 in a2 & b1 <> b2 & b1 in Cl {b2} holds
not b2 in Cl {b1};
compatibility
( c2 is T_0 iff for b1, b2 being Point of c1 st b1 in c2 & b2 in c2 & b1 <> b2 & b1 in Cl {b2} holds
not b2 in Cl {b1} )
proof end;
end;

:: deftheorem Def11 defines T_0 TSP_1:def 11 :
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is T_0 iff for b3, b4 being Point of b1 st b3 in b2 & b4 in b2 & b3 <> b4 & b3 in Cl {b4} holds
not b4 in Cl {b3} );

definition
let c1 be non empty TopSpace;
let c2 be Subset of c1;
redefine attr a2 is T_0 means :: TSP_1:def 12
for b1, b2 being Point of a1 st b1 in a2 & b2 in a2 & b1 <> b2 & b1 in Cl {b2} holds
not Cl {b2} c= Cl {b1};
compatibility
( c2 is T_0 iff for b1, b2 being Point of c1 st b1 in c2 & b2 in c2 & b1 <> b2 & b1 in Cl {b2} holds
not Cl {b2} c= Cl {b1} )
proof end;
end;

:: deftheorem Def12 defines T_0 TSP_1:def 12 :
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is T_0 iff for b3, b4 being Point of b1 st b3 in b2 & b4 in b2 & b3 <> b4 & b3 in Cl {b4} holds
not Cl {b4} c= Cl {b3} );

theorem Th13: :: TSP_1:13
for b1 being non empty TopSpace
for b2 being empty Subset of b1 holds b2 is T_0
proof end;

theorem Th14: :: TSP_1:14
for b1 being non empty TopSpace
for b2 being Point of b1 holds {b2} is T_0
proof end;

registration
let c1 be non empty TopStruct ;
cluster non empty strict T_0 SubSpace of a1;
existence
ex b1 being SubSpace of c1 st
( b1 is strict & b1 is T_0 & not b1 is empty )
proof end;
end;

E23: now
let c1 be TopStruct ;
let c2 be SubSpace of c1;
( [#] c2 c= [#] c1 & [#] c2 = the carrier of c2 ) by PRE_TOPC:12, PRE_TOPC:def 9;
hence the carrier of c2 is Subset of c1 by PRE_TOPC:12;
end;

definition
let c1 be TopStruct ;
let c2 be SubSpace of c1;
redefine attr T_0 as a2 is T_0 means :: TSP_1:def 13
( a2 is empty or for b1, b2 being Point of a1 st b1 is Point of a2 & b2 is Point of a2 & b1 <> b2 & ( for b3 being Subset of a1 holds
( not b3 is open or not b1 in b3 or b2 in b3 ) ) holds
ex b3 being Subset of a1 st
( b3 is open & not b1 in b3 & b2 in b3 ) );
compatibility
( c2 is T_0 iff ( c2 is empty or for b1, b2 being Point of c1 st b1 is Point of c2 & b2 is Point of c2 & b1 <> b2 & ( for b3 being Subset of c1 holds
( not b3 is open or not b1 in b3 or b2 in b3 ) ) holds
ex b3 being Subset of c1 st
( b3 is open & not b1 in b3 & b2 in b3 ) ) )
proof end;
end;

:: deftheorem Def13 defines T_0 TSP_1:def 13 :
for b1 being TopStruct
for b2 being SubSpace of b1 holds
( b2 is T_0 iff ( b2 is empty or for b3, b4 being Point of b1 st b3 is Point of b2 & b4 is Point of b2 & b3 <> b4 & ( for b5 being Subset of b1 holds
( not b5 is open or not b3 in b5 or b4 in b5 ) ) holds
ex b5 being Subset of b1 st
( b5 is open & not b3 in b5 & b4 in b5 ) ) );

definition
let c1 be TopStruct ;
let c2 be SubSpace of c1;
redefine attr T_0 as a2 is T_0 means :Def14: :: TSP_1:def 14
( a2 is empty or for b1, b2 being Point of a1 st b1 is Point of a2 & b2 is Point of a2 & b1 <> b2 & ( for b3 being Subset of a1 holds
( not b3 is closed or not b1 in b3 or b2 in b3 ) ) holds
ex b3 being Subset of a1 st
( b3 is closed & not b1 in b3 & b2 in b3 ) );
compatibility
( c2 is T_0 iff ( c2 is empty or for b1, b2 being Point of c1 st b1 is Point of c2 & b2 is Point of c2 & b1 <> b2 & ( for b3 being Subset of c1 holds
( not b3 is closed or not b1 in b3 or b2 in b3 ) ) holds
ex b3 being Subset of c1 st
( b3 is closed & not b1 in b3 & b2 in b3 ) ) )
proof end;
end;

:: deftheorem Def14 defines T_0 TSP_1:def 14 :
for b1 being TopStruct
for b2 being SubSpace of b1 holds
( b2 is T_0 iff ( b2 is empty or for b3, b4 being Point of b1 st b3 is Point of b2 & b4 is Point of b2 & b3 <> b4 & ( for b5 being Subset of b1 holds
( not b5 is closed or not b3 in b5 or b4 in b5 ) ) holds
ex b5 being Subset of b1 st
( b5 is closed & not b3 in b5 & b4 in b5 ) ) );

theorem Th15: :: TSP_1:15
for b1 being non empty TopStruct
for b2 being non empty SubSpace of b1
for b3 being Subset of b1 st b3 = the carrier of b2 holds
( b3 is T_0 iff b2 is T_0 )
proof end;

theorem Th16: :: TSP_1:16
for b1 being non empty TopStruct
for b2 being non empty SubSpace of b1
for b3 being non empty V91 SubSpace of b1 st b2 is SubSpace of b3 holds
b2 is T_0
proof end;

theorem Th17: :: TSP_1:17
for b1 being non empty TopSpace
for b2 being non empty V91 SubSpace of b1
for b3 being non empty SubSpace of b1 st b2 meets b3 holds
b2 meet b3 is T_0
proof end;

theorem Th18: :: TSP_1:18
for b1 being non empty TopSpace
for b2, b3 being non empty V91 SubSpace of b1 st ( b2 is open or b3 is open ) holds
b2 union b3 is T_0
proof end;

theorem Th19: :: TSP_1:19
for b1 being non empty TopSpace
for b2, b3 being non empty V91 SubSpace of b1 st ( b2 is closed or b3 is closed ) holds
b2 union b3 is T_0
proof end;

definition
let c1 be non empty TopSpace;
mode Kolmogorov_subspace of a1 is non empty V91 SubSpace of a1;
end;

theorem Th20: :: TSP_1:20
for b1 being non empty TopSpace
for b2 being non empty Subset of b1 st b2 is T_0 holds
ex b3 being strict Kolmogorov_subspace of b1 st b2 = the carrier of b3
proof end;

registration
let c1 be non empty non trivial TopSpace;
cluster strict proper SubSpace of a1;
existence
ex b1 being Kolmogorov_subspace of c1 st
( b1 is proper & b1 is strict )
proof end;
end;

registration
let c1 be Kolmogorov_space;
cluster non empty -> non empty V91 SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds b1 is T_0
proof end;
end;

registration
let c1 be non-Kolmogorov_space;
cluster non empty non proper -> non empty non trivial V91 SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st not b1 is proper holds
not b1 is T_0
proof end;
cluster non empty V91 -> non empty proper SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is T_0 holds
b1 is proper
proof end;
end;

registration
let c1 be non-Kolmogorov_space;
cluster strict V91 SubSpace of a1;
existence
ex b1 being SubSpace of c1 st
( b1 is strict & not b1 is T_0 )
proof end;
end;

definition
let c1 be non-Kolmogorov_space;
mode non-Kolmogorov_subspace of a1 is V91 SubSpace of a1;
end;

theorem Th21: :: TSP_1:21
for b1 being non empty non-Kolmogorov_space
for b2 being Subset of b1 st not b2 is T_0 holds
ex b3 being strict non-Kolmogorov_subspace of b1 st b2 = the carrier of b3
proof end;