let n be Nat; :: thesis: for K being Field

for M1, M2 being Matrix of n,K st M1 commutes_with M2 holds

M1 * M1 commutes_with M2

let K be Field; :: thesis: for M1, M2 being Matrix of n,K st M1 commutes_with M2 holds

M1 * M1 commutes_with M2

let M1, M2 be Matrix of n,K; :: thesis: ( M1 commutes_with M2 implies M1 * M1 commutes_with M2 )

A1: width M2 = n by MATRIX_0:24;

A2: ( width M1 = n & len M1 = n ) by MATRIX_0:24;

assume A3: M1 commutes_with M2 ; :: thesis: M1 * M1 commutes_with M2

A4: len M2 = n by MATRIX_0:24;

then (M1 * M1) * M2 = M1 * (M1 * M2) by A2, MATRIX_3:33

.= M1 * (M2 * M1) by A3

.= (M1 * M2) * M1 by A1, A2, A4, MATRIX_3:33

.= (M2 * M1) * M1 by A3

.= M2 * (M1 * M1) by A1, A2, MATRIX_3:33 ;

hence M1 * M1 commutes_with M2 ; :: thesis: verum

for M1, M2 being Matrix of n,K st M1 commutes_with M2 holds

M1 * M1 commutes_with M2

let K be Field; :: thesis: for M1, M2 being Matrix of n,K st M1 commutes_with M2 holds

M1 * M1 commutes_with M2

let M1, M2 be Matrix of n,K; :: thesis: ( M1 commutes_with M2 implies M1 * M1 commutes_with M2 )

A1: width M2 = n by MATRIX_0:24;

A2: ( width M1 = n & len M1 = n ) by MATRIX_0:24;

assume A3: M1 commutes_with M2 ; :: thesis: M1 * M1 commutes_with M2

A4: len M2 = n by MATRIX_0:24;

then (M1 * M1) * M2 = M1 * (M1 * M2) by A2, MATRIX_3:33

.= M1 * (M2 * M1) by A3

.= (M1 * M2) * M1 by A1, A2, A4, MATRIX_3:33

.= (M2 * M1) * M1 by A3

.= M2 * (M1 * M1) by A1, A2, MATRIX_3:33 ;

hence M1 * M1 commutes_with M2 ; :: thesis: verum