let n be Nat; 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; 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; ( n > 0 implies ( M1 commutes_with M2 iff (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) ) )
assume A1:
n > 0
; ( M1 commutes_with M2 iff (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) )
A2:
( len (M1 * M2) = n & width (M1 * M2) = n )
by MATRIX_0:24;
A3:
( len ((M1 * M1) + (M1 * M2)) = n & width ((M1 * M1) + (M1 * M2)) = n )
by MATRIX_0:24;
A4:
( len ((M1 * M2) + (M2 * M2)) = n & width ((M1 * M2) + (M2 * M2)) = n )
by MATRIX_0:24;
A5:
( len (M1 * M1) = n & width (M1 * M1) = n )
by MATRIX_0:24;
A6:
( len M1 = n & width M1 = n )
by MATRIX_0:24;
A7:
( len ((M1 * M1) + (M2 * M1)) = n & width ((M1 * M1) + (M2 * M1)) = n )
by MATRIX_0:24;
A8:
( len M2 = n & width M2 = n )
by MATRIX_0:24;
A9:
( len (M1 + M2) = n & width (M1 + M2) = n )
by MATRIX_0:24;
thus
( M1 commutes_with M2 implies (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) )
( (M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2) implies M1 commutes_with M2 )proof
assume A10:
M1 commutes_with M2
;
(M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
(M1 + M2) * (M1 + M2) =
((M1 + M2) * M1) + ((M1 + M2) * M2)
by A1, A6, A8, A9, MATRIX_4:62
.=
((M1 * M1) + (M2 * M1)) + ((M1 + M2) * M2)
by A1, A6, A8, MATRIX_4:63
.=
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2))
by A1, A6, A8, MATRIX_4:63
.=
(((M1 * M1) + (M2 * M1)) + (M1 * M2)) + (M2 * M2)
by A2, A7, MATRIX_3:3
;
hence
(M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
by A10;
verum
end;
assume A11:
(M1 + M2) * (M1 + M2) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
; M1 commutes_with M2
A12:
( len (M2 * M1) = n & width (M2 * M1) = n )
by MATRIX_0:24;
(M1 + M2) * (M1 + M2) =
((M1 + M2) * M1) + ((M1 + M2) * M2)
by A1, A6, A8, A9, MATRIX_4:62
.=
((M1 * M1) + (M2 * M1)) + ((M1 + M2) * M2)
by A1, A6, A8, MATRIX_4:63
.=
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2))
by A1, A6, A8, MATRIX_4:63
.=
(((M1 * M1) + (M2 * M1)) + (M1 * M2)) + (M2 * M2)
by A2, A7, MATRIX_3:3
;
then
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2)) = (((M1 * M1) + (M1 * M2)) + (M1 * M2)) + (M2 * M2)
by A2, A7, A11, MATRIX_3:3;
then
((M1 * M1) + (M2 * M1)) + ((M1 * M2) + (M2 * M2)) = ((M1 * M1) + (M1 * M2)) + ((M1 * M2) + (M2 * M2))
by A2, A3, MATRIX_3:3;
then
(M1 * M1) + (M2 * M1) = (M1 * M1) + (M1 * M2)
by A7, A4, A3, MATRIX_4:4;
then
(M2 * M1) + (M1 * M1) = (M1 * M1) + (M1 * M2)
by A5, A12, MATRIX_3:2;
then
(M2 * M1) + (M1 * M1) = (M1 * M2) + (M1 * M1)
by A5, A2, MATRIX_3:2;
hence
M1 commutes_with M2
by A5, A2, A12, MATRIX_4:4; verum