reserve x,y for object,X,Y for set,
  D for non empty set,
  i,j,k,l,m,n,m9,n9 for Nat,
  i0,j0,n0,m0 for non zero Nat,
  K for Field,
  a,b for Element of K,
  p for FinSequence of K,
  M for Matrix of n,K;
reserve A for (Matrix of D),
  A9 for Matrix of n9,m9,D,
  M9 for Matrix of n9, m9,K,
  nt,nt1,nt2 for Element of n-tuples_on NAT,
  mt,mt1 for Element of m -tuples_on NAT,
  M for Matrix of K;
reserve P,P1,P2,Q,Q1,Q2 for without_zero finite Subset of NAT;

theorem Th69:
  card P = card Q implies ([:P,Q:] c= Indices A iff [:Q,P:] c= Indices A@)
proof
  assume
A1: card P = card Q;
  per cases;
  suppose
A2: Q={};
    then
A3: [:Q,P:] = {} by ZFMISC_1:90;
    [:P,Q:] = {} by A2,ZFMISC_1:90;
    hence thesis by A3;
  end;
  suppose
A4: Q<>{};
    thus [:P,Q:] c= Indices A implies [:Q,P:] c= Indices A@
    proof
      assume
A5:   [:P,Q:] c= Indices A;
      then
A6:   P c= Seg len A by A1,Th67;
A7:   Q c= Seg width A by A1,A5,Th67;
      then
A8:   width A<>0 by A4;
      then
A9:   len (A@)=width A by MATRIX_0:54;
      len A=width (A@) by A8,MATRIX_0:54;
      hence thesis by A1,A7,A9,A6,Th67;
    end;
    thus [:Q,P:] c= Indices A@ implies [:P,Q:] c= Indices A
    proof
      assume
A10:  [:Q,P:] c= Indices A@;
      then
A11:  Q c= Seg len (A@) by A1,Th67;
      then len (A@)<>0 by A4;
      then width A>0 by MATRIX_0:def 6;
      then
A12:  len A=width (A@) by MATRIX_0:54;
A13:  len (A@)=width A by MATRIX_0:def 6;
      P c= Seg width (A@) by A1,A10,Th67;
      hence thesis by A1,A11,A12,A13,Th67;
    end;
  end;
end;
