reserve i,j for Nat;

theorem Th30:
  for a being Real, A being Matrix of REAL st width A>0
   holds (a*A )@=a*(A@)
proof
  let a be Real, A be Matrix of REAL;
  assume width A>0;
  then
A1: len (A@)= width A by MATRIX_0:54;
A2: for i,j holds [i,j] in Indices (a*(A@)) iff [j,i] in Indices (a*A)
  proof
    let i,j;
    Indices (a*(A@))=Indices (A@) & Indices (a*A)=Indices A by Th28;
    hence thesis by MATRIX_0:def 6;
  end;
A3: for i,j st [j,i] in Indices (a*A) holds (a*(A@))*(i,j) = (a*A)*(j,i)
  proof
    let i,j;
    assume [j,i] in Indices (a*A);
    then
A4: [j,i] in Indices A by Th28;
    then [i,j] in Indices (A@) by MATRIX_0:def 6;
    then (a*(A@))*(i,j) = a*((A@)*(i,j)) by Th29;
    then (a*(A@))*(i,j) = a*(A*(j,i)) by A4,MATRIX_0:def 6
      .=(a*A)*(j,i) by A4,Th29;
    hence thesis;
  end;
  len (a*(A@)) = len (A@) & width A= width (a*A) by Th27;
  hence thesis by A1,A2,A3,MATRIX_0:def 6;
end;
