:: FINTOPO4 semantic presentation

definition
let c1 be non empty FT_Space_Str ;
let c2, c3 be Subset of c1;
pred c2,c3 are_separated means :Def1: :: FINTOPO4:def 1
( a2 ^b misses a3 & a2 misses a3 ^b );
end;

:: deftheorem Def1 defines are_separated FINTOPO4:def 1 :
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds
( b2,b3 are_separated iff ( b2 ^b misses b3 & b2 misses b3 ^b ) );

theorem Th1: :: FINTOPO4:1
for b1 being non empty filled FT_Space_Str
for b2 being Subset of b1
for b3, b4 being Nat st b3 <= b4 holds
Finf b2,b3 c= Finf b2,b4
proof end;

theorem Th2: :: FINTOPO4:2
for b1 being non empty filled FT_Space_Str
for b2 being Subset of b1
for b3, b4 being Nat st b3 <= b4 holds
Fcl b2,b3 c= Fcl b2,b4
proof end;

theorem Th3: :: FINTOPO4:3
for b1 being non empty filled FT_Space_Str
for b2 being Subset of b1
for b3, b4 being Nat st b3 <= b4 holds
Fdfl b2,b4 c= Fdfl b2,b3
proof end;

theorem Th4: :: FINTOPO4:4
for b1 being non empty filled FT_Space_Str
for b2 being Subset of b1
for b3, b4 being Nat st b3 <= b4 holds
Fint b2,b4 c= Fint b2,b3
proof end;

theorem Th5: :: FINTOPO4:5
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 st b2,b3 are_separated holds
b3,b2 are_separated
proof end;

theorem Th6: :: FINTOPO4:6
for b1 being non empty filled FT_Space_Str
for b2, b3 being Subset of b1 st b2,b3 are_separated holds
b2 misses b3
proof end;

theorem Th7: :: FINTOPO4:7
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 st b1 is symmetric holds
( b2,b3 are_separated iff ( b2 ^f misses b3 & b2 misses b3 ^f ) )
proof end;

theorem Th8: :: FINTOPO4:8
for b1 being non empty filled FT_Space_Str
for b2, b3 being Subset of b1 st b1 is symmetric & b2 ^b misses b3 holds
b2 misses b3 ^b
proof end;

theorem Th9: :: FINTOPO4:9
for b1 being non empty filled FT_Space_Str
for b2, b3 being Subset of b1 st b1 is symmetric & b2 misses b3 ^b holds
b2 ^b misses b3 by Th8;

theorem Th10: :: FINTOPO4:10
for b1 being non empty filled FT_Space_Str
for b2, b3 being Subset of b1 st b1 is symmetric holds
( b2,b3 are_separated iff b2 ^b misses b3 )
proof end;

theorem Th11: :: FINTOPO4:11
for b1 being non empty filled FT_Space_Str
for b2, b3 being Subset of b1 st b1 is symmetric holds
( b2,b3 are_separated iff b2 misses b3 ^b )
proof end;

theorem Th12: :: FINTOPO4:12
for b1 being non empty filled FT_Space_Str
for b2 being Subset of b1 st b1 is symmetric holds
( b2 is connected iff for b3, b4 being Subset of b1 st b2 = b3 \/ b4 & b3,b4 are_separated & not b3 = b2 holds
b4 = b2 )
proof end;

theorem Th13: :: FINTOPO4:13
for b1 being non empty filled FT_Space_Str
for b2 being Subset of b1 st b1 is symmetric holds
( b2 is connected iff for b3 being Subset of b1 holds
( not b3 <> {} or not b2 \ b3 <> {} or not b3 c= b2 or not b3 ^b misses b2 \ b3 ) )
proof end;

definition
let c1, c2 be non empty FT_Space_Str ;
let c3 be Function of the carrier of c1,the carrier of c2;
let c4 be Nat;
pred c3 is_continuous c4 means :Def2: :: FINTOPO4:def 2
for b1 being Element of a1
for b2 being Element of a2 st b1 in the carrier of a1 & b2 = a3 . b1 holds
a3 .: (U_FT b1,0) c= U_FT b2,a4;
end;

:: deftheorem Def2 defines is_continuous FINTOPO4:def 2 :
for b1, b2 being non empty FT_Space_Str
for b3 being Function of the carrier of b1,the carrier of b2
for b4 being Nat holds
( b3 is_continuous b4 iff for b5 being Element of b1
for b6 being Element of b2 st b5 in the carrier of b1 & b6 = b3 . b5 holds
b3 .: (U_FT b5,0) c= U_FT b6,b4 );

theorem Th14: :: FINTOPO4:14
for b1 being non empty FT_Space_Str
for b2 being non empty filled FT_Space_Str
for b3 being Nat
for b4 being Function of the carrier of b1,the carrier of b2 st b4 is_continuous 0 holds
b4 is_continuous b3
proof end;

theorem Th15: :: FINTOPO4:15
for b1 being non empty FT_Space_Str
for b2 being non empty filled FT_Space_Str
for b3, b4 being Nat
for b5 being Function of the carrier of b1,the carrier of b2 st b5 is_continuous b3 & b3 <= b4 holds
b5 is_continuous b4
proof end;

theorem Th16: :: FINTOPO4:16
for b1, b2 being non empty FT_Space_Str
for b3 being Subset of b1
for b4 being Subset of b2
for b5 being Function of the carrier of b1,the carrier of b2 st b5 is_continuous 0 & b4 = b5 .: b3 holds
b5 .: (b3 ^b ) c= b4 ^b
proof end;

theorem Th17: :: FINTOPO4:17
for b1, b2 being non empty FT_Space_Str
for b3 being Subset of b1
for b4 being Subset of b2
for b5 being Function of the carrier of b1,the carrier of b2 st b3 is connected & b5 is_continuous 0 & b4 = b5 .: b3 holds
b4 is connected
proof end;

definition
let c1 be Nat;
func Nbdl1 c1 -> Function of Seg a1, bool (Seg a1) means :Def3: :: FINTOPO4:def 3
( dom a2 = Seg a1 & ( for b1 being Nat st b1 in Seg a1 holds
a2 . b1 = {b1,(max (b1 -' 1),1),(min (b1 + 1),a1)} ) );
existence
ex b1 being Function of Seg c1, bool (Seg c1) st
( dom b1 = Seg c1 & ( for b2 being Nat st b2 in Seg c1 holds
b1 . b2 = {b2,(max (b2 -' 1),1),(min (b2 + 1),c1)} ) )
proof end;
uniqueness
for b1, b2 being Function of Seg c1, bool (Seg c1) st dom b1 = Seg c1 & ( for b3 being Nat st b3 in Seg c1 holds
b1 . b3 = {b3,(max (b3 -' 1),1),(min (b3 + 1),c1)} ) & dom b2 = Seg c1 & ( for b3 being Nat st b3 in Seg c1 holds
b2 . b3 = {b3,(max (b3 -' 1),1),(min (b3 + 1),c1)} ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines Nbdl1 FINTOPO4:def 3 :
for b1 being Nat
for b2 being Function of Seg b1, bool (Seg b1) holds
( b2 = Nbdl1 b1 iff ( dom b2 = Seg b1 & ( for b3 being Nat st b3 in Seg b1 holds
b2 . b3 = {b3,(max (b3 -' 1),1),(min (b3 + 1),b1)} ) ) );

definition
let c1 be Nat;
assume E10: c1 > 0 ;
func FTSL1 c1 -> non empty FT_Space_Str equals :Def4: :: FINTOPO4:def 4
FT_Space_Str(# (Seg a1),(Nbdl1 a1) #);
correctness
coherence
FT_Space_Str(# (Seg c1),(Nbdl1 c1) #) is non empty FT_Space_Str
;
proof end;
end;

:: deftheorem Def4 defines FTSL1 FINTOPO4:def 4 :
for b1 being Nat st b1 > 0 holds
FTSL1 b1 = FT_Space_Str(# (Seg b1),(Nbdl1 b1) #);

theorem Th18: :: FINTOPO4:18
for b1 being Nat st b1 > 0 holds
FTSL1 b1 is filled
proof end;

theorem Th19: :: FINTOPO4:19
for b1 being Nat st b1 > 0 holds
FTSL1 b1 is symmetric
proof end;

definition
let c1 be Nat;
func Nbdc1 c1 -> Function of Seg a1, bool (Seg a1) means :Def5: :: FINTOPO4:def 5
( dom a2 = Seg a1 & ( for b1 being Nat st b1 in Seg a1 holds
( ( 1 < b1 & b1 < a1 implies a2 . b1 = {b1,(b1 -' 1),(b1 + 1)} ) & ( b1 = 1 & b1 < a1 implies a2 . b1 = {b1,a1,(b1 + 1)} ) & ( 1 < b1 & b1 = a1 implies a2 . b1 = {b1,(b1 -' 1),1} ) & ( b1 = 1 & b1 = a1 implies a2 . b1 = {b1} ) ) ) );
existence
ex b1 being Function of Seg c1, bool (Seg c1) st
( dom b1 = Seg c1 & ( for b2 being Nat st b2 in Seg c1 holds
( ( 1 < b2 & b2 < c1 implies b1 . b2 = {b2,(b2 -' 1),(b2 + 1)} ) & ( b2 = 1 & b2 < c1 implies b1 . b2 = {b2,c1,(b2 + 1)} ) & ( 1 < b2 & b2 = c1 implies b1 . b2 = {b2,(b2 -' 1),1} ) & ( b2 = 1 & b2 = c1 implies b1 . b2 = {b2} ) ) ) )
proof end;
uniqueness
for b1, b2 being Function of Seg c1, bool (Seg c1) st dom b1 = Seg c1 & ( for b3 being Nat st b3 in Seg c1 holds
( ( 1 < b3 & b3 < c1 implies b1 . b3 = {b3,(b3 -' 1),(b3 + 1)} ) & ( b3 = 1 & b3 < c1 implies b1 . b3 = {b3,c1,(b3 + 1)} ) & ( 1 < b3 & b3 = c1 implies b1 . b3 = {b3,(b3 -' 1),1} ) & ( b3 = 1 & b3 = c1 implies b1 . b3 = {b3} ) ) ) & dom b2 = Seg c1 & ( for b3 being Nat st b3 in Seg c1 holds
( ( 1 < b3 & b3 < c1 implies b2 . b3 = {b3,(b3 -' 1),(b3 + 1)} ) & ( b3 = 1 & b3 < c1 implies b2 . b3 = {b3,c1,(b3 + 1)} ) & ( 1 < b3 & b3 = c1 implies b2 . b3 = {b3,(b3 -' 1),1} ) & ( b3 = 1 & b3 = c1 implies b2 . b3 = {b3} ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines Nbdc1 FINTOPO4:def 5 :
for b1 being Nat
for b2 being Function of Seg b1, bool (Seg b1) holds
( b2 = Nbdc1 b1 iff ( dom b2 = Seg b1 & ( for b3 being Nat st b3 in Seg b1 holds
( ( 1 < b3 & b3 < b1 implies b2 . b3 = {b3,(b3 -' 1),(b3 + 1)} ) & ( b3 = 1 & b3 < b1 implies b2 . b3 = {b3,b1,(b3 + 1)} ) & ( 1 < b3 & b3 = b1 implies b2 . b3 = {b3,(b3 -' 1),1} ) & ( b3 = 1 & b3 = b1 implies b2 . b3 = {b3} ) ) ) ) );

definition
let c1 be Nat;
assume E12: c1 > 0 ;
func FTSC1 c1 -> non empty FT_Space_Str equals :Def6: :: FINTOPO4:def 6
FT_Space_Str(# (Seg a1),(Nbdc1 a1) #);
correctness
coherence
FT_Space_Str(# (Seg c1),(Nbdc1 c1) #) is non empty FT_Space_Str
;
proof end;
end;

:: deftheorem Def6 defines FTSC1 FINTOPO4:def 6 :
for b1 being Nat st b1 > 0 holds
FTSC1 b1 = FT_Space_Str(# (Seg b1),(Nbdc1 b1) #);

theorem Th20: :: FINTOPO4:20
for b1 being Nat st b1 > 0 holds
FTSC1 b1 is filled
proof end;

theorem Th21: :: FINTOPO4:21
for b1 being Nat st b1 > 0 holds
FTSC1 b1 is symmetric
proof end;