Article FINTOPO2, MML version 4.99.1005

:: FINTOPO2:th 1
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b2 c= b3
   holds b2 ^i c= b3 ^i;

:: FINTOPO2:th 2
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 ^delta = b2 ^b /\ (b2 ^i `);

:: FINTOPO2:th 3
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 ^delta = b2 ^b \ (b2 ^i);

:: FINTOPO2:th 4
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b2 ` is open(b1)
   holds b2 is closed(b1);

:: FINTOPO2:th 5
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b2 ` is closed(b1)
   holds b2 is open(b1);

:: FINTOPO2:funcnot 1 => FINTOPO2:func 1
definition
  let a1 be non empty RelStr;
  let a2, a3 be Element of the carrier of a1;
  let a4 be Element of bool the carrier of a1;
  func P_1(A2,A3,A4) -> Element of BOOLEAN equals
    TRUE
    if a3 in U_FT a2 & a3 in a4
    otherwise FALSE;
end;

:: FINTOPO2:def 1
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of bool the carrier of b1 holds
   (b3 in U_FT b2 & b3 in b4 implies P_1(b2,b3,b4) = TRUE) &
    (b3 in U_FT b2 & b3 in b4 or P_1(b2,b3,b4) = FALSE);

:: FINTOPO2:funcnot 2 => FINTOPO2:func 2
definition
  let a1 be non empty RelStr;
  let a2, a3 be Element of the carrier of a1;
  let a4 be Element of bool the carrier of a1;
  func P_2(A2,A3,A4) -> Element of BOOLEAN equals
    TRUE
    if a3 in U_FT a2 & a3 in a4 `
    otherwise FALSE;
end;

:: FINTOPO2:def 2
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of bool the carrier of b1 holds
   (b3 in U_FT b2 & b3 in b4 ` implies P_2(b2,b3,b4) = TRUE) &
    (b3 in U_FT b2 & b3 in b4 ` or P_2(b2,b3,b4) = FALSE);

:: FINTOPO2:th 6
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of bool the carrier of b1 holds
      P_1(b2,b3,b4) = TRUE
   iff
      b3 in U_FT b2 & b3 in b4;

:: FINTOPO2:th 7
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of bool the carrier of b1 holds
      P_2(b2,b3,b4) = TRUE
   iff
      b3 in U_FT b2 & b3 in b4 `;

:: FINTOPO2:th 8
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^delta
   iff
      ex b4, b5 being Element of the carrier of b1 st
         P_1(b2,b4,b3) = TRUE & P_2(b2,b5,b3) = TRUE;

:: FINTOPO2:funcnot 3 => FINTOPO2:func 3
definition
  let a1 be non empty RelStr;
  let a2, a3 be Element of the carrier of a1;
  func P_0(A2,A3) -> Element of BOOLEAN equals
    TRUE
    if a3 in U_FT a2
    otherwise FALSE;
end;

:: FINTOPO2:def 3
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1 holds
(b3 in U_FT b2 implies P_0(b2,b3) = TRUE) &
 (b3 in U_FT b2 or P_0(b2,b3) = FALSE);

:: FINTOPO2:th 9
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1 holds
   P_0(b2,b3) = TRUE
iff
   b3 in U_FT b2;

:: FINTOPO2:th 10
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^i
   iff
      for b4 being Element of the carrier of b1
            st P_0(b2,b4) = TRUE
         holds P_1(b2,b4,b3) = TRUE;

:: FINTOPO2:th 11
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^b
   iff
      ex b4 being Element of the carrier of b1 st
         P_1(b2,b4,b3) = TRUE;

:: FINTOPO2:funcnot 4 => FINTOPO2:func 4
definition
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  let a3 be Element of bool the carrier of a1;
  func P_A(A2,A3) -> Element of BOOLEAN equals
    TRUE
    if a2 in a3
    otherwise FALSE;
end;

:: FINTOPO2:def 4
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
   (b2 in b3 implies P_A(b2,b3) = TRUE) & (b2 in b3 or P_A(b2,b3) = FALSE);

:: FINTOPO2:th 12
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      P_A(b2,b3) = TRUE
   iff
      b2 in b3;

:: FINTOPO2:th 13
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^deltai
   iff
      (ex b4, b5 being Element of the carrier of b1 st
          P_1(b2,b4,b3) = TRUE & P_2(b2,b5,b3) = TRUE) &
       P_A(b2,b3) = TRUE;

:: FINTOPO2:th 14
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^deltao
   iff
      (ex b4, b5 being Element of the carrier of b1 st
          P_1(b2,b4,b3) = TRUE & P_2(b2,b5,b3) = TRUE) &
       P_A(b2,b3) = FALSE;

:: FINTOPO2:funcnot 5 => FINTOPO2:func 5
definition
  let a1 be non empty RelStr;
  let a2, a3 be Element of the carrier of a1;
  func P_e(A2,A3) -> Element of BOOLEAN equals
    TRUE
    if a2 = a3
    otherwise FALSE;
end;

:: FINTOPO2:def 5
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1 holds
(b2 = b3 implies P_e(b2,b3) = TRUE) & (b2 = b3 or P_e(b2,b3) = FALSE);

:: FINTOPO2:th 15
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1 holds
   P_e(b2,b3) = TRUE
iff
   b2 = b3;

:: FINTOPO2:th 16
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^s
   iff
      P_A(b2,b3) = TRUE &
       (for b4 being Element of the carrier of b1
             st P_1(b2,b4,b3) = TRUE
          holds P_e(b2,b4) <> FALSE);

:: FINTOPO2:th 17
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^n
   iff
      P_A(b2,b3) = TRUE &
       (ex b4 being Element of the carrier of b1 st
          P_1(b2,b4,b3) = TRUE & P_e(b2,b4) = FALSE);

:: FINTOPO2:th 18
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^f
   iff
      ex b4 being Element of the carrier of b1 st
         P_A(b4,b3) = TRUE & P_0(b4,b2) = TRUE;

:: FINTOPO2:structnot 1 => FINTOPO2:struct 1
definition
  struct(1-sorted) FMT_Space_Str(#
    carrier -> set,
    BNbd -> Function-like quasi_total Relation of the carrier of it,bool bool the carrier of it
  #);
end;

:: FINTOPO2:attrnot 1 => FINTOPO2:attr 1
definition
  let a1 be FMT_Space_Str;
  attr a1 is strict;
end;

:: FINTOPO2:exreg 1
registration
  cluster strict FMT_Space_Str;
end;

:: FINTOPO2:aggrnot 1 => FINTOPO2:aggr 1
definition
  let a1 be set;
  let a2 be Function-like quasi_total Relation of a1,bool bool a1;
  aggr FMT_Space_Str(#a1,a2#) -> strict FMT_Space_Str;
end;

:: FINTOPO2:selnot 1 => FINTOPO2:sel 1
definition
  let a1 be FMT_Space_Str;
  sel the BNbd of a1 -> Function-like quasi_total Relation of the carrier of a1,bool bool the carrier of a1;
end;

:: FINTOPO2:exreg 2
registration
  cluster non empty strict FMT_Space_Str;
end;

:: FINTOPO2:funcnot 6 => FINTOPO2:func 6
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of the carrier of a1;
  func U_FMT A2 -> Element of bool bool the carrier of a1 equals
    (the BNbd of a1) . a2;
end;

:: FINTOPO2:def 6
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of the carrier of b1 holds
   U_FMT b2 = (the BNbd of b1) . b2;

:: FINTOPO2:funcnot 7 => FINTOPO2:func 7
definition
  let a1 be non empty TopStruct;
  func NeighSp A1 -> non empty strict FMT_Space_Str means
    the carrier of it = the carrier of a1 &
     (for b1 being Element of the carrier of it holds
        U_FMT b1 = {b2 where b2 is Element of bool the carrier of a1: b2 in the topology of a1 & b1 in b2});
end;

:: FINTOPO2:def 7
theorem
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 Element of the carrier of b2 holds
          U_FMT b3 = {b4 where b4 is Element of bool the carrier of b1: b4 in the topology of b1 & b3 in b4});

:: FINTOPO2:attrnot 2 => FINTOPO2:attr 2
definition
  let a1 be non empty FMT_Space_Str;
  attr a1 is Fo_filled means
    for b1 being Element of the carrier of a1
    for b2 being Element of bool the carrier of a1
          st b2 in U_FMT b1
       holds b1 in b2;
end;

:: FINTOPO2:dfs 8
definiens
  let a1 be non empty FMT_Space_Str;
To prove
     a1 is Fo_filled
it is sufficient to prove
  thus for b1 being Element of the carrier of a1
    for b2 being Element of bool the carrier of a1
          st b2 in U_FMT b1
       holds b1 in b2;

:: FINTOPO2:def 8
theorem
for b1 being non empty FMT_Space_Str holds
      b1 is Fo_filled
   iff
      for b2 being Element of the carrier of b1
      for b3 being Element of bool the carrier of b1
            st b3 in U_FMT b2
         holds b2 in b3;

:: FINTOPO2:funcnot 8 => FINTOPO2:func 8
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  func A2 ^Fodelta -> Element of bool the carrier of a1 equals
    {b1 where b1 is Element of the carrier of a1: for b2 being Element of bool the carrier of a1
          st b2 in U_FMT b1
       holds b2 meets a2 & b2 meets a2 `};
end;

:: FINTOPO2:def 9
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodelta = {b3 where b3 is Element of the carrier of b1: for b4 being Element of bool the carrier of b1
         st b4 in U_FMT b3
      holds b4 meets b2 & b4 meets b2 `};

:: FINTOPO2:th 20
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^Fodelta
   iff
      for b4 being Element of bool the carrier of b1
            st b4 in U_FMT b2
         holds b4 meets b3 & b4 meets b3 `;

:: FINTOPO2:funcnot 9 => FINTOPO2:func 9
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  func A2 ^Fob -> Element of bool the carrier of a1 equals
    {b1 where b1 is Element of the carrier of a1: for b2 being Element of bool the carrier of a1
          st b2 in U_FMT b1
       holds b2 meets a2};
end;

:: FINTOPO2:def 10
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fob = {b3 where b3 is Element of the carrier of b1: for b4 being Element of bool the carrier of b1
         st b4 in U_FMT b3
      holds b4 meets b2};

:: FINTOPO2:th 21
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^Fob
   iff
      for b4 being Element of bool the carrier of b1
            st b4 in U_FMT b2
         holds b4 meets b3;

:: FINTOPO2:funcnot 10 => FINTOPO2:func 10
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  func A2 ^Foi -> Element of bool the carrier of a1 equals
    {b1 where b1 is Element of the carrier of a1: ex b2 being Element of bool the carrier of a1 st
       b2 in U_FMT b1 & b2 c= a2};
end;

:: FINTOPO2:def 11
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Foi = {b3 where b3 is Element of the carrier of b1: ex b4 being Element of bool the carrier of b1 st
      b4 in U_FMT b3 & b4 c= b2};

:: FINTOPO2:th 22
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^Foi
   iff
      ex b4 being Element of bool the carrier of b1 st
         b4 in U_FMT b2 & b4 c= b3;

:: FINTOPO2:funcnot 11 => FINTOPO2:func 11
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  func A2 ^Fos -> Element of bool the carrier of a1 equals
    {b1 where b1 is Element of the carrier of a1: b1 in a2 &
     (ex b2 being Element of bool the carrier of a1 st
        b2 in U_FMT b1 & b2 \ {b1} misses a2)};
end;

:: FINTOPO2:def 12
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fos = {b3 where b3 is Element of the carrier of b1: b3 in b2 &
    (ex b4 being Element of bool the carrier of b1 st
       b4 in U_FMT b3 & b4 \ {b3} misses b2)};

:: FINTOPO2:th 23
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^Fos
   iff
      b2 in b3 &
       (ex b4 being Element of bool the carrier of b1 st
          b4 in U_FMT b2 & b4 \ {b2} misses b3);

:: FINTOPO2:funcnot 12 => FINTOPO2:func 12
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  func A2 ^Fon -> Element of bool the carrier of a1 equals
    a2 \ (a2 ^Fos);
end;

:: FINTOPO2:def 13
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fon = b2 \ (b2 ^Fos);

:: FINTOPO2:th 24
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^Fon
   iff
      b2 in b3 &
       (for b4 being Element of bool the carrier of b1
             st b4 in U_FMT b2
          holds b4 \ {b2} meets b3);

:: FINTOPO2:th 25
theorem
for b1 being non empty FMT_Space_Str
for b2, b3 being Element of bool the carrier of b1
      st b2 c= b3
   holds b2 ^Fob c= b3 ^Fob;

:: FINTOPO2:th 26
theorem
for b1 being non empty FMT_Space_Str
for b2, b3 being Element of bool the carrier of b1
      st b2 c= b3
   holds b2 ^Foi c= b3 ^Foi;

:: FINTOPO2:th 27
theorem
for b1 being non empty FMT_Space_Str
for b2, b3 being Element of bool the carrier of b1 holds
b2 ^Fob \/ (b3 ^Fob) c= (b2 \/ b3) ^Fob;

:: FINTOPO2:th 28
theorem
for b1 being non empty FMT_Space_Str
for b2, b3 being Element of bool the carrier of b1 holds
(b2 /\ b3) ^Fob c= b2 ^Fob /\ (b3 ^Fob);

:: FINTOPO2:th 29
theorem
for b1 being non empty FMT_Space_Str
for b2, b3 being Element of bool the carrier of b1 holds
b2 ^Foi \/ (b3 ^Foi) c= (b2 \/ b3) ^Foi;

:: FINTOPO2:th 30
theorem
for b1 being non empty FMT_Space_Str
for b2, b3 being Element of bool the carrier of b1 holds
(b2 /\ b3) ^Foi c= b2 ^Foi /\ (b3 ^Foi);

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

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

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

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

:: FINTOPO2:th 35
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b2 in b3 ^Fos
   iff
      b2 in b3 & not b2 in (b3 \ {b2}) ^Fob;

:: FINTOPO2:th 36
theorem
for b1 being non empty FMT_Space_Str holds
      b1 is Fo_filled
   iff
      for b2 being Element of bool the carrier of b1 holds
         b2 c= b2 ^Fob;

:: FINTOPO2:th 37
theorem
for b1 being non empty FMT_Space_Str holds
      b1 is Fo_filled
   iff
      for b2 being Element of bool the carrier of b1 holds
         b2 ^Foi c= b2;

:: FINTOPO2:th 38
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ` ^Fob ` = b2 ^Foi;

:: FINTOPO2:th 39
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ` ^Foi ` = b2 ^Fob;

:: FINTOPO2:th 40
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodelta = b2 ^Fob /\ (b2 ` ^Fob);

:: FINTOPO2:th 41
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodelta = b2 ^Fob /\ (b2 ^Foi `);

:: FINTOPO2:th 42
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodelta = b2 ` ^Fodelta;

:: FINTOPO2:th 43
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodelta = b2 ^Fob \ (b2 ^Foi);

:: FINTOPO2:funcnot 13 => FINTOPO2:func 13
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  func A2 ^Fodel_i -> Element of bool the carrier of a1 equals
    a2 /\ (a2 ^Fodelta);
end;

:: FINTOPO2:def 14
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodel_i = b2 /\ (b2 ^Fodelta);

:: FINTOPO2:funcnot 14 => FINTOPO2:func 14
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  func A2 ^Fodel_o -> Element of bool the carrier of a1 equals
    a2 ` /\ (a2 ^Fodelta);
end;

:: FINTOPO2:def 15
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodel_o = b2 ` /\ (b2 ^Fodelta);

:: FINTOPO2:th 44
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
   b2 ^Fodelta = b2 ^Fodel_i \/ (b2 ^Fodel_o);

:: FINTOPO2:attrnot 3 => FINTOPO2:attr 3
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  attr a2 is Fo_open means
    a2 = a2 ^Foi;
end;

:: FINTOPO2:dfs 16
definiens
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is Fo_open
it is sufficient to prove
  thus a2 = a2 ^Foi;

:: FINTOPO2:def 16
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
      b2 is Fo_open(b1)
   iff
      b2 = b2 ^Foi;

:: FINTOPO2:attrnot 4 => FINTOPO2:attr 4
definition
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
  attr a2 is Fo_closed means
    a2 = a2 ^Fob;
end;

:: FINTOPO2:dfs 17
definiens
  let a1 be non empty FMT_Space_Str;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is Fo_closed
it is sufficient to prove
  thus a2 = a2 ^Fob;

:: FINTOPO2:def 17
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1 holds
      b2 is Fo_closed(b1)
   iff
      b2 = b2 ^Fob;

:: FINTOPO2:th 45
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1
      st b2 ` is Fo_open(b1)
   holds b2 is Fo_closed(b1);

:: FINTOPO2:th 46
theorem
for b1 being non empty FMT_Space_Str
for b2 being Element of bool the carrier of b1
      st b2 ` is Fo_closed(b1)
   holds b2 is Fo_open(b1);

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

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