:: TEX_2 semantic presentation

definition
let c1 be non empty set ;
redefine attr a1 is trivial means :Def1: :: TEX_2:def 1
ex b1 being Element of a1 st a1 = {b1};
compatibility
( c1 is trivial iff ex b1 being Element of c1 st c1 = {b1} )
proof end;
end;

:: deftheorem Def1 defines trivial TEX_2:def 1 :
for b1 being non empty set holds
( b1 is trivial iff ex b2 being Element of b1 st b1 = {b2} );

registration
cluster non empty trivial set ;
existence
ex b1 being set st
( b1 is trivial & not b1 is empty )
proof end;
end;

theorem Th1: :: TEX_2:1
for b1 being non empty set
for b2 being non empty trivial set st b1 c= b2 holds
b1 = b2
proof end;

theorem Th2: :: TEX_2:2
for b1 being non empty trivial set
for b2 being set st not b1 /\ b2 is empty holds
b1 c= b2
proof end;

theorem Th3: :: TEX_2:3
canceled;

theorem Th4: :: TEX_2:4
for b1, b2 being 1-sorted st the carrier of b1 = the carrier of b2 & b1 is trivial holds
b2 is trivial
proof end;

definition
let c1 be set ;
let c2 be Element of c1;
attr a2 is proper means :Def2: :: TEX_2:def 2
a2 <> union a1;
end;

:: deftheorem Def2 defines proper TEX_2:def 2 :
for b1 being set
for b2 being Element of b1 holds
( b2 is proper iff b2 <> union b1 );

registration
let c1 be set ;
cluster non proper Element of K16(a1);
existence
not for b1 being Subset of c1 holds b1 is proper
proof end;
end;

theorem Th5: :: TEX_2:5
for b1 being set
for b2 being Subset of b1 holds
( b2 is proper iff b2 <> b1 )
proof end;

registration
let c1 be non empty set ;
cluster non proper -> non empty Element of K16(a1);
coherence
for b1 being Subset of c1 st not b1 is proper holds
not b1 is empty
by Th5;
cluster empty -> proper Element of K16(a1);
coherence
for b1 being Subset of c1 st b1 is empty holds
b1 is proper
by Th5;
end;

registration
let c1 be non empty trivial set ;
cluster proper -> empty proper Element of K16(a1);
coherence
for b1 being Subset of c1 st b1 is proper holds
b1 is empty
proof end;
cluster non empty -> non empty non proper Element of K16(a1);
coherence
for b1 being Subset of c1 st not b1 is empty holds
not b1 is proper
proof end;
end;

registration
let c1 be non empty set ;
cluster proper Element of K16(a1);
existence
ex b1 being Subset of c1 st b1 is proper
proof end;
cluster non empty non proper Element of K16(a1);
existence
not for b1 being Subset of c1 holds b1 is proper
proof end;
end;

registration
let c1 be non empty set ;
cluster non empty trivial Element of K16(a1);
existence
ex b1 being non empty Subset of c1 st b1 is trivial
proof end;
end;

registration
let c1 be set ;
cluster {a1} -> trivial ;
coherence
{c1} is trivial
;
end;

theorem Th6: :: TEX_2:6
for b1 being non empty set
for b2 being Element of b1 st {b2} is proper holds
not b1 is trivial
proof end;

theorem Th7: :: TEX_2:7
for b1 being non empty non trivial set
for b2 being Element of b1 holds {b2} is proper by Th5;

registration
let c1 be non empty trivial set ;
cluster non empty non proper -> non empty trivial non proper Element of K16(a1);
coherence
for b1 being non empty Subset of c1 st not b1 is proper holds
b1 is trivial
by Th5;
end;

registration
let c1 be non empty non trivial set ;
cluster non empty trivial -> non empty proper Element of K16(a1);
coherence
for b1 being non empty Subset of c1 st b1 is trivial holds
b1 is proper
by Th5;
cluster non empty non proper -> non empty non trivial Element of K16(a1);
coherence
for b1 being non empty Subset of c1 st not b1 is proper holds
not b1 is trivial
by Th5;
end;

registration
let c1 be non empty non trivial set ;
cluster non empty trivial proper Element of K16(a1);
existence
ex b1 being non empty Subset of c1 st
( b1 is trivial & b1 is proper )
proof end;
cluster non empty non trivial non proper Element of K16(a1);
existence
ex b1 being non empty Subset of c1 st
( not b1 is trivial & not b1 is proper )
proof end;
end;

theorem Th8: :: TEX_2:8
for b1 being non empty 1-sorted
for b2 being Element of b1 st {b2} is proper holds
not b1 is trivial
proof end;

theorem Th9: :: TEX_2:9
for b1 being non empty non trivial 1-sorted
for b2 being Element of b1 holds {b2} is proper
proof end;

registration
let c1 be non empty trivial 1-sorted ;
cluster non empty -> non empty non proper Element of K16(the carrier of a1);
coherence
for b1 being non empty Subset of c1 holds not b1 is proper
proof end;
cluster non empty non proper -> non empty trivial Element of K16(the carrier of a1);
coherence
for b1 being non empty Subset of c1 st not b1 is proper holds
b1 is trivial
proof end;
end;

registration
let c1 be non empty non trivial 1-sorted ;
cluster non empty trivial -> non empty proper Element of K16(the carrier of a1);
coherence
for b1 being non empty Subset of c1 st b1 is trivial holds
b1 is proper
proof end;
cluster non empty non proper -> non empty non trivial Element of K16(the carrier of a1);
coherence
for b1 being non empty Subset of c1 st not b1 is proper holds
not b1 is trivial
proof end;
end;

registration
let c1 be non empty non trivial 1-sorted ;
cluster non empty trivial proper Element of K16(the carrier of a1);
existence
ex b1 being non empty Subset of c1 st
( b1 is trivial & b1 is proper )
proof end;
cluster non empty non trivial non proper Element of K16(the carrier of a1);
existence
ex b1 being non empty Subset of c1 st
( not b1 is trivial & not b1 is proper )
proof end;
end;

registration
let c1 be non empty non trivial 1-sorted ;
cluster non empty trivial proper Element of K16(the carrier of a1);
existence
ex b1 being Subset of c1 st
( not b1 is empty & b1 is trivial & b1 is proper )
proof end;
end;

theorem Th10: :: TEX_2:10
canceled;

theorem Th11: :: TEX_2:11
canceled;

theorem Th12: :: TEX_2:12
for b1, b2 being TopStruct st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b1 is TopSpace-like holds
b2 is TopSpace-like
proof end;

definition
let c1 be TopStruct ;
let c2 be SubSpace of c1;
attr a2 is proper means :Def3: :: TEX_2:def 3
for b1 being Subset of a1 st b1 = the carrier of a2 holds
b1 is proper;
end;

:: deftheorem Def3 defines proper TEX_2:def 3 :
for b1 being TopStruct
for b2 being SubSpace of b1 holds
( b2 is proper iff for b3 being Subset of b1 st b3 = the carrier of b2 holds
b3 is proper );

theorem Th13: :: TEX_2:13
for b1 being TopStruct
for b2 being SubSpace of b1
for b3 being Subset of b1 st b3 = the carrier of b2 holds
( b3 is proper iff b2 is proper )
proof end;

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

theorem Th14: :: TEX_2:14
for b1 being TopStruct
for b2, b3 being SubSpace of b1 st TopStruct(# the carrier of b2,the topology of b2 #) = TopStruct(# the carrier of b3,the topology of b3 #) & b2 is proper holds
b3 is proper
proof end;

theorem Th15: :: TEX_2:15
for b1 being TopStruct
for b2 being SubSpace of b1 st the carrier of b2 = the carrier of b1 holds
not b2 is proper
proof end;

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

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

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

theorem Th16: :: TEX_2:16
for b1 being non empty TopStruct
for b2 being non proper SubSpace of b1 holds TopStruct(# the carrier of b2,the topology of b2 #) = TopStruct(# the carrier of b1,the topology of b1 #)
proof end;

registration
let c1 be non empty TopStruct ;
cluster discrete -> TopSpace-like SubSpace of a1;
coherence
for b1 being SubSpace of c1 st b1 is discrete holds
b1 is TopSpace-like
proof end;
cluster anti-discrete -> TopSpace-like SubSpace of a1;
coherence
for b1 being SubSpace of c1 st b1 is anti-discrete holds
b1 is TopSpace-like
proof end;
cluster non TopSpace-like -> non discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is TopSpace-like holds
not b1 is discrete
proof end;
cluster non TopSpace-like -> non anti-discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is TopSpace-like holds
not b1 is anti-discrete
proof end;
end;

theorem Th17: :: TEX_2:17
for b1, b2 being TopStruct st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b1 is discrete holds
b2 is discrete
proof end;

theorem Th18: :: TEX_2:18
for b1, b2 being TopStruct st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b1 is anti-discrete holds
b2 is anti-discrete
proof end;

registration
let c1 be non empty TopStruct ;
cluster discrete -> almost_discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st b1 is discrete holds
b1 is almost_discrete
proof end;
cluster non almost_discrete -> non discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is almost_discrete holds
not b1 is discrete
proof end;
cluster anti-discrete -> almost_discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st b1 is anti-discrete holds
b1 is almost_discrete
proof end;
cluster non almost_discrete -> non anti-discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is almost_discrete holds
not b1 is anti-discrete
proof end;
end;

theorem Th19: :: TEX_2:19
for b1, b2 being TopStruct st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b1 is almost_discrete holds
b2 is almost_discrete
proof end;

registration
let c1 be non empty TopStruct ;
cluster non empty discrete anti-discrete -> non empty trivial SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is discrete & b1 is anti-discrete holds
b1 is trivial
proof end;
cluster non empty anti-discrete non trivial -> non empty non discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is anti-discrete & not b1 is trivial holds
not b1 is discrete
proof end;
cluster non empty discrete non trivial -> non empty non anti-discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is discrete & not b1 is trivial holds
not b1 is anti-discrete
proof end;
end;

definition
let c1 be non empty TopStruct ;
let c2 be Point of c1;
func Sspace c2 -> non empty strict SubSpace of a1 means :Def4: :: TEX_2:def 4
the carrier of a3 = {a2};
existence
ex b1 being non empty strict SubSpace of c1 st the carrier of b1 = {c2}
proof end;
uniqueness
for b1, b2 being non empty strict SubSpace of c1 st the carrier of b1 = {c2} & the carrier of b2 = {c2} holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines Sspace TEX_2:def 4 :
for b1 being non empty TopStruct
for b2 being Point of b1
for b3 being non empty strict SubSpace of b1 holds
( b3 = Sspace b2 iff the carrier of b3 = {b2} );

E15: now
let c1 be non empty TopStruct ;
let c2 be Point of c1;
set c3 = Sspace c2;
the carrier of (Sspace c2) = {c2} by Def4;
then reconsider c4 = c2 as Point of (Sspace c2) by TARSKI:def 1;
the carrier of (Sspace c2) = {c4} by Def4;
hence Sspace c2 is trivial by TEX_1:def 1;
end;

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

registration
let c1 be non empty TopStruct ;
let c2 be Point of c1;
cluster Sspace a2 -> non empty strict trivial ;
coherence
Sspace c2 is trivial
by Lemma15;
end;

theorem Th20: :: TEX_2:20
for b1 being non empty TopStruct
for b2 being Point of b1 holds
( Sspace b2 is proper iff {b2} is proper )
proof end;

theorem Th21: :: TEX_2:21
for b1 being non empty TopStruct
for b2 being Point of b1 st Sspace b2 is proper holds
not b1 is trivial
proof end;

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

theorem Th22: :: TEX_2:22
canceled;

theorem Th23: :: TEX_2:23
for b1 being non empty TopStruct
for b2 being non empty trivial SubSpace of b1 ex b3 being Point of b1 st TopStruct(# the carrier of b2,the topology of b2 #) = TopStruct(# the carrier of (Sspace b3),the topology of (Sspace b3) #)
proof end;

theorem Th24: :: TEX_2:24
for b1 being non empty TopStruct
for b2 being Point of b1 st Sspace b2 is TopSpace-like holds
( Sspace b2 is discrete & Sspace b2 is anti-discrete )
proof end;

registration
let c1 be non empty TopStruct ;
cluster non empty TopSpace-like trivial -> non empty TopSpace-like discrete anti-discrete almost_discrete trivial SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is trivial & b1 is TopSpace-like holds
( b1 is discrete & b1 is anti-discrete )
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster non empty strict TopSpace-like discrete anti-discrete almost_discrete trivial SubSpace of a1;
existence
ex b1 being SubSpace of c1 st
( b1 is trivial & b1 is strict & b1 is TopSpace-like & not b1 is empty )
proof end;
end;

registration
let c1 be non empty TopSpace;
let c2 be Point of c1;
cluster Sspace a2 -> non empty strict TopSpace-like discrete anti-discrete almost_discrete trivial ;
coherence
Sspace c2 is TopSpace-like
;
end;

registration
let c1 be non empty TopSpace;
cluster non empty strict discrete anti-discrete almost_discrete trivial SubSpace of a1;
existence
ex b1 being SubSpace of c1 st
( b1 is discrete & b1 is anti-discrete & b1 is strict & not b1 is empty )
proof end;
end;

registration
let c1 be non empty TopSpace;
let c2 be Point of c1;
cluster Sspace a2 -> non empty strict TopSpace-like discrete anti-discrete almost_discrete trivial ;
coherence
( Sspace c2 is discrete & Sspace c2 is anti-discrete )
;
end;

registration
let c1 be non empty TopSpace;
cluster non proper -> open closed SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is proper holds
( b1 is open & b1 is closed )
proof end;
cluster non open -> proper SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is open holds
b1 is proper
proof end;
cluster non closed -> proper SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is closed holds
b1 is proper
proof end;
end;

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

registration
let c1 be non empty discrete TopSpace;
cluster non empty anti-discrete -> non empty discrete anti-discrete almost_discrete trivial SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is anti-discrete holds
b1 is trivial
proof end;
cluster non empty non trivial -> non empty non anti-discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st not b1 is trivial holds
not b1 is anti-discrete
proof end;
end;

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

registration
let c1 be non empty anti-discrete TopSpace;
cluster non empty discrete -> non empty discrete anti-discrete almost_discrete trivial SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is discrete holds
b1 is trivial
proof end;
cluster non empty non trivial -> non empty non discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st not b1 is trivial holds
not b1 is discrete
proof end;
end;

registration
let c1 be non empty anti-discrete non trivial TopSpace;
cluster non empty proper -> non empty non open non closed proper SubSpace of a1;
coherence
for b1 being non empty proper SubSpace of c1 holds
( not b1 is open & not b1 is closed )
proof end;
cluster non empty discrete -> non empty discrete anti-discrete almost_discrete trivial proper SubSpace of a1;
coherence
for b1 being non empty discrete SubSpace of c1 holds
( b1 is trivial & b1 is proper )
;
end;

registration
let c1 be non empty anti-discrete non trivial TopSpace;
cluster strict non open non closed anti-discrete proper SubSpace of a1;
existence
ex b1 being SubSpace of c1 st
( b1 is anti-discrete & not b1 is open & not b1 is closed & b1 is proper & b1 is strict )
proof end;
end;

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

definition
let c1 be TopStruct ;
let c2 be Subset of c1;
attr a2 is discrete means :Def5: :: TEX_2:def 5
for b1 being Subset of a1 st b1 c= a2 holds
ex b2 being Subset of a1 st
( b2 is open & a2 /\ b2 = b1 );
end;

:: deftheorem Def5 defines discrete TEX_2:def 5 :
for b1 being TopStruct
for b2 being Subset of b1 holds
( b2 is discrete iff for b3 being Subset of b1 st b3 c= b2 holds
ex b4 being Subset of b1 st
( b4 is open & b2 /\ b4 = b3 ) );

definition
let c1 be TopStruct ;
let c2 be Subset of c1;
redefine attr a2 is discrete means :Def6: :: TEX_2:def 6
for b1 being Subset of a1 st b1 c= a2 holds
ex b2 being Subset of a1 st
( b2 is closed & a2 /\ b2 = b1 );
compatibility
( c2 is discrete iff for b1 being Subset of c1 st b1 c= c2 holds
ex b2 being Subset of c1 st
( b2 is closed & c2 /\ b2 = b1 ) )
proof end;
end;

:: deftheorem Def6 defines discrete TEX_2:def 6 :
for b1 being TopStruct
for b2 being Subset of b1 holds
( b2 is discrete iff for b3 being Subset of b1 st b3 c= b2 holds
ex b4 being Subset of b1 st
( b4 is closed & b2 /\ b4 = b3 ) );

theorem Th25: :: TEX_2:25
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 discrete holds
b4 is discrete
proof end;

theorem Th26: :: TEX_2:26
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 discrete iff b2 is discrete )
proof end;

theorem Th27: :: TEX_2:27
for b1 being non empty TopStruct
for b2 being Subset of b1 st b2 = the carrier of b1 holds
( b2 is discrete iff b1 is discrete )
proof end;

theorem Th28: :: TEX_2:28
for b1 being TopStruct
for b2, b3 being Subset of b1 st b3 c= b2 & b2 is discrete holds
b3 is discrete
proof end;

theorem Th29: :: TEX_2:29
for b1 being TopStruct
for b2, b3 being Subset of b1 st ( b2 is discrete or b3 is discrete ) holds
b2 /\ b3 is discrete
proof end;

theorem Th30: :: TEX_2:30
for b1 being TopStruct st ( for b2, b3 being Subset of b1 st b2 is open & b3 is open holds
( b2 /\ b3 is open & b2 \/ b3 is open ) ) holds
for b2, b3 being Subset of b1 st b2 is open & b3 is open & b2 is discrete & b3 is discrete holds
b2 \/ b3 is discrete
proof end;

theorem Th31: :: TEX_2:31
for b1 being TopStruct st ( for b2, b3 being Subset of b1 st b2 is closed & b3 is closed holds
( b2 /\ b3 is closed & b2 \/ b3 is closed ) ) holds
for b2, b3 being Subset of b1 st b2 is closed & b3 is closed & b2 is discrete & b3 is discrete holds
b2 \/ b3 is discrete
proof end;

theorem Th32: :: TEX_2:32
for b1 being TopStruct
for b2 being Subset of b1 st b2 is discrete holds
for b3 being Point of b1 st b3 in b2 holds
ex b4 being Subset of b1 st
( b4 is open & b2 /\ b4 = {b3} )
proof end;

theorem Th33: :: TEX_2:33
for b1 being TopStruct
for b2 being Subset of b1 st b2 is discrete holds
for b3 being Point of b1 st b3 in b2 holds
ex b4 being Subset of b1 st
( b4 is closed & b2 /\ b4 = {b3} )
proof end;

theorem Th34: :: TEX_2:34
for b1 being non empty TopSpace
for b2 being non empty Subset of b1 st b2 is discrete holds
ex b3 being non empty strict discrete SubSpace of b1 st b2 = the carrier of b3
proof end;

theorem Th35: :: TEX_2:35
for b1 being non empty TopSpace
for b2 being empty Subset of b1 holds b2 is discrete
proof end;

theorem Th36: :: TEX_2:36
for b1 being non empty TopSpace
for b2 being Point of b1 holds {b2} is discrete
proof end;

theorem Th37: :: TEX_2:37
for b1 being non empty TopSpace
for b2 being Subset of b1 st ( for b3 being Point of b1 st b3 in b2 holds
ex b4 being Subset of b1 st
( b4 is open & b2 /\ b4 = {b3} ) ) holds
b2 is discrete
proof end;

theorem Th38: :: TEX_2:38
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2 is open & b3 is open & b2 is discrete & b3 is discrete holds
b2 \/ b3 is discrete
proof end;

theorem Th39: :: TEX_2:39
for b1 being non empty TopSpace
for b2, b3 being Subset of b1 st b2 is closed & b3 is closed & b2 is discrete & b3 is discrete holds
b2 \/ b3 is discrete
proof end;

Lemma32: for b1, b2 being set st b1 c= b2 & b1 <> b2 holds
b2 \ b1 <> {}
proof end;

theorem Th40: :: TEX_2:40
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is everywhere_dense & b2 is discrete holds
b2 is open
proof end;

theorem Th41: :: TEX_2:41
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is discrete iff for b3 being Subset of b1 st b3 c= b2 holds
b2 /\ (Cl b3) = b3 )
proof end;

theorem Th42: :: TEX_2:42
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is discrete holds
for b3 being Point of b1 st b3 in b2 holds
b2 /\ (Cl {b3}) = {b3}
proof end;

theorem Th43: :: TEX_2:43
for b1 being non empty discrete TopSpace
for b2 being Subset of b1 holds b2 is discrete
proof end;

theorem Th44: :: TEX_2:44
for b1 being non empty anti-discrete TopSpace
for b2 being non empty Subset of b1 holds
( b2 is discrete iff b2 is trivial )
proof end;

definition
let c1 be TopStruct ;
let c2 be Subset of c1;
attr a2 is maximal_discrete means :Def7: :: TEX_2:def 7
( a2 is discrete & ( for b1 being Subset of a1 st b1 is discrete & a2 c= b1 holds
a2 = b1 ) );
end;

:: deftheorem Def7 defines maximal_discrete TEX_2:def 7 :
for b1 being TopStruct
for b2 being Subset of b1 holds
( b2 is maximal_discrete iff ( b2 is discrete & ( for b3 being Subset of b1 st b3 is discrete & b2 c= b3 holds
b2 = b3 ) ) );

theorem Th45: :: TEX_2:45
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 maximal_discrete holds
b4 is maximal_discrete
proof end;

theorem Th46: :: TEX_2:46
for b1 being non empty TopSpace
for b2 being empty Subset of b1 holds not b2 is maximal_discrete
proof end;

theorem Th47: :: TEX_2:47
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is open & b2 is maximal_discrete holds
b2 is dense
proof end;

theorem Th48: :: TEX_2:48
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 is dense & b2 is discrete holds
b2 is maximal_discrete
proof end;

theorem Th49: :: TEX_2:49
for b1 being non empty discrete TopSpace
for b2 being Subset of b1 holds
( b2 is maximal_discrete iff not b2 is proper )
proof end;

theorem Th50: :: TEX_2:50
for b1 being non empty anti-discrete TopSpace
for b2 being non empty Subset of b1 holds
( b2 is maximal_discrete iff b2 is trivial )
proof end;

definition
let c1 be non empty TopStruct ;
let c2 be SubSpace of c1;
attr a2 is maximal_discrete means :Def8: :: TEX_2:def 8
for b1 being Subset of a1 st b1 = the carrier of a2 holds
b1 is maximal_discrete;
end;

:: deftheorem Def8 defines maximal_discrete TEX_2:def 8 :
for b1 being non empty TopStruct
for b2 being SubSpace of b1 holds
( b2 is maximal_discrete iff for b3 being Subset of b1 st b3 = the carrier of b2 holds
b3 is maximal_discrete );

theorem Th51: :: TEX_2:51
for b1 being non empty TopStruct
for b2 being SubSpace of b1
for b3 being Subset of b1 st b3 = the carrier of b2 holds
( b3 is maximal_discrete iff b2 is maximal_discrete )
proof end;

registration
let c1 be non empty TopStruct ;
cluster non empty maximal_discrete -> non empty TopSpace-like discrete almost_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is maximal_discrete holds
b1 is discrete
proof end;
cluster non empty non discrete -> non empty non maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st not b1 is discrete holds
not b1 is maximal_discrete
proof end;
end;

theorem Th52: :: TEX_2:52
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1 holds
( b2 is maximal_discrete iff ( b2 is discrete & ( for b3 being non empty discrete SubSpace of b1 st b2 is SubSpace of b3 holds
TopStruct(# the carrier of b2,the topology of b2 #) = TopStruct(# the carrier of b3,the topology of b3 #) ) ) )
proof end;

theorem Th53: :: TEX_2:53
for b1 being non empty TopSpace
for b2 being non empty Subset of b1 st b2 is maximal_discrete holds
ex b3 being non empty strict SubSpace of b1 st
( b3 is maximal_discrete & b2 = the carrier of b3 )
proof end;

registration
let c1 be non empty discrete TopSpace;
cluster maximal_discrete -> open closed non proper SubSpace of a1;
coherence
for b1 being SubSpace of c1 st b1 is maximal_discrete holds
not b1 is proper
proof end;
cluster proper -> non maximal_discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st b1 is proper holds
not b1 is maximal_discrete
proof end;
cluster non proper -> maximal_discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is proper holds
b1 is maximal_discrete
proof end;
cluster non maximal_discrete -> proper SubSpace of a1;
coherence
for b1 being SubSpace of c1 st not b1 is maximal_discrete holds
b1 is proper
proof end;
end;

registration
let c1 be non empty anti-discrete TopSpace;
cluster non empty maximal_discrete -> non empty discrete anti-discrete almost_discrete trivial SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is maximal_discrete holds
b1 is trivial
proof end;
cluster non empty non trivial -> non empty non maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st not b1 is trivial holds
not b1 is maximal_discrete
proof end;
cluster non empty trivial -> non empty TopSpace-like discrete anti-discrete almost_discrete trivial maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is trivial holds
b1 is maximal_discrete
proof end;
cluster non empty non maximal_discrete -> non empty non discrete non trivial non maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st not b1 is maximal_discrete holds
not b1 is trivial
proof end;
end;

scheme :: TEX_2:sch 1
s1{ F1() -> non empty TopStruct , F2() -> Subset-Family of F1(), P1[ set , set ] } :
ex b1 being Function of F2(),the carrier of F1() st
for b2 being Subset of F1() st b2 in F2() holds
P1[b2,b1 . b2]
provided
E44: for b1 being Subset of F1() st b1 in F2() holds
ex b2 being Point of F1() st P1[b1,b2]
proof end;

theorem Th54: :: TEX_2:54
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 holds Cl b2 = union { (Cl {b3}) where B is Point of b1 : b3 in b2 }
proof end;

theorem Th55: :: TEX_2:55
for b1 being non empty almost_discrete TopSpace
for b2, b3 being Point of b1 st b2 in Cl {b3} holds
Cl {b2} = Cl {b3}
proof end;

theorem Th56: :: TEX_2:56
for b1 being non empty almost_discrete TopSpace
for b2, b3 being Point of b1 holds
( Cl {b2} misses Cl {b3} or Cl {b2} = Cl {b3} )
proof end;

theorem Th57: :: TEX_2:57
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 st ( for b3 being Point of b1 st b3 in b2 holds
ex b4 being Subset of b1 st
( b4 is closed & b2 /\ b4 = {b3} ) ) holds
b2 is discrete
proof end;

theorem Th58: :: TEX_2:58
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 st ( for b3 being Point of b1 st b3 in b2 holds
b2 /\ (Cl {b3}) = {b3} ) holds
b2 is discrete
proof end;

theorem Th59: :: TEX_2:59
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 holds
( b2 is discrete iff for b3, b4 being Point of b1 st b3 in b2 & b4 in b2 & b3 <> b4 holds
Cl {b3} misses Cl {b4} )
proof end;

theorem Th60: :: TEX_2:60
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 holds
( b2 is discrete iff for b3 being Point of b1 st b3 in Cl b2 holds
ex b4 being Point of b1 st
( b4 in b2 & b2 /\ (Cl {b3}) = {b4} ) )
proof end;

theorem Th61: :: TEX_2:61
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 st ( b2 is open or b2 is closed ) & b2 is maximal_discrete holds
not b2 is proper
proof end;

theorem Th62: :: TEX_2:62
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 st b2 is maximal_discrete holds
b2 is dense
proof end;

theorem Th63: :: TEX_2:63
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 st b2 is maximal_discrete holds
union { (Cl {b3}) where B is Point of b1 : b3 in b2 } = the carrier of b1
proof end;

theorem Th64: :: TEX_2:64
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 holds
( b2 is maximal_discrete iff for b3 being Point of b1 ex b4 being Point of b1 st
( b4 in b2 & b2 /\ (Cl {b3}) = {b4} ) )
proof end;

theorem Th65: :: TEX_2:65
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 st b2 is discrete holds
ex b3 being Subset of b1 st
( b2 c= b3 & b3 is maximal_discrete )
proof end;

theorem Th66: :: TEX_2:66
for b1 being non empty almost_discrete TopSpace ex b2 being Subset of b1 st b2 is maximal_discrete
proof end;

theorem Th67: :: TEX_2:67
for b1 being non empty almost_discrete TopSpace
for b2 being non empty discrete SubSpace of b1 ex b3 being non empty strict SubSpace of b1 st
( b2 is SubSpace of b3 & b3 is maximal_discrete )
proof end;

registration
let c1 be non empty non discrete almost_discrete TopSpace;
cluster non empty maximal_discrete -> non empty proper SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is maximal_discrete holds
b1 is proper
proof end;
cluster non empty non proper -> non empty non maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st not b1 is proper holds
not b1 is maximal_discrete
proof end;
end;

registration
let c1 be non empty non anti-discrete almost_discrete TopSpace;
cluster non empty maximal_discrete -> non empty non trivial SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is maximal_discrete holds
not b1 is trivial
proof end;
cluster non empty trivial -> non empty non maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 st b1 is trivial holds
not b1 is maximal_discrete
proof end;
end;

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

theorem Th68: :: TEX_2:68
for b1 being discrete TopSpace
for b2 being TopSpace
for b3 being Function of b1,b2 holds b3 is continuous
proof end;

theorem Th69: :: TEX_2:69
for b1 being non empty TopSpace st ( for b2 being non empty TopSpace
for b3 being Function of b1,b2 holds b3 is continuous ) holds
b1 is discrete
proof end;

theorem Th70: :: TEX_2:70
for b1 being non empty TopSpace
for b2 being non empty anti-discrete TopSpace
for b3 being Function of b1,b2 holds b3 is continuous
proof end;

theorem Th71: :: TEX_2:71
for b1 being non empty TopSpace st ( for b2 being non empty TopSpace
for b3 being Function of b2,b1 holds b3 is continuous ) holds
b1 is anti-discrete
proof end;

theorem Th72: :: TEX_2:72
for b1 being non empty discrete TopSpace
for b2 being non empty SubSpace of b1 ex b3 being continuous Function of b1,b2 st b3 is_a_retraction
proof end;

theorem Th73: :: TEX_2:73
for b1 being non empty discrete TopSpace
for b2 being non empty SubSpace of b1 holds b2 is_a_retract_of b1
proof end;

theorem Th74: :: TEX_2:74
for b1 being non empty almost_discrete TopSpace
for b2 being non empty maximal_discrete SubSpace of b1 ex b3 being continuous Function of b1,b2 st b3 is_a_retraction
proof end;

theorem Th75: :: TEX_2:75
for b1 being non empty almost_discrete TopSpace
for b2 being non empty maximal_discrete SubSpace of b1 holds b2 is_a_retract_of b1
proof end;

Lemma59: for b1 being non empty almost_discrete TopSpace
for b2 being non empty maximal_discrete SubSpace of b1
for b3 being continuous Function of b1,b2 st b3 is_a_retraction holds
for b4 being Point of b2
for b5 being Point of b1 st b4 = b5 holds
Cl {b5} c= b3 " {b4}
proof end;

theorem Th76: :: TEX_2:76
for b1 being non empty almost_discrete TopSpace
for b2 being non empty maximal_discrete SubSpace of b1
for b3 being continuous Function of b1,b2 st b3 is_a_retraction holds
for b4 being Subset of b2
for b5 being Subset of b1 st b4 = b5 holds
b3 " b4 = Cl b5
proof end;

theorem Th77: :: TEX_2:77
for b1 being non empty almost_discrete TopSpace
for b2 being non empty maximal_discrete SubSpace of b1
for b3 being continuous Function of b1,b2 st b3 is_a_retraction holds
for b4 being Point of b2
for b5 being Point of b1 st b4 = b5 holds
b3 " {b4} = Cl {b5} by Th76;

theorem Th78: :: TEX_2:78
for b1 being non empty almost_discrete TopSpace
for b2 being non empty discrete SubSpace of b1 ex b3 being continuous Function of b1,b2 st b3 is_a_retraction
proof end;

theorem Th79: :: TEX_2:79
for b1 being non empty almost_discrete TopSpace
for b2 being non empty discrete SubSpace of b1 holds b2 is_a_retract_of b1
proof end;