let n be Nat; :: thesis: for K being Field
for M1, M2 being Matrix of n,K st M1 = M2 * M1 & M1 is invertible holds
M1 commutes_with M2

let K be Field; :: thesis: for M1, M2 being Matrix of n,K st M1 = M2 * M1 & M1 is invertible holds
M1 commutes_with M2

let M1, M2 be Matrix of n,K; :: thesis: ( M1 = M2 * M1 & M1 is invertible implies M1 commutes_with M2 )
assume A1: ( M1 = M2 * M1 & M1 is invertible ) ; :: thesis: M1 commutes_with M2
then A2: ( M1 ~ is_reverse_of M1 & M1 ~ is Matrix of n,K ) by Def4;
A3: ( len M1 = n & width M1 = n & len M2 = n & width M2 = n & len (M1 ~ ) = n & width (M1 ~ ) = n ) by MATRIX_1:25;
M2 = M2 * (1. K,n) by MATRIX_3:21
.= M2 * (M1 * (M1 ~ )) by A2, Def2
.= M1 * (M1 ~ ) by A1, A3, MATRIX_3:35
.= 1. K,n by A2, Def2 ;
hence M1 commutes_with M2 by Th6; :: thesis: verum