:: FINTOPO2 semantic presentation

theorem Th1: :: FINTOPO2:1
for b1 being non empty FT_Space_Str
for b2, b3 being Subset of b1 st b2 c= b3 holds
b2 ^i c= b3 ^i
proof end;

theorem Th2: :: FINTOPO2:2
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds b2 ^delta = (b2 ^b ) /\ ((b2 ^i ) ` )
proof end;

theorem Th3: :: FINTOPO2:3
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 holds b2 ^delta = (b2 ^b ) \ (b2 ^i )
proof end;

theorem Th4: :: FINTOPO2:4
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b2 ` is open holds
b2 is closed
proof end;

theorem Th5: :: FINTOPO2:5
for b1 being non empty FT_Space_Str
for b2 being Subset of b1 st b2 ` is closed holds
b2 is open
proof end;

definition
let c1 be non empty FT_Space_Str ;
let c2, c3 be Element of c1;
let c4 be Subset of c1;
func P_1 c2,c3,c4 -> Element of BOOLEAN equals :Def1: :: FINTOPO2:def 1
TRUE if ( a3 in U_FT a2 & a3 in a4 )
otherwise FALSE ;
correctness
coherence
( ( c3 in U_FT c2 & c3 in c4 implies TRUE is Element of BOOLEAN ) & ( ( not c3 in U_FT c2 or not c3 in c4 ) implies FALSE is Element of BOOLEAN ) )
;
consistency
for b1 being Element of BOOLEAN holds verum
;
;
end;

:: deftheorem Def1 defines P_1 FINTOPO2:def 1 :
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1
for b4 being Subset of b1 holds
( ( b3 in U_FT b2 & b3 in b4 implies P_1 b2,b3,b4 = TRUE ) & ( ( not b3 in U_FT b2 or not b3 in b4 ) implies P_1 b2,b3,b4 = FALSE ) );

definition
let c1 be non empty FT_Space_Str ;
let c2, c3 be Element of c1;
let c4 be Subset of c1;
func P_2 c2,c3,c4 -> Element of BOOLEAN equals :Def2: :: FINTOPO2:def 2
TRUE if ( a3 in U_FT a2 & a3 in a4 ` )
otherwise FALSE ;
correctness
coherence
( ( c3 in U_FT c2 & c3 in c4 ` implies TRUE is Element of BOOLEAN ) & ( ( not c3 in U_FT c2 or not c3 in c4 ` ) implies FALSE is Element of BOOLEAN ) )
;
consistency
for b1 being Element of BOOLEAN holds verum
;
;
end;

:: deftheorem Def2 defines P_2 FINTOPO2:def 2 :
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1
for b4 being Subset of b1 holds
( ( b3 in U_FT b2 & b3 in b4 ` implies P_2 b2,b3,b4 = TRUE ) & ( ( not b3 in U_FT b2 or not b3 in b4 ` ) implies P_2 b2,b3,b4 = FALSE ) );

theorem Th6: :: FINTOPO2:6
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1
for b4 being Subset of b1 holds
( P_1 b2,b3,b4 = TRUE iff ( b3 in U_FT b2 & b3 in b4 ) ) by Def1, MARGREL1:38;

theorem Th7: :: FINTOPO2:7
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1
for b4 being Subset of b1 holds
( P_2 b2,b3,b4 = TRUE iff ( b3 in U_FT b2 & b3 in b4 ` ) ) by Def2, MARGREL1:38;

theorem Th8: :: FINTOPO2:8
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^delta iff ex b4, b5 being Element of b1 st
( P_1 b2,b4,b3 = TRUE & P_2 b2,b5,b3 = TRUE ) )
proof end;

definition
let c1 be non empty FT_Space_Str ;
let c2, c3 be Element of c1;
func P_0 c2,c3 -> Element of BOOLEAN equals :Def3: :: FINTOPO2:def 3
TRUE if a3 in U_FT a2
otherwise FALSE ;
correctness
coherence
( ( c3 in U_FT c2 implies TRUE is Element of BOOLEAN ) & ( not c3 in U_FT c2 implies FALSE is Element of BOOLEAN ) )
;
consistency
for b1 being Element of BOOLEAN holds verum
;
;
end;

:: deftheorem Def3 defines P_0 FINTOPO2:def 3 :
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1 holds
( ( b3 in U_FT b2 implies P_0 b2,b3 = TRUE ) & ( not b3 in U_FT b2 implies P_0 b2,b3 = FALSE ) );

theorem Th9: :: FINTOPO2:9
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1 holds
( P_0 b2,b3 = TRUE iff b3 in U_FT b2 ) by Def3, MARGREL1:38;

theorem Th10: :: FINTOPO2:10
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^i iff for b4 being Element of b1 st P_0 b2,b4 = TRUE holds
P_1 b2,b4,b3 = TRUE )
proof end;

theorem Th11: :: FINTOPO2:11
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^b iff ex b4 being Element of b1 st P_1 b2,b4,b3 = TRUE )
proof end;

definition
let c1 be non empty FT_Space_Str ;
let c2 be Element of c1;
let c3 be Subset of c1;
func P_A c2,c3 -> Element of BOOLEAN equals :Def4: :: FINTOPO2:def 4
TRUE if a2 in a3
otherwise FALSE ;
correctness
coherence
( ( c2 in c3 implies TRUE is Element of BOOLEAN ) & ( not c2 in c3 implies FALSE is Element of BOOLEAN ) )
;
consistency
for b1 being Element of BOOLEAN holds verum
;
;
end;

:: deftheorem Def4 defines P_A FINTOPO2:def 4 :
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( ( b2 in b3 implies P_A b2,b3 = TRUE ) & ( not b2 in b3 implies P_A b2,b3 = FALSE ) );

theorem Th12: :: FINTOPO2:12
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( P_A b2,b3 = TRUE iff b2 in b3 ) by Def4, MARGREL1:38;

theorem Th13: :: FINTOPO2:13
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^deltai iff ( ex b4, b5 being Element of b1 st
( P_1 b2,b4,b3 = TRUE & P_2 b2,b5,b3 = TRUE ) & P_A b2,b3 = TRUE ) )
proof end;

theorem Th14: :: FINTOPO2:14
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^deltao iff ( ex b4, b5 being Element of b1 st
( P_1 b2,b4,b3 = TRUE & P_2 b2,b5,b3 = TRUE ) & P_A b2,b3 = FALSE ) )
proof end;

definition
let c1 be non empty FT_Space_Str ;
let c2, c3 be Element of c1;
func P_e c2,c3 -> Element of BOOLEAN equals :Def5: :: FINTOPO2:def 5
TRUE if a2 = a3
otherwise FALSE ;
correctness
coherence
( ( c2 = c3 implies TRUE is Element of BOOLEAN ) & ( not c2 = c3 implies FALSE is Element of BOOLEAN ) )
;
consistency
for b1 being Element of BOOLEAN holds verum
;
;
end;

:: deftheorem Def5 defines P_e FINTOPO2:def 5 :
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1 holds
( ( b2 = b3 implies P_e b2,b3 = TRUE ) & ( not b2 = b3 implies P_e b2,b3 = FALSE ) );

theorem Th15: :: FINTOPO2:15
for b1 being non empty FT_Space_Str
for b2, b3 being Element of b1 holds
( P_e b2,b3 = TRUE iff b2 = b3 ) by Def5, MARGREL1:38;

theorem Th16: :: FINTOPO2:16
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^s iff ( P_A b2,b3 = TRUE & ( for b4 being Element of b1 holds
( not P_1 b2,b4,b3 = TRUE or not P_e b2,b4 = FALSE ) ) ) )
proof end;

theorem Th17: :: FINTOPO2:17
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^n iff ( P_A b2,b3 = TRUE & ex b4 being Element of b1 st
( P_1 b2,b4,b3 = TRUE & P_e b2,b4 = FALSE ) ) )
proof end;

theorem Th18: :: FINTOPO2:18
for b1 being non empty FT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^f iff ex b4 being Element of b1 st
( P_A b4,b3 = TRUE & P_0 b4,b2 = TRUE ) )
proof end;

definition
attr a1 is strict;
struct FMT_Space_Str -> 1-sorted ;
aggr FMT_Space_Str(# carrier, BNbd #) -> FMT_Space_Str ;
sel BNbd c1 -> Function of the carrier of a1, bool (bool the carrier of a1);
end;

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

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Element of c1;
func U_FMT c2 -> Subset-Family of a1 equals :: FINTOPO2:def 6
the BNbd of a1 . a2;
correctness
coherence
the BNbd of c1 . c2 is Subset-Family of c1
;
;
end;

:: deftheorem Def6 defines U_FMT FINTOPO2:def 6 :
for b1 being non empty FMT_Space_Str
for b2 being Element of b1 holds U_FMT b2 = the BNbd of b1 . b2;

definition
let c1 be non empty TopStruct ;
func NeighSp c1 -> non empty strict FMT_Space_Str means :: FINTOPO2:def 7
( the carrier of a2 = the carrier of a1 & ( for b1 being Point of a2 holds U_FMT b1 = { b2 where B is Subset of a1 : ( b2 in the topology of a1 & b1 in b2 ) } ) );
existence
ex b1 being non empty strict FMT_Space_Str st
( the carrier of b1 = the carrier of c1 & ( for b2 being Point of b1 holds U_FMT b2 = { b3 where B is Subset of c1 : ( b3 in the topology of c1 & b2 in b3 ) } ) )
proof end;
uniqueness
for b1, b2 being non empty strict FMT_Space_Str st the carrier of b1 = the carrier of c1 & ( for b3 being Point of b1 holds U_FMT b3 = { b4 where B is Subset of c1 : ( b4 in the topology of c1 & b3 in b4 ) } ) & the carrier of b2 = the carrier of c1 & ( for b3 being Point of b2 holds U_FMT b3 = { b4 where B is Subset of c1 : ( b4 in the topology of c1 & b3 in b4 ) } ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines NeighSp FINTOPO2:def 7 :
for b1 being non empty TopStruct
for b2 being non empty strict FMT_Space_Str holds
( b2 = NeighSp b1 iff ( the carrier of b2 = the carrier of b1 & ( for b3 being Point of b2 holds U_FMT b3 = { b4 where B is Subset of b1 : ( b4 in the topology of b1 & b3 in b4 ) } ) ) );

definition
let c1 be non empty FMT_Space_Str ;
attr a1 is Fo_filled means :Def8: :: FINTOPO2:def 8
for b1 being Element of a1
for b2 being Subset of a1 st b2 in U_FMT b1 holds
b1 in b2;
end;

:: deftheorem Def8 defines Fo_filled FINTOPO2:def 8 :
for b1 being non empty FMT_Space_Str holds
( b1 is Fo_filled iff for b2 being Element of b1
for b3 being Subset of b1 st b3 in U_FMT b2 holds
b2 in b3 );

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Subset of c1;
func c2 ^Fodelta -> Subset of a1 equals :: FINTOPO2:def 9
{ b1 where B is Element of a1 : for b1 being Subset of a1 st b2 in U_FMT b1 holds
( b2 meets a2 & b2 meets a2 ` )
}
;
coherence
{ b1 where B is Element of c1 : for b1 being Subset of c1 st b2 in U_FMT b1 holds
( b2 meets c2 & b2 meets c2 ` )
}
is Subset of c1
proof end;
end;

:: deftheorem Def9 defines ^Fodelta FINTOPO2:def 9 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodelta = { b3 where B is Element of b1 : for b1 being Subset of b1 st b4 in U_FMT b3 holds
( b4 meets b2 & b4 meets b2 ` )
}
;

theorem Th19: :: FINTOPO2:19
canceled;

theorem Th20: :: FINTOPO2:20
for b1 being non empty FMT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^Fodelta iff for b4 being Subset of b1 st b4 in U_FMT b2 holds
( b4 meets b3 & b4 meets b3 ` ) )
proof end;

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Subset of c1;
func c2 ^Fob -> Subset of a1 equals :: FINTOPO2:def 10
{ b1 where B is Element of a1 : for b1 being Subset of a1 st b2 in U_FMT b1 holds
b2 meets a2
}
;
coherence
{ b1 where B is Element of c1 : for b1 being Subset of c1 st b2 in U_FMT b1 holds
b2 meets c2
}
is Subset of c1
proof end;
end;

:: deftheorem Def10 defines ^Fob FINTOPO2:def 10 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fob = { b3 where B is Element of b1 : for b1 being Subset of b1 st b4 in U_FMT b3 holds
b4 meets b2
}
;

theorem Th21: :: FINTOPO2:21
for b1 being non empty FMT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^Fob iff for b4 being Subset of b1 st b4 in U_FMT b2 holds
b4 meets b3 )
proof end;

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Subset of c1;
func c2 ^Foi -> Subset of a1 equals :: FINTOPO2:def 11
{ b1 where B is Element of a1 : ex b1 being Subset of a1 st
( b2 in U_FMT b1 & b2 c= a2 )
}
;
coherence
{ b1 where B is Element of c1 : ex b1 being Subset of c1 st
( b2 in U_FMT b1 & b2 c= c2 )
}
is Subset of c1
proof end;
end;

:: deftheorem Def11 defines ^Foi FINTOPO2:def 11 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Foi = { b3 where B is Element of b1 : ex b1 being Subset of b1 st
( b4 in U_FMT b3 & b4 c= b2 )
}
;

theorem Th22: :: FINTOPO2:22
for b1 being non empty FMT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^Foi iff ex b4 being Subset of b1 st
( b4 in U_FMT b2 & b4 c= b3 ) )
proof end;

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Subset of c1;
func c2 ^Fos -> Subset of a1 equals :: FINTOPO2:def 12
{ b1 where B is Element of a1 : ( b1 in a2 & ex b1 being Subset of a1 st
( b2 in U_FMT b1 & b2 \ {b1} misses a2 ) )
}
;
coherence
{ b1 where B is Element of c1 : ( b1 in c2 & ex b1 being Subset of c1 st
( b2 in U_FMT b1 & b2 \ {b1} misses c2 ) )
}
is Subset of c1
proof end;
end;

:: deftheorem Def12 defines ^Fos FINTOPO2:def 12 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fos = { b3 where B is Element of b1 : ( b3 in b2 & ex b1 being Subset of b1 st
( b4 in U_FMT b3 & b4 \ {b3} misses b2 ) )
}
;

theorem Th23: :: FINTOPO2:23
for b1 being non empty FMT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^Fos iff ( b2 in b3 & ex b4 being Subset of b1 st
( b4 in U_FMT b2 & b4 \ {b2} misses b3 ) ) )
proof end;

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Subset of c1;
func c2 ^Fon -> Subset of a1 equals :: FINTOPO2:def 13
a2 \ (a2 ^Fos );
coherence
c2 \ (c2 ^Fos ) is Subset of c1
;
end;

:: deftheorem Def13 defines ^Fon FINTOPO2:def 13 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fon = b2 \ (b2 ^Fos );

theorem Th24: :: FINTOPO2:24
for b1 being non empty FMT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^Fon iff ( b2 in b3 & ( for b4 being Subset of b1 st b4 in U_FMT b2 holds
b4 \ {b2} meets b3 ) ) )
proof end;

theorem Th25: :: FINTOPO2:25
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 st b2 c= b3 holds
b2 ^Fob c= b3 ^Fob
proof end;

theorem Th26: :: FINTOPO2:26
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 st b2 c= b3 holds
b2 ^Foi c= b3 ^Foi
proof end;

theorem Th27: :: FINTOPO2:27
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 holds (b2 ^Fob ) \/ (b3 ^Fob ) c= (b2 \/ b3) ^Fob
proof end;

theorem Th28: :: FINTOPO2:28
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 holds (b2 /\ b3) ^Fob c= (b2 ^Fob ) /\ (b3 ^Fob )
proof end;

theorem Th29: :: FINTOPO2:29
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 holds (b2 ^Foi ) \/ (b3 ^Foi ) c= (b2 \/ b3) ^Foi
proof end;

theorem Th30: :: FINTOPO2:30
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 holds (b2 /\ b3) ^Foi c= (b2 ^Foi ) /\ (b3 ^Foi )
proof end;

theorem Th31: :: FINTOPO2:31
for b1 being non empty FMT_Space_Str holds
( ( for b2 being Element of b1
for b3, b4 being Subset of b1 st b3 in U_FMT b2 & b4 in U_FMT b2 holds
ex b5 being Subset of b1 st
( b5 in U_FMT b2 & b5 c= b3 /\ b4 ) ) iff for b2, b3 being Subset of b1 holds (b2 \/ b3) ^Fob = (b2 ^Fob ) \/ (b3 ^Fob ) )
proof end;

theorem Th32: :: FINTOPO2:32
for b1 being non empty FMT_Space_Str holds
( ( for b2 being Element of b1
for b3, b4 being Subset of b1 st b3 in U_FMT b2 & b4 in U_FMT b2 holds
ex b5 being Subset of b1 st
( b5 in U_FMT b2 & b5 c= b3 /\ b4 ) ) iff for b2, b3 being Subset of b1 holds (b2 ^Foi ) /\ (b3 ^Foi ) = (b2 /\ b3) ^Foi )
proof end;

theorem Th33: :: FINTOPO2:33
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 st ( for b4 being Element of b1
for b5, b6 being Subset of b1 st b5 in U_FMT b4 & b6 in U_FMT b4 holds
ex b7 being Subset of b1 st
( b7 in U_FMT b4 & b7 c= b5 /\ b6 ) ) holds
(b2 \/ b3) ^Fodelta c= (b2 ^Fodelta ) \/ (b3 ^Fodelta )
proof end;

theorem Th34: :: FINTOPO2:34
for b1 being non empty FMT_Space_Str st b1 is Fo_filled & ( for b2, b3 being Subset of b1 holds (b2 \/ b3) ^Fodelta = (b2 ^Fodelta ) \/ (b3 ^Fodelta ) ) holds
for b2 being Element of b1
for b3, b4 being Subset of b1 st b3 in U_FMT b2 & b4 in U_FMT b2 holds
ex b5 being Subset of b1 st
( b5 in U_FMT b2 & b5 c= b3 /\ b4 )
proof end;

theorem Th35: :: FINTOPO2:35
for b1 being non empty FMT_Space_Str
for b2 being Element of b1
for b3 being Subset of b1 holds
( b2 in b3 ^Fos iff ( b2 in b3 & not b2 in (b3 \ {b2}) ^Fob ) )
proof end;

theorem Th36: :: FINTOPO2:36
for b1 being non empty FMT_Space_Str holds
( b1 is Fo_filled iff for b2 being Subset of b1 holds b2 c= b2 ^Fob )
proof end;

theorem Th37: :: FINTOPO2:37
for b1 being non empty FMT_Space_Str holds
( b1 is Fo_filled iff for b2 being Subset of b1 holds b2 ^Foi c= b2 )
proof end;

theorem Th38: :: FINTOPO2:38
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds ((b2 ` ) ^Fob ) ` = b2 ^Foi
proof end;

theorem Th39: :: FINTOPO2:39
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds ((b2 ` ) ^Foi ) ` = b2 ^Fob
proof end;

theorem Th40: :: FINTOPO2:40
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodelta = (b2 ^Fob ) /\ ((b2 ` ) ^Fob )
proof end;

theorem Th41: :: FINTOPO2:41
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodelta = (b2 ^Fob ) /\ ((b2 ^Foi ) ` )
proof end;

theorem Th42: :: FINTOPO2:42
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodelta = (b2 ` ) ^Fodelta
proof end;

theorem Th43: :: FINTOPO2:43
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodelta = (b2 ^Fob ) \ (b2 ^Foi )
proof end;

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Subset of c1;
func c2 ^Fodel_i -> Subset of a1 equals :: FINTOPO2:def 14
a2 /\ (a2 ^Fodelta );
coherence
c2 /\ (c2 ^Fodelta ) is Subset of c1
;
func c2 ^Fodel_o -> Subset of a1 equals :: FINTOPO2:def 15
(a2 ` ) /\ (a2 ^Fodelta );
coherence
(c2 ` ) /\ (c2 ^Fodelta ) is Subset of c1
;
end;

:: deftheorem Def14 defines ^Fodel_i FINTOPO2:def 14 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodel_i = b2 /\ (b2 ^Fodelta );

:: deftheorem Def15 defines ^Fodel_o FINTOPO2:def 15 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodel_o = (b2 ` ) /\ (b2 ^Fodelta );

theorem Th44: :: FINTOPO2:44
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds b2 ^Fodelta = (b2 ^Fodel_i ) \/ (b2 ^Fodel_o )
proof end;

definition
let c1 be non empty FMT_Space_Str ;
let c2 be Subset of c1;
attr a2 is Fo_open means :Def16: :: FINTOPO2:def 16
a2 = a2 ^Foi ;
attr a2 is Fo_closed means :Def17: :: FINTOPO2:def 17
a2 = a2 ^Fob ;
end;

:: deftheorem Def16 defines Fo_open FINTOPO2:def 16 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds
( b2 is Fo_open iff b2 = b2 ^Foi );

:: deftheorem Def17 defines Fo_closed FINTOPO2:def 17 :
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 holds
( b2 is Fo_closed iff b2 = b2 ^Fob );

theorem Th45: :: FINTOPO2:45
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 st b2 ` is Fo_open holds
b2 is Fo_closed
proof end;

theorem Th46: :: FINTOPO2:46
for b1 being non empty FMT_Space_Str
for b2 being Subset of b1 st b2 ` is Fo_closed holds
b2 is Fo_open
proof end;

theorem Th47: :: FINTOPO2:47
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 st b1 is Fo_filled & ( for b4 being Element of b1 holds {b4} in U_FMT b4 ) holds
(b2 /\ b3) ^Fob = (b2 ^Fob ) /\ (b3 ^Fob )
proof end;

theorem Th48: :: FINTOPO2:48
for b1 being non empty FMT_Space_Str
for b2, b3 being Subset of b1 st b1 is Fo_filled & ( for b4 being Element of b1 holds {b4} in U_FMT b4 ) holds
(b2 ^Foi ) \/ (b3 ^Foi ) = (b2 \/ b3) ^Foi
proof end;