:: 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 holds
( b3 <= b4 implies 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 holds
( b3 <= b4 implies 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 holds
( b3 <= b4 implies 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 holds
( b3 <= b4 implies 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 holds
( b2,b3 are_separated implies 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 holds
( b2,b3 are_separated implies b2 misses b3 )
proof end;

theorem Th7: :: FINTOPO4:7
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds
( b1 is symmetric implies ( 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 holds
( b1 is symmetric & b2 ^b misses b3 implies 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 holds
( b1 is symmetric & b2 misses b3 ^b implies 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 holds
( b1 is symmetric implies ( 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 holds
( b1 is symmetric implies ( 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 holds
( b1 is symmetric implies ( b2 is connected iff for b3, b4 being Subset of b1 holds
not ( b2 = b3 \/ b4 & b3,b4 are_separated & not b3 = b2 & not b4 = b2 ) ) )
proof end;

theorem Th13: :: FINTOPO4:13
for b1 being non empty filled FT_Space_Str
for b2 being Subset of b1 holds
( b1 is symmetric implies ( b2 is connected iff for b3 being Subset of b1 holds
not ( b3 <> {} & b2 \ b3 <> {} & b3 c= b2 & 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 holds
( b1 in the carrier of a1 & b2 = a3 . b1 implies 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 holds
( b5 in the carrier of b1 & b6 = b3 . b5 implies 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 holds
( b4 is_continuous 0 implies 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 holds
( b5 is_continuous b3 & b3 <= b4 implies 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 holds
( b5 is_continuous 0 & b4 = b5 .: b3 implies 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 holds
( b3 is connected & b5 is_continuous 0 & b4 = b5 .: b3 implies 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 holds
( b1 in Seg a1 implies 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 holds
( b2 in Seg c1 implies 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) holds
( dom b1 = Seg c1 & ( for b3 being Nat holds
( b3 in Seg c1 implies b1 . b3 = {b3,(max (b3 -' 1),1),(min (b3 + 1),c1)} ) ) & dom b2 = Seg c1 & ( for b3 being Nat holds
( b3 in Seg c1 implies b2 . b3 = {b3,(max (b3 -' 1),1),(min (b3 + 1),c1)} ) ) implies 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 holds
( b3 in Seg b1 implies 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 holds
( b1 > 0 implies FTSL1 b1 = FT_Space_Str(# (Seg b1),(Nbdl1 b1) #) );

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

theorem Th19: :: FINTOPO4:19
for b1 being Nat holds
( b1 > 0 implies 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 holds
( b1 in Seg a1 implies ( ( 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 holds
( b2 in Seg c1 implies ( ( 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) holds
( dom b1 = Seg c1 & ( for b3 being Nat holds
( b3 in Seg c1 implies ( ( 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 holds
( b3 in Seg c1 implies ( ( 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} ) ) ) ) implies 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 holds
( b3 in Seg b1 implies ( ( 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 holds
( b1 > 0 implies FTSC1 b1 = FT_Space_Str(# (Seg b1),(Nbdc1 b1) #) );

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

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