reserve i,j,n for Nat,
  K for Field,
  a for Element of K,
  M,M1,M2,M3,M4 for Matrix of n,K;
reserve A for Matrix of K;

theorem
  for R being Ring, M1,M2 being Matrix of n,R
  holds M1=M2*M1 & M1 is invertible implies M1 commutes_with M2
proof
  let R be Ring;
  let M1,M2 be Matrix of n,R;
  assume that
A1: M1=M2*M1 and
A2: M1 is invertible;
A3: M1~ is_reverse_of M1 by A2,Def4;
A4: width M2=n & len (M1~)=n by MATRIX_0:24;
A5: len M1=n & width M1=n by MATRIX_0:24;
  M2=M2*(1.(R,n)) by MATRIX_3:19
    .=M2*(M1*M1~) by A3
    .=M1*M1~ by A1,A5,A4,MATRIX_3:33
    .=1.(R,n) by A3;
  hence thesis by Th7;
end;
