:: 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 holds
( b1 c= b2 implies b1 = b2 )
proof end;

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

theorem Th3: :: TEX_2:3
canceled;

theorem Th4: :: TEX_2:4
for b1, b2 being 1-sorted holds
( the carrier of b1 = the carrier of b2 & b1 is trivial implies 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 K10(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 K10(a1);
coherence
for b1 being Subset of c1 holds
not ( not b1 is proper & b1 is empty )
by Th5;
cluster empty -> proper Element of K10(a1);
coherence
for b1 being Subset of c1 holds
( b1 is empty implies b1 is proper )
by Th5;
end;

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

registration
let c1 be non empty set ;
cluster proper Element of K10(a1);
existence
ex b1 being Subset of c1 st b1 is proper
proof end;
cluster non empty non proper Element of K10(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 K10(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 holds
not ( {b2} is proper & 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 K10(a1);
coherence
for b1 being non empty Subset of c1 holds
( not b1 is proper implies b1 is trivial )
by Th5;
end;

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

registration
let c1 be non empty non trivial set ;
cluster non empty trivial proper Element of K10(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 K10(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 holds
not ( {b2} is proper & 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 K10(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 K10(the carrier of a1);
coherence
for b1 being non empty Subset of c1 holds
( not b1 is proper implies 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 K10(the carrier of a1);
coherence
for b1 being non empty Subset of c1 holds
( b1 is trivial implies b1 is proper )
proof end;
cluster non empty non proper -> non empty non trivial Element of K10(the carrier of a1);
coherence
for b1 being non empty Subset of c1 holds
not ( not b1 is proper & b1 is trivial )
proof end;
end;

registration
let c1 be non empty non trivial 1-sorted ;
cluster non empty trivial proper Element of K10(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 K10(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 K10(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;

registration
let c1 be non empty set ;
let c2 be proper Subset of c1;
cluster a2 ` -> non empty ;
coherence
not c2 ` is empty
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 holds
( TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b1 is TopSpace-like implies 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 holds
( b1 = the carrier of a2 implies 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 holds
( b3 = the carrier of b2 implies b3 is proper ) );

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

E9: 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 holds
( TopStruct(# the carrier of b2,the topology of b2 #) = TopStruct(# the carrier of b3,the topology of b3 #) & b2 is proper implies b3 is proper )
proof end;

theorem Th15: :: TEX_2:15
for b1 being TopStruct
for b2 being SubSpace of b1 holds
not ( the carrier of b2 = the carrier of b1 & 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 holds
( not b1 is proper implies 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 holds
( b1 is trivial implies 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 holds
not ( not b1 is proper & 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 holds
( b1 is discrete implies b1 is TopSpace-like )
proof end;
cluster anti-discrete -> TopSpace-like SubSpace of a1;
coherence
for b1 being SubSpace of c1 holds
( b1 is anti-discrete implies b1 is TopSpace-like )
proof end;
cluster non TopSpace-like -> non discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 holds
not ( not b1 is TopSpace-like & b1 is discrete )
proof end;
cluster non TopSpace-like -> non anti-discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 holds
not ( not b1 is TopSpace-like & b1 is anti-discrete )
proof end;
end;

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

theorem Th18: :: TEX_2:18
for b1, b2 being TopStruct holds
( TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b1 is anti-discrete implies 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 holds
( b1 is discrete implies b1 is almost_discrete )
proof end;
cluster non almost_discrete -> non discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 holds
not ( not b1 is almost_discrete & b1 is discrete )
proof end;
cluster anti-discrete -> almost_discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 holds
( b1 is anti-discrete implies b1 is almost_discrete )
proof end;
cluster non almost_discrete -> non anti-discrete SubSpace of a1;
coherence
for b1 being SubSpace of c1 holds
not ( not b1 is almost_discrete & b1 is anti-discrete )
proof end;
end;

theorem Th19: :: TEX_2:19
for b1, b2 being TopStruct holds
( TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b1 is almost_discrete implies 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 holds
( b1 is discrete & b1 is anti-discrete implies b1 is trivial )
proof end;
cluster non empty non trivial anti-discrete -> non empty non discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
not ( b1 is anti-discrete & not b1 is trivial & b1 is discrete )
proof end;
cluster non empty non trivial discrete -> non empty non anti-discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
not ( b1 is discrete & not b1 is trivial & 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 holds
( the carrier of b1 = {c2} & the carrier of b2 = {c2} implies 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} );

E14: 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 Lemma14;
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 holds
not ( Sspace b2 is proper & 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 holds
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 holds
( Sspace b2 is TopSpace-like implies ( 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 trivial discrete anti-discrete almost_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
( b1 is trivial & b1 is TopSpace-like implies ( b1 is discrete & b1 is anti-discrete ) )
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster non empty strict TopSpace-like trivial discrete anti-discrete almost_discrete 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 trivial discrete anti-discrete almost_discrete ;
coherence
Sspace c2 is TopSpace-like
;
end;

registration
let c1 be non empty TopSpace;
cluster non empty strict trivial discrete anti-discrete almost_discrete 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 trivial discrete anti-discrete almost_discrete ;
coherence
( Sspace c2 is discrete & Sspace c2 is anti-discrete )
;
end;

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

registration
let c1 be non empty TopSpace;
cluster strict closed open 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 trivial discrete anti-discrete almost_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
( b1 is anti-discrete implies 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 holds
not ( not b1 is trivial & b1 is anti-discrete )
proof end;
end;

registration
let c1 be non empty non trivial discrete TopSpace;
cluster strict closed open 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 trivial discrete anti-discrete almost_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
( b1 is discrete implies 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 holds
not ( not b1 is trivial & b1 is discrete )
proof end;
end;

registration
let c1 be non empty non trivial anti-discrete TopSpace;
cluster non empty proper -> non empty non closed non open 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 trivial discrete anti-discrete almost_discrete 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 non trivial anti-discrete TopSpace;
cluster strict non closed non open 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 non trivial almost_discrete 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 holds
not ( b1 c= a2 & ( for b2 being Subset of a1 holds
not ( 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 holds
not ( b3 c= b2 & ( for b4 being Subset of b1 holds
not ( 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 holds
not ( b1 c= a2 & ( for b2 being Subset of a1 holds
not ( b2 is closed & a2 /\ b2 = b1 ) ) );
compatibility
( c2 is discrete iff for b1 being Subset of c1 holds
not ( b1 c= c2 & ( for b2 being Subset of c1 holds
not ( 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 holds
not ( b3 c= b2 & ( for b4 being Subset of b1 holds
not ( 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 holds
( TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b3 = b4 & b3 is discrete implies 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 holds
( b3 = the carrier of b2 implies ( 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 holds
( b2 = the carrier of b1 implies ( 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 holds
( b3 c= b2 & b2 is discrete implies b3 is discrete )
proof end;

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

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

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

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

theorem Th33: :: TEX_2:33
for b1 being TopStruct
for b2 being Subset of b1 holds
( b2 is discrete implies for b3 being Point of b1 holds
not ( b3 in b2 & ( for b4 being Subset of b1 holds
not ( 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 holds
not ( b2 is discrete & ( for b3 being non empty strict discrete SubSpace of b1 holds
not 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 holds
( ( for b3 being Point of b1 holds
not ( b3 in b2 & ( for b4 being Subset of b1 holds
not ( b4 is open & b2 /\ b4 = {b3} ) ) ) ) implies b2 is discrete )
proof end;

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

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

Lemma30: for b1, b2 being set holds
not ( b1 c= b2 & b1 <> b2 & not b2 \ b1 <> {} )
proof end;

theorem Th40: :: TEX_2:40
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is everywhere_dense & b2 is discrete implies 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 holds
( b3 c= b2 implies b2 /\ (Cl b3) = b3 ) )
proof end;

theorem Th42: :: TEX_2:42
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is discrete implies for b3 being Point of b1 holds
( b3 in b2 implies 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 holds
( b1 is discrete & a2 c= b1 implies 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 holds
( b3 is discrete & b2 c= b3 implies b2 = b3 ) ) ) );

theorem Th45: :: TEX_2:45
for b1, b2 being TopStruct
for b3 being Subset of b1
for b4 being Subset of b2 holds
( TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & b3 = b4 & b3 is maximal_discrete implies 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 holds
( b2 is open & b2 is maximal_discrete implies b2 is dense )
proof end;

theorem Th48: :: TEX_2:48
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is dense & b2 is discrete implies 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 holds
( b1 = the carrier of a2 implies 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 holds
( b3 = the carrier of b2 implies 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 holds
( b3 = the carrier of b2 implies ( 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 holds
( b1 is maximal_discrete implies 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 holds
not ( not b1 is discrete & 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 holds
( b2 is SubSpace of b3 implies 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 holds
not ( b2 is maximal_discrete & ( for b3 being non empty strict SubSpace of b1 holds
not ( b3 is maximal_discrete & b2 = the carrier of b3 ) ) )
proof end;

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

registration
let c1 be non empty anti-discrete TopSpace;
cluster non empty maximal_discrete -> non empty trivial discrete anti-discrete almost_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
( b1 is maximal_discrete implies 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 holds
not ( not b1 is trivial & b1 is maximal_discrete )
proof end;
cluster non empty trivial -> non empty TopSpace-like trivial discrete anti-discrete almost_discrete maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
( b1 is trivial implies b1 is maximal_discrete )
proof end;
cluster non empty non maximal_discrete -> non empty non trivial non discrete non maximal_discrete SubSpace of a1;
coherence
for b1 being non empty SubSpace of c1 holds
not ( not b1 is maximal_discrete & 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() holds
( b2 in F2() implies P1[b2,b1 . b2] )
provided
E42: for b1 being Subset of F1() holds
not ( b1 in F2() & ( for b2 being Point of F1() holds
not 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 holds
( b2 in Cl {b3} implies 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 holds
( ( for b3 being Point of b1 holds
not ( b3 in b2 & ( for b4 being Subset of b1 holds
not ( b4 is closed & b2 /\ b4 = {b3} ) ) ) ) implies b2 is discrete )
proof end;

theorem Th58: :: TEX_2:58
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 holds
( ( for b3 being Point of b1 holds
( b3 in b2 implies b2 /\ (Cl {b3}) = {b3} ) ) implies 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 holds
( b3 in b2 & b4 in b2 & b3 <> b4 implies 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 holds
not ( b3 in Cl b2 & ( for b4 being Point of b1 holds
not ( 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 holds
not ( ( b2 is open or b2 is closed ) & b2 is maximal_discrete & b2 is proper )
proof end;

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

theorem Th63: :: TEX_2:63
for b1 being non empty almost_discrete TopSpace
for b2 being Subset of b1 holds
( b2 is maximal_discrete implies 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 holds
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 holds
not ( b2 is discrete & ( for b3 being Subset of b1 holds
not ( b2 c= b3 & b3 is maximal_discrete ) ) )
proof end;

theorem Th66: :: TEX_2:66
for b1 being non empty almost_discrete TopSpace holds
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 holds
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 holds
( b1 is maximal_discrete implies 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 holds
not ( not b1 is proper & 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 holds
not ( b1 is maximal_discrete & 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 holds
not ( b1 is trivial & 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 holds
( ( for b2 being non empty TopSpace
for b3 being Function of b1,b2 holds b3 is continuous ) implies 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 holds
( ( for b2 being non empty TopSpace
for b3 being Function of b2,b1 holds b3 is continuous ) implies 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 holds
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 holds
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;

Lemma57: 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 holds
( b3 is_a_retraction implies for b4 being Point of b2
for b5 being Point of b1 holds
( b4 = b5 implies 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 holds
( b3 is_a_retraction implies for b4 being Subset of b2
for b5 being Subset of b1 holds
( b4 = b5 implies 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 holds
( b3 is_a_retraction implies for b4 being Point of b2
for b5 being Point of b1 holds
( b4 = b5 implies 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 holds
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;