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 Th26:
  no = n implies square-uparrow n = [:uparrow no,uparrow no:]
  proof
    assume
A1: no = n;
    thus square-uparrow n c= [:uparrow no,uparrow no:]
    proof
      let x be object;
      assume
A3:   x in square-uparrow n;
      then reconsider y = x as Element of [:NAT,NAT:];
      consider n1,n2 be Nat such that
A4:   n1 = y`1 and
A5:   n2 = y`2 and
A6:   n <= n1 and
A7:   n <= n2 by A3,Def3;
A8:   n1 in uparrow no & n2 in uparrow no by A1,A6,A7,Th11;
      ex x1,x2 be object st x1 in NAT & x2 in NAT & x = [x1,x2]
        by A3,ZFMISC_1:def 2;
      then reconsider z = x as pair object;
      z = [n1,n2] by A4,A5;
      hence thesis by A8,ZFMISC_1:def 2;
    end;
      let x be object;
      assume x in [:uparrow no, uparrow no:];
      then consider y1,y2 be object such that
A9:   y1 in uparrow no and
A10:  y2 in uparrow no and
A11:  x = [y1,y2] by ZFMISC_1:def 2;
      reconsider x as Element of [:NAT,NAT:] by A9,A10,A11,ZFMISC_1:def 2;
      reconsider y1, y2 as Nat by A9,A10;
A12:  n <= y1 & n <= y2 by A1,A9,A10,Th12;
      x`1 = y1 & x`2 = y2 by A11;
      hence thesis by A12,Def3;
  end;
