let n be Nat; :: thesis: for K being Field
for M1, M2 being Matrix of n,K st n > 0 holds
( M1 commutes_with M2 iff (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) )
let K be Field; :: thesis: for M1, M2 being Matrix of n,K st n > 0 holds
( M1 commutes_with M2 iff (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) )
let M1, M2 be Matrix of n,K; :: thesis: ( n > 0 implies ( M1 commutes_with M2 iff (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) ) )
assume A1:
n > 0
; :: thesis: ( M1 commutes_with M2 iff (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) )
A2:
( len M1 = n & width M1 = n & len M2 = n & width M2 = n )
by MATRIX_1:25;
A3:
( len (M1 + M2) = n & width (M1 + M2) = n )
by MATRIX_1:25;
A4:
( len (M1 * M1) = n & width (M1 * M1) = n & len (M1 * M2) = n & width (M1 * M2) = n )
by MATRIX_1:25;
A5:
( len (M2 * M1) = n & width (M2 * M1) = n & len (M2 * M2) = n & width (M2 * M2) = n )
by MATRIX_1:25;
A6:
( len ((M1 * M1) + (M2 * M1)) = n & width ((M1 * M1) + (M2 * M1)) = n & len ((M1 * M2) + (M2 * M2)) = n & width ((M1 * M2) + (M2 * M2)) = n )
by MATRIX_1:25;
A7:
( len ((M1 * M1) + (M1 * M2)) = n & width ((M1 * M1) + (M1 * M2)) = n )
by MATRIX_1:25;
thus
( M1 commutes_with M2 implies (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) )
:: thesis: ( (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) implies M1 commutes_with M2 )proof
assume A8:
M1 commutes_with M2
;
:: thesis: (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
(M1 + M2) * (M1 + M2) =
((M1 + M2) * M1) + ((M1 + M2) * M2)
by A1, A2, A3, MATRIX_4:62
.=
((M1 * M1) + (M2 * M1)) + ((M1 + M2) * M2)
by A1, A2, MATRIX_4:63
.=
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2))
by A1, A2, MATRIX_4:63
.=
(((M1 * M1) + (M2 * M1)) + (M1 * M2)) + (M2 * M2)
by A4, A5, A6, MATRIX_3:5
;
hence
(M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
by A8, Def1;
:: thesis: verum
end;
assume A9:
(M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
; :: thesis: M1 commutes_with M2
(M1 + M2) * (M1 + M2) =
((M1 + M2) * M1) + ((M1 + M2) * M2)
by A1, A2, A3, MATRIX_4:62
.=
((M1 * M1) + (M2 * M1)) + ((M1 + M2) * M2)
by A1, A2, MATRIX_4:63
.=
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2))
by A1, A2, MATRIX_4:63
.=
(((M1 * M1) + (M2 * M1)) + (M1 * M2)) + (M2 * M2)
by A4, A5, A6, MATRIX_3:5
;
then
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2)) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
by A4, A5, A6, A9, MATRIX_3:5;
then
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2)) = ((M1 * M1) + (M1 * M2)) + ((M1 * M2) + (M2 * M2))
by A4, A5, A7, MATRIX_3:5;
then
(M1 * M1) + (M2 * M1) = (M1 * M1) + (M1 * M2)
by A6, A7, MATRIX_4:4;
then
(M2 * M1) + (M1 * M1) = (M1 * M1) + (M1 * M2)
by A4, A5, MATRIX_3:4;
then
(M2 * M1) + (M1 * M1) = (M1 * M2) + (M1 * M1)
by A4, MATRIX_3:4;
then
M2 * M1 = M1 * M2
by A4, A5, MATRIX_4:4;
hence
M1 commutes_with M2
by Def1; :: thesis: verum