reserve            x for object,
               X,Y,Z for set,
         i,j,k,l,m,n for Nat,
                 r,s for Real,
                  no for Element of OrderedNAT,
                   A for Subset of [:NAT,NAT:];
reserve X,Y,X1,X2 for non empty set,
          cA1,cB1 for filter_base of X1,
          cA2,cB2 for filter_base of X2,
              cF1 for Filter of X1,
              cF2 for Filter of X2,
             cBa1 for basis of cF1,
             cBa2 for basis of cF2;

theorem Th35:
  <. [: base_of_frechet_filter,base_of_frechet_filter :] .)
    = <. Frechet_Filter(NAT),Frechet_Filter(NAT).)
  proof
    consider cB being basis of Frechet_Filter(NAT) such that
A1: cB = base_of_frechet_filter and
    [: cB, cB :] is basis of <. Frechet_Filter(NAT),Frechet_Filter(NAT) .)
      by Th33;
    <. #([: cB,cB :]) .] = <. [: base_of_frechet_filter,
                                 base_of_frechet_filter :] .)
    proof
      set cF1 = <. #([: cB,cB :]) .],
          cF2 = <. [: base_of_frechet_filter,base_of_frechet_filter :] .);
      now
        let x be object;
        assume
A2:     x in cF1;
        then reconsider y = x as Subset of [:NAT,NAT:];
        consider b be Element of #([: cB,cB:]) such that
A3:     b c= y by A2,CARDFIL2:def 8;
        consider cB3 being filter_base of NAT,
        cB4 being filter_base of NAT such that
A4:     cB = cB3 and
A5:     cB = cB4 and
A6:     [: cB,cB :] = [:cB3,cB4:] by Def2;
        b in the set of all [:B1,B2:] where B1 is Element of cB3,
          B2 is Element of cB4 by A6;
        then consider B1 be Element of cB3, B2 be Element of cB4 such that
A7:     b = [:B1,B2:];
        b in [: base_of_frechet_filter,base_of_frechet_filter :]
          by A1,A4,A5,A7;
        hence x in cF2 by A3,CARDFIL2:def 8;
      end;
      then
A8:   cF1 c= cF2;
      now
        let x be object;
        assume
A9:     x in cF2;
        then reconsider y = x as Subset of [:NAT,NAT:];
        consider b be Element of [: base_of_frechet_filter,
                                    base_of_frechet_filter :] such that
A10:    b c= y by A9,CARDFIL2:def 8;
        ex cB3 being filter_base of NAT, cB4 being filter_base of NAT st
        cB = cB3 & cB = cB4 & [:cB,cB:] = [:cB3,cB4:] by Def2;
        hence x in cF1 by A1,A10,CARDFIL2:def 8;
      end;
      then cF2 c= cF1;
      hence thesis by A8;
    end;
    hence thesis by CARDFIL2:21;
  end;
