reserve x,y for set,
  i,j,k,l,m,n for Nat,
  K for Field,
  N for without_zero finite Subset of NAT,
  a,b for Element of K,
  A,B,B1,B2,X,X1,X2 for (Matrix of K),
  A9 for (Matrix of m,n,K),
  B9 for (Matrix of m,k,K);
reserve D for non empty set,
  bD for FinSequence of D,
  b,f,g for FinSequence of K,
  MD for Matrix of D;

theorem Th58:
  for x st x in Solutions_of(A,ColVec2Mx b) ex f st x = ColVec2Mx
  f & len f = width A
proof
  let x such that
A1: x in Solutions_of(A,ColVec2Mx b);
  consider X such that
A2: X=x and
A3: len X=width A and
A4: width X = width ColVec2Mx b and
  A * X = ColVec2Mx b by A1;
  per cases;
  suppose
A5: len X=0;
    take f=0|-> 0.K;
    len (ColVec2Mx f)=0 by MATRIX_0:def 2;
    hence thesis by A2,A3,A5,CARD_2:64;
  end;
  suppose
A6: len X>0;
    take Col(X,1);
A7: len A=len (ColVec2Mx b) by A1,Th33;
    len A<>0 by A3,A6,MATRIX_0:def 3;
    then len b>0 by A7,MATRIX_0:def 2;
    then width X=1 by A4,MATRIX_0:23;
    hence thesis by A2,A3,A6,Th26,MATRIX_0:def 8;
  end;
end;
