:: FINTOPO3 semantic presentation

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
func c2 ^d -> Subset of a1 equals :: FINTOPO3:def 1
{ b1 where B is Element of a1 : for b1 being Element of a1 st b2 in a2 ` holds
not b1 in U_FT b2
}
;
coherence
{ b1 where B is Element of c1 : for b1 being Element of c1 st b2 in c2 ` holds
not b1 in U_FT b2
}
is Subset of c1
proof end;
end;

:: deftheorem Def1 defines ^d FINTOPO3:def 1 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds b2 ^d = { b3 where B is Element of b1 : for b1 being Element of b1 st b4 in b2 ` holds
not b3 in U_FT b4
}
;

theorem Th1: :: FINTOPO3:1
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
b2 c= b2 ^f
proof end;

theorem Th2: :: FINTOPO3:2
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Element of b1 holds
( b3 in b2 ^d iff for b4 being Element of b1 st b4 in b2 ` holds
not b3 in U_FT b4 )
proof end;

theorem Th3: :: FINTOPO3:3
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
b2 ^d c= b2
proof end;

theorem Th4: :: FINTOPO3:4
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds b2 ^d = ((b2 ` ) ^f ) `
proof end;

theorem Th5: :: FINTOPO3:5
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 st b2 c= b3 holds
b2 ^f c= b3 ^f
proof end;

theorem Th6: :: FINTOPO3:6
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 st b2 c= b3 holds
b2 ^d c= b3 ^d
proof end;

theorem Th7: :: FINTOPO3:7
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds (b2 /\ b3) ^b c= (b2 ^b ) /\ (b3 ^b )
proof end;

theorem Th8: :: FINTOPO3:8
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds (b2 \/ b3) ^b = (b2 ^b ) \/ (b3 ^b )
proof end;

theorem Th9: :: FINTOPO3:9
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds (b2 ^i ) \/ (b3 ^i ) c= (b2 \/ b3) ^i
proof end;

theorem Th10: :: FINTOPO3:10
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds (b2 ^i ) /\ (b3 ^i ) = (b2 /\ b3) ^i
proof end;

theorem Th11: :: FINTOPO3:11
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds (b2 ^f ) \/ (b3 ^f ) = (b2 \/ b3) ^f
proof end;

theorem Th12: :: FINTOPO3:12
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 holds (b2 ^d ) /\ (b3 ^d ) = (b2 /\ b3) ^d
proof end;

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
func Fcl c2 -> Function of NAT , bool the carrier of a1 means :Def2: :: FINTOPO3:def 2
( ( for b1 being Nat
for b2 being Subset of a1 st b2 = a3 . b1 holds
a3 . (b1 + 1) = b2 ^b ) & a3 . 0 = a2 );
existence
ex b1 being Function of NAT , bool the carrier of c1 st
( ( for b2 being Nat
for b3 being Subset of c1 st b3 = b1 . b2 holds
b1 . (b2 + 1) = b3 ^b ) & b1 . 0 = c2 )
proof end;
uniqueness
for b1, b2 being Function of NAT , bool the carrier of c1 st ( for b3 being Nat
for b4 being Subset of c1 st b4 = b1 . b3 holds
b1 . (b3 + 1) = b4 ^b ) & b1 . 0 = c2 & ( for b3 being Nat
for b4 being Subset of c1 st b4 = b2 . b3 holds
b2 . (b3 + 1) = b4 ^b ) & b2 . 0 = c2 holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines Fcl FINTOPO3:def 2 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Function of NAT , bool the carrier of b1 holds
( b3 = Fcl b2 iff ( ( for b4 being Nat
for b5 being Subset of b1 st b5 = b3 . b4 holds
b3 . (b4 + 1) = b5 ^b ) & b3 . 0 = b2 ) );

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
let c3 be Nat;
func Fcl c2,c3 -> Subset of a1 equals :: FINTOPO3:def 3
(Fcl a2) . a3;
coherence
(Fcl c2) . c3 is Subset of c1
;
end;

:: deftheorem Def3 defines Fcl FINTOPO3:def 3 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Fcl b2,b3 = (Fcl b2) . b3;

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
func Fint c2 -> Function of NAT , bool the carrier of a1 means :Def4: :: FINTOPO3:def 4
( ( for b1 being Nat
for b2 being Subset of a1 st b2 = a3 . b1 holds
a3 . (b1 + 1) = b2 ^i ) & a3 . 0 = a2 );
existence
ex b1 being Function of NAT , bool the carrier of c1 st
( ( for b2 being Nat
for b3 being Subset of c1 st b3 = b1 . b2 holds
b1 . (b2 + 1) = b3 ^i ) & b1 . 0 = c2 )
proof end;
uniqueness
for b1, b2 being Function of NAT , bool the carrier of c1 st ( for b3 being Nat
for b4 being Subset of c1 st b4 = b1 . b3 holds
b1 . (b3 + 1) = b4 ^i ) & b1 . 0 = c2 & ( for b3 being Nat
for b4 being Subset of c1 st b4 = b2 . b3 holds
b2 . (b3 + 1) = b4 ^i ) & b2 . 0 = c2 holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines Fint FINTOPO3:def 4 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Function of NAT , bool the carrier of b1 holds
( b3 = Fint b2 iff ( ( for b4 being Nat
for b5 being Subset of b1 st b5 = b3 . b4 holds
b3 . (b4 + 1) = b5 ^i ) & b3 . 0 = b2 ) );

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
let c3 be Nat;
func Fint c2,c3 -> Subset of a1 equals :: FINTOPO3:def 5
(Fint a2) . a3;
coherence
(Fint c2) . c3 is Subset of c1
;
end;

:: deftheorem Def5 defines Fint FINTOPO3:def 5 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Fint b2,b3 = (Fint b2) . b3;

theorem Th13: :: FINTOPO3:13
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Fcl b2,(b3 + 1) = (Fcl b2,b3) ^b by Def2;

theorem Th14: :: FINTOPO3:14
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fcl b2,0 = b2 by Def2;

theorem Th15: :: FINTOPO3:15
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fcl b2,1 = b2 ^b
proof end;

theorem Th16: :: FINTOPO3:16
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fcl b2,2 = (b2 ^b ) ^b
proof end;

theorem Th17: :: FINTOPO3:17
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1
for b4 being Nat holds Fcl (b2 \/ b3),b4 = (Fcl b2,b4) \/ (Fcl b3,b4)
proof end;

theorem Th18: :: FINTOPO3:18
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Fint b2,(b3 + 1) = (Fint b2,b3) ^i by Def4;

theorem Th19: :: FINTOPO3:19
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fint b2,0 = b2 by Def4;

theorem Th20: :: FINTOPO3:20
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fint b2,1 = b2 ^i
proof end;

theorem Th21: :: FINTOPO3:21
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fint b2,2 = (b2 ^i ) ^i
proof end;

theorem Th22: :: FINTOPO3:22
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1
for b4 being Nat holds Fint (b2 /\ b3),b4 = (Fint b2,b4) /\ (Fint b3,b4)
proof end;

theorem Th23: :: FINTOPO3:23
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds b2 c= Fcl b2,b3
proof end;

theorem Th24: :: FINTOPO3:24
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds Fint b2,b3 c= b2
proof end;

theorem Th25: :: FINTOPO3:25
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds Fcl b2,b3 c= Fcl b2,(b3 + 1)
proof end;

theorem Th26: :: FINTOPO3:26
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds Fint b2,(b3 + 1) c= Fint b2,b3
proof end;

theorem Th27: :: FINTOPO3:27
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds (Fint (b2 ` ),b3) ` = Fcl b2,b3
proof end;

theorem Th28: :: FINTOPO3:28
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds (Fcl (b2 ` ),b3) ` = Fint b2,b3
proof end;

theorem Th29: :: FINTOPO3:29
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1
for b4 being Nat holds (Fcl b2,b4) \/ (Fcl b3,b4) = (Fint ((b2 \/ b3) ` ),b4) `
proof end;

theorem Th30: :: FINTOPO3:30
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1
for b4 being Nat holds (Fint b2,b4) /\ (Fint b3,b4) = (Fcl ((b2 /\ b3) ` ),b4) `
proof end;

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
func Finf c2 -> Function of NAT , bool the carrier of a1 means :Def6: :: FINTOPO3:def 6
( ( for b1 being Nat
for b2 being Subset of a1 st b2 = a3 . b1 holds
a3 . (b1 + 1) = b2 ^f ) & a3 . 0 = a2 );
existence
ex b1 being Function of NAT , bool the carrier of c1 st
( ( for b2 being Nat
for b3 being Subset of c1 st b3 = b1 . b2 holds
b1 . (b2 + 1) = b3 ^f ) & b1 . 0 = c2 )
proof end;
uniqueness
for b1, b2 being Function of NAT , bool the carrier of c1 st ( for b3 being Nat
for b4 being Subset of c1 st b4 = b1 . b3 holds
b1 . (b3 + 1) = b4 ^f ) & b1 . 0 = c2 & ( for b3 being Nat
for b4 being Subset of c1 st b4 = b2 . b3 holds
b2 . (b3 + 1) = b4 ^f ) & b2 . 0 = c2 holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines Finf FINTOPO3:def 6 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Function of NAT , bool the carrier of b1 holds
( b3 = Finf b2 iff ( ( for b4 being Nat
for b5 being Subset of b1 st b5 = b3 . b4 holds
b3 . (b4 + 1) = b5 ^f ) & b3 . 0 = b2 ) );

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
let c3 be Nat;
func Finf c2,c3 -> Subset of a1 equals :: FINTOPO3:def 7
(Finf a2) . a3;
coherence
(Finf c2) . c3 is Subset of c1
;
end;

:: deftheorem Def7 defines Finf FINTOPO3:def 7 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Finf b2,b3 = (Finf b2) . b3;

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
func Fdfl c2 -> Function of NAT , bool the carrier of a1 means :Def8: :: FINTOPO3:def 8
( ( for b1 being Nat
for b2 being Subset of a1 st b2 = a3 . b1 holds
a3 . (b1 + 1) = b2 ^d ) & a3 . 0 = a2 );
existence
ex b1 being Function of NAT , bool the carrier of c1 st
( ( for b2 being Nat
for b3 being Subset of c1 st b3 = b1 . b2 holds
b1 . (b2 + 1) = b3 ^d ) & b1 . 0 = c2 )
proof end;
uniqueness
for b1, b2 being Function of NAT , bool the carrier of c1 st ( for b3 being Nat
for b4 being Subset of c1 st b4 = b1 . b3 holds
b1 . (b3 + 1) = b4 ^d ) & b1 . 0 = c2 & ( for b3 being Nat
for b4 being Subset of c1 st b4 = b2 . b3 holds
b2 . (b3 + 1) = b4 ^d ) & b2 . 0 = c2 holds
b1 = b2
proof end;
end;

:: deftheorem Def8 defines Fdfl FINTOPO3:def 8 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Function of NAT , bool the carrier of b1 holds
( b3 = Fdfl b2 iff ( ( for b4 being Nat
for b5 being Subset of b1 st b5 = b3 . b4 holds
b3 . (b4 + 1) = b5 ^d ) & b3 . 0 = b2 ) );

definition
let c1 be non empty FT_Space_Str ;
let c2 be Subset of c1;
let c3 be Nat;
func Fdfl c2,c3 -> Subset of a1 equals :: FINTOPO3:def 9
(Fdfl a2) . a3;
coherence
(Fdfl c2) . c3 is Subset of c1
;
end;

:: deftheorem Def9 defines Fdfl FINTOPO3:def 9 :
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Fdfl b2,b3 = (Fdfl b2) . b3;

theorem Th31: :: FINTOPO3:31
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Finf b2,(b3 + 1) = (Finf b2,b3) ^f by Def6;

theorem Th32: :: FINTOPO3:32
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Finf b2,0 = b2 by Def6;

theorem Th33: :: FINTOPO3:33
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Finf b2,1 = b2 ^f
proof end;

theorem Th34: :: FINTOPO3:34
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Finf b2,2 = (b2 ^f ) ^f
proof end;

theorem Th35: :: FINTOPO3:35
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1
for b4 being Nat holds Finf (b2 \/ b3),b4 = (Finf b2,b4) \/ (Finf b3,b4)
proof end;

theorem Th36: :: FINTOPO3:36
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds b2 c= Finf b2,b3
proof end;

theorem Th37: :: FINTOPO3:37
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds Finf b2,b3 c= Finf b2,(b3 + 1)
proof end;

theorem Th38: :: FINTOPO3:38
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Fdfl b2,(b3 + 1) = (Fdfl b2,b3) ^d by Def8;

theorem Th39: :: FINTOPO3:39
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fdfl b2,0 = b2 by Def8;

theorem Th40: :: FINTOPO3:40
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fdfl b2,1 = b2 ^d
proof end;

theorem Th41: :: FINTOPO3:41
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds Fdfl b2,2 = (b2 ^d ) ^d
proof end;

theorem Th42: :: FINTOPO3:42
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1
for b4 being Nat holds Fdfl (b2 /\ b3),b4 = (Fdfl b2,b4) /\ (Fdfl b3,b4)
proof end;

theorem Th43: :: FINTOPO3:43
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds Fdfl b2,b3 c= b2
proof end;

theorem Th44: :: FINTOPO3:44
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b1 is filled holds
for b3 being Nat holds Fdfl b2,(b3 + 1) c= Fdfl b2,b3
proof end;

theorem Th45: :: FINTOPO3:45
for b1 being non empty FT_Space_Str
for b2 being Subset of b1
for b3 being Nat holds Fdfl b2,b3 = (Finf (b2 ` ),b3) `
proof end;

theorem Th46: :: FINTOPO3:46
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1
for b4 being Nat holds (Fdfl b2,b4) /\ (Fdfl b3,b4) = (Finf ((b2 /\ b3) ` ),b4) `
proof end;

definition
let c1 be non empty FT_Space_Str ;
let c2 be Nat;
let c3 be Element of c1;
func U_FT c3,c2 -> Subset of a1 equals :: FINTOPO3:def 10
Finf (U_FT a3),a2;
coherence
Finf (U_FT c3),c2 is Subset of c1
;
end;

:: deftheorem Def10 defines U_FT FINTOPO3:def 10 :
for b1 being non empty FT_Space_Str
for b2 being Nat
for b3 being Element of b1 holds U_FT b3,b2 = Finf (U_FT b3),b2;

theorem Th47: :: FINTOPO3:47
for b1 being non empty FT_Space_Str
for b2 being Element of b1 holds U_FT b2,0 = U_FT b2 by Th32;

theorem Th48: :: FINTOPO3:48
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Nat holds U_FT b2,(b3 + 1) = (U_FT b2,b3) ^f by Th31;

definition
let c1, c2 be non empty FT_Space_Str ;
pred c1,c2 are_mutually_symmetric means :: FINTOPO3:def 11
( the carrier of a1 = the carrier of a2 & ( for b1, b2 being set st b1 in the carrier of a1 & b2 in the carrier of a2 holds
( b2 in the Nbd of a1 . b1 iff b1 in the Nbd of a2 . b2 ) ) );
symmetry
for b1, b2 being non empty FT_Space_Str st the carrier of b1 = the carrier of b2 & ( for b3, b4 being set st b3 in the carrier of b1 & b4 in the carrier of b2 holds
( b4 in the Nbd of b1 . b3 iff b3 in the Nbd of b2 . b4 ) ) holds
( the carrier of b2 = the carrier of b1 & ( for b3, b4 being set st b3 in the carrier of b2 & b4 in the carrier of b1 holds
( b4 in the Nbd of b2 . b3 iff b3 in the Nbd of b1 . b4 ) ) )
;
end;

:: deftheorem Def11 defines are_mutually_symmetric FINTOPO3:def 11 :
for b1, b2 being non empty FT_Space_Str holds
( b1,b2 are_mutually_symmetric iff ( the carrier of b1 = the carrier of b2 & ( for b3, b4 being set st b3 in the carrier of b1 & b4 in the carrier of b2 holds
( b4 in the Nbd of b1 . b3 iff b3 in the Nbd of b2 . b4 ) ) ) );