Article FINTOPO3, MML version 4.99.1005

:: FINTOPO3:funcnot 1 => FINTOPO3:func 1
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  func A2 ^d -> Element of bool the carrier of a1 equals
    {b1 where b1 is Element of the carrier of a1: for b2 being Element of the carrier of a1
          st b2 in a2 `
       holds not b1 in U_FT b2};
end;

:: FINTOPO3:def 1
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 ^d = {b3 where b3 is Element of the carrier of b1: for b4 being Element of the carrier of b1
         st b4 in b2 `
      holds not b3 in U_FT b4};

:: FINTOPO3:th 1
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is reflexive
   holds b2 c= b2 ^f;

:: FINTOPO3:th 2
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
      b3 in b2 ^d
   iff
      for b4 being Element of the carrier of b1
            st b4 in b2 `
         holds not b3 in U_FT b4;

:: FINTOPO3:th 3
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is reflexive
   holds b2 ^d c= b2;

:: FINTOPO3:th 4
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 ^d = b2 ` ^f `;

:: FINTOPO3:th 5
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b2 c= b3
   holds b2 ^f c= b3 ^f;

:: FINTOPO3:th 6
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b2 c= b3
   holds b2 ^d c= b3 ^d;

:: FINTOPO3:th 7
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
(b2 /\ b3) ^b c= b2 ^b /\ (b3 ^b);

:: FINTOPO3:th 8
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
(b2 \/ b3) ^b = b2 ^b \/ (b3 ^b);

:: FINTOPO3:th 9
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 ^i \/ (b3 ^i) c= (b2 \/ b3) ^i;

:: FINTOPO3:th 10
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 ^i /\ (b3 ^i) = (b2 /\ b3) ^i;

:: FINTOPO3:th 11
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 ^f \/ (b3 ^f) = (b2 \/ b3) ^f;

:: FINTOPO3:th 12
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 ^d /\ (b3 ^d) = (b2 /\ b3) ^d;

:: FINTOPO3:funcnot 2 => FINTOPO3:func 2
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  func Fcl A2 -> Function-like quasi_total Relation of NAT,bool the carrier of a1 means
    (for b1 being Element of NAT
     for b2 being Element of bool the carrier of a1
           st b2 = it . b1
        holds it . (b1 + 1) = b2 ^b) &
     it . 0 = a2;
end;

:: FINTOPO3:def 2
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Function-like quasi_total Relation of NAT,bool the carrier of b1 holds
      b3 = Fcl b2
   iff
      (for b4 being Element of NAT
       for b5 being Element of bool the carrier of b1
             st b5 = b3 . b4
          holds b3 . (b4 + 1) = b5 ^b) &
       b3 . 0 = b2;

:: FINTOPO3:funcnot 3 => FINTOPO3:func 3
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  let a3 be natural set;
  func Fcl(A2,A3) -> Element of bool the carrier of a1 equals
    (Fcl a2) . a3;
end;

:: FINTOPO3:def 3
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being natural set holds
   Fcl(b2,b3) = (Fcl b2) . b3;

:: FINTOPO3:funcnot 4 => FINTOPO3:func 4
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  func Fint A2 -> Function-like quasi_total Relation of NAT,bool the carrier of a1 means
    (for b1 being Element of NAT
     for b2 being Element of bool the carrier of a1
           st b2 = it . b1
        holds it . (b1 + 1) = b2 ^i) &
     it . 0 = a2;
end;

:: FINTOPO3:def 4
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Function-like quasi_total Relation of NAT,bool the carrier of b1 holds
      b3 = Fint b2
   iff
      (for b4 being Element of NAT
       for b5 being Element of bool the carrier of b1
             st b5 = b3 . b4
          holds b3 . (b4 + 1) = b5 ^i) &
       b3 . 0 = b2;

:: FINTOPO3:funcnot 5 => FINTOPO3:func 5
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  let a3 be natural set;
  func Fint(A2,A3) -> Element of bool the carrier of a1 equals
    (Fint a2) . a3;
end;

:: FINTOPO3:def 5
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being natural set holds
   Fint(b2,b3) = (Fint b2) . b3;

:: FINTOPO3:th 13
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of NAT holds
   Fcl(b2,b3 + 1) = (Fcl(b2,b3)) ^b;

:: FINTOPO3:th 14
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fcl(b2,0) = b2;

:: FINTOPO3:th 15
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fcl(b2,1) = b2 ^b;

:: FINTOPO3:th 16
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fcl(b2,2) = b2 ^b ^b;

:: FINTOPO3:th 17
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being Element of NAT holds
   Fcl(b2 \/ b3,b4) = (Fcl(b2,b4)) \/ Fcl(b3,b4);

:: FINTOPO3:th 18
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of NAT holds
   Fint(b2,b3 + 1) = (Fint(b2,b3)) ^i;

:: FINTOPO3:th 19
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fint(b2,0) = b2;

:: FINTOPO3:th 20
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fint(b2,1) = b2 ^i;

:: FINTOPO3:th 21
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fint(b2,2) = b2 ^i ^i;

:: FINTOPO3:th 22
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being Element of NAT holds
   Fint(b2 /\ b3,b4) = (Fint(b2,b4)) /\ Fint(b3,b4);

:: FINTOPO3:th 23
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   b2 c= Fcl(b2,b3);

:: FINTOPO3:th 24
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   Fint(b2,b3) c= b2;

:: FINTOPO3:th 25
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   Fcl(b2,b3) c= Fcl(b2,b3 + 1);

:: FINTOPO3:th 26
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   Fint(b2,b3 + 1) c= Fint(b2,b3);

:: FINTOPO3:th 27
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of NAT holds
   (Fint(b2 `,b3)) ` = Fcl(b2,b3);

:: FINTOPO3:th 28
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of NAT holds
   (Fcl(b2 `,b3)) ` = Fint(b2,b3);

:: FINTOPO3:th 29
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being Element of NAT holds
   (Fcl(b2,b4)) \/ Fcl(b3,b4) = (Fint((b2 \/ b3) `,b4)) `;

:: FINTOPO3:th 30
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being Element of NAT holds
   (Fint(b2,b4)) /\ Fint(b3,b4) = (Fcl((b2 /\ b3) `,b4)) `;

:: FINTOPO3:funcnot 6 => FINTOPO3:func 6
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  func Finf A2 -> Function-like quasi_total Relation of NAT,bool the carrier of a1 means
    (for b1 being Element of NAT
     for b2 being Element of bool the carrier of a1
           st b2 = it . b1
        holds it . (b1 + 1) = b2 ^f) &
     it . 0 = a2;
end;

:: FINTOPO3:def 6
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Function-like quasi_total Relation of NAT,bool the carrier of b1 holds
      b3 = Finf b2
   iff
      (for b4 being Element of NAT
       for b5 being Element of bool the carrier of b1
             st b5 = b3 . b4
          holds b3 . (b4 + 1) = b5 ^f) &
       b3 . 0 = b2;

:: FINTOPO3:funcnot 7 => FINTOPO3:func 7
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  let a3 be natural set;
  func Finf(A2,A3) -> Element of bool the carrier of a1 equals
    (Finf a2) . a3;
end;

:: FINTOPO3:def 7
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being natural set holds
   Finf(b2,b3) = (Finf b2) . b3;

:: FINTOPO3:funcnot 8 => FINTOPO3:func 8
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  func Fdfl A2 -> Function-like quasi_total Relation of NAT,bool the carrier of a1 means
    (for b1 being Element of NAT
     for b2 being Element of bool the carrier of a1
           st b2 = it . b1
        holds it . (b1 + 1) = b2 ^d) &
     it . 0 = a2;
end;

:: FINTOPO3:def 8
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Function-like quasi_total Relation of NAT,bool the carrier of b1 holds
      b3 = Fdfl b2
   iff
      (for b4 being Element of NAT
       for b5 being Element of bool the carrier of b1
             st b5 = b3 . b4
          holds b3 . (b4 + 1) = b5 ^d) &
       b3 . 0 = b2;

:: FINTOPO3:funcnot 9 => FINTOPO3:func 9
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  let a3 be natural set;
  func Fdfl(A2,A3) -> Element of bool the carrier of a1 equals
    (Fdfl a2) . a3;
end;

:: FINTOPO3:def 9
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being natural set holds
   Fdfl(b2,b3) = (Fdfl b2) . b3;

:: FINTOPO3:th 31
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of NAT holds
   Finf(b2,b3 + 1) = (Finf(b2,b3)) ^f;

:: FINTOPO3:th 32
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Finf(b2,0) = b2;

:: FINTOPO3:th 33
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Finf(b2,1) = b2 ^f;

:: FINTOPO3:th 34
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Finf(b2,2) = b2 ^f ^f;

:: FINTOPO3:th 35
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being Element of NAT holds
   Finf(b2 \/ b3,b4) = (Finf(b2,b4)) \/ Finf(b3,b4);

:: FINTOPO3:th 36
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   b2 c= Finf(b2,b3);

:: FINTOPO3:th 37
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   Finf(b2,b3) c= Finf(b2,b3 + 1);

:: FINTOPO3:th 38
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of NAT holds
   Fdfl(b2,b3 + 1) = (Fdfl(b2,b3)) ^d;

:: FINTOPO3:th 39
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fdfl(b2,0) = b2;

:: FINTOPO3:th 40
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fdfl(b2,1) = b2 ^d;

:: FINTOPO3:th 41
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   Fdfl(b2,2) = b2 ^d ^d;

:: FINTOPO3:th 42
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being Element of NAT holds
   Fdfl(b2 /\ b3,b4) = (Fdfl(b2,b4)) /\ Fdfl(b3,b4);

:: FINTOPO3:th 43
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   Fdfl(b2,b3) c= b2;

:: FINTOPO3:th 44
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive
for b3 being Element of NAT holds
   Fdfl(b2,b3 + 1) c= Fdfl(b2,b3);

:: FINTOPO3:th 45
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of NAT holds
   Fdfl(b2,b3) = (Finf(b2 `,b3)) `;

:: FINTOPO3:th 46
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being Element of NAT holds
   (Fdfl(b2,b4)) /\ Fdfl(b3,b4) = (Finf((b2 /\ b3) `,b4)) `;

:: FINTOPO3:funcnot 10 => FINTOPO3:func 10
definition
  let a1 be non empty RelStr;
  let a2 be natural set;
  let a3 be Element of the carrier of a1;
  func U_FT(A3,A2) -> Element of bool the carrier of a1 equals
    Finf(U_FT a3,a2);
end;

:: FINTOPO3:def 10
theorem
for b1 being non empty RelStr
for b2 being natural set
for b3 being Element of the carrier of b1 holds
   U_FT(b3,b2) = Finf(U_FT b3,b2);

:: FINTOPO3:th 47
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1 holds
   U_FT(b2,0) = U_FT b2;

:: FINTOPO3:th 48
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of NAT holds
   U_FT(b2,b3 + 1) = (U_FT(b2,b3)) ^f;

:: FINTOPO3:prednot 1 => FINTOPO3:pred 1
definition
  let a1, a2 be non empty RelStr;
  pred A1,A2 are_mutually_symmetric means
    the carrier of a1 = the carrier of a2 &
     (for b1 being Element of the carrier of a1
     for b2 being Element of the carrier of a2 holds
           b2 in U_FT b1
        iff
           b1 in U_FT b2);
  symmetry;
::  for a1, a2 being non empty RelStr
::        st a1,a2 are_mutually_symmetric
::     holds a2,a1 are_mutually_symmetric;
end;

:: FINTOPO3:dfs 11
definiens
  let a1, a2 be non empty RelStr;
To prove
     a1,a2 are_mutually_symmetric
it is sufficient to prove
  thus the carrier of a1 = the carrier of a2 &
     (for b1 being Element of the carrier of a1
     for b2 being Element of the carrier of a2 holds
           b2 in U_FT b1
        iff
           b1 in U_FT b2);

:: FINTOPO3:def 11
theorem
for b1, b2 being non empty RelStr holds
   b1,b2 are_mutually_symmetric
iff
   the carrier of b1 = the carrier of b2 &
    (for b3 being Element of the carrier of b1
    for b4 being Element of the carrier of b2 holds
          b4 in U_FT b3
       iff
          b3 in U_FT b4);