reserve i,n for Nat,
  K for Field,
  M1,M2,M3,M4 for Matrix of n,K;

theorem
  M1 is_congruent_Matrix_of M2 & M2 is_congruent_Matrix_of M3 & n>0
  implies M1 is_congruent_Matrix_of M3
proof
  assume that
A1: M1 is_congruent_Matrix_of M2 and
A2: M2 is_congruent_Matrix_of M3 and
A3: n>0;
A4: len M2=n & width M2=n by MATRIX_0:24;
  consider M4 be Matrix of n,K such that
A5: M4 is invertible and
A6: M1=M4@*M2*M4 by A1;
A7: len M4=n by MATRIX_0:24;
  consider M5 be Matrix of n,K such that
A8: M5 is invertible and
A9: M2=M5@*M3*M5 by A2;
A10: len M5=n by MATRIX_0:24;
A11: len M3=n & len (M5@)=n by MATRIX_0:24;
A12: width M5=n by MATRIX_0:24;
  take M5*M4;
A13: len (M5@*M3)=n & len (M5*M4)=n by MATRIX_0:24;
A14: width (M4@)=n by MATRIX_0:24;
A15: width (M5@)=n by MATRIX_0:24;
A16: width (M5@*M3)=n by MATRIX_0:24;
  width M4=n by MATRIX_0:24;
  then (M5*M4)@*M3*(M5*M4)=(((M4@)*(M5@))*M3)*(M5*M4) by A3,A7,A12,MATRIX_3:22
    .=M4@*(M5@*M3)*(M5*M4) by A14,A11,A15,MATRIX_3:33
    .=M4@*((M5@*M3)*(M5*M4)) by A14,A16,A13,MATRIX_3:33
    .=M4@*((M5@*M3*M5)*M4) by A7,A10,A12,A16,MATRIX_3:33
    .=M1 by A6,A9,A4,A7,A14,MATRIX_3:33;
  hence thesis by A5,A8,MATRIX_6:36;
end;
