let R be Ring; for n, k, m being Nat st ( k = 0 implies m = 0 ) holds
for r being Element of R
for A being Matrix of k,m,R
for B being Matrix of m,n,R holds (r * A) * B = r * (A * B)
let n be Nat; for k, m being Nat st ( k = 0 implies m = 0 ) holds
for r being Element of R
for A being Matrix of k,m,R
for B being Matrix of m,n,R holds (r * A) * B = r * (A * B)
let k, m be Nat; ( ( k = 0 implies m = 0 ) implies for r being Element of R
for A being Matrix of k,m,R
for B being Matrix of m,n,R holds (r * A) * B = r * (A * B) )
assume A1:
( k = 0 implies m = 0 )
; for r being Element of R
for A being Matrix of k,m,R
for B being Matrix of m,n,R holds (r * A) * B = r * (A * B)
let r be Element of R; for A being Matrix of k,m,R
for B being Matrix of m,n,R holds (r * A) * B = r * (A * B)
let A be Matrix of k,m,R; for B being Matrix of m,n,R holds (r * A) * B = r * (A * B)
let B be Matrix of m,n,R; (r * A) * B = r * (A * B)
set LHS = (r * A) * B;
set RHS = r * (A * B);
per cases
( k = 0 or k > 0 )
;
suppose A8:
k > 0
;
(r * A) * B = r * (A * B)A9:
(
width A = len B &
width (r * A) = len B )
A10:
(
len ((r * A) * B) = len (r * (A * B)) &
width ((r * A) * B) = width (r * (A * B)) )
for
i,
j being
Nat st
[i,j] in Indices ((r * A) * B) holds
((r * A) * B) * (
i,
j)
= (r * (A * B)) * (
i,
j)
proof
let i,
j be
Nat;
( [i,j] in Indices ((r * A) * B) implies ((r * A) * B) * (i,j) = (r * (A * B)) * (i,j) )
assume A11:
[i,j] in Indices ((r * A) * B)
;
((r * A) * B) * (i,j) = (r * (A * B)) * (i,j)
A12:
[i,j] in Indices (r * (A * B))
A13:
[i,j] in Indices (A * B)
A14:
Line (
(r * A),
i)
= r * (Line (A,i))
proof
A15:
width (r * A) = width A
by MATRIX_3:def 5;
for
j9 being
Nat st
j9 in Seg (width A) holds
(Line ((r * A),i)) . j9 = (r * (Line (A,i))) . j9
proof
let j9 be
Nat;
( j9 in Seg (width A) implies (Line ((r * A),i)) . j9 = (r * (Line (A,i))) . j9 )
assume A16:
j9 in Seg (width A)
;
(Line ((r * A),i)) . j9 = (r * (Line (A,i))) . j9
[i,j] in [:(dom (A * B)),(Seg (width (A * B))):]
by A13, MATRIX_0:def 4;
then
i in dom (A * B)
by ZFMISC_1:87;
then
i in Seg (len (A * B))
by FINSEQ_1:def 3;
then
i in Seg (len A)
by A9, MATRIX_3:def 4;
then
i in dom A
by FINSEQ_1:def 3;
then
[i,j9] in [:(dom A),(Seg (width A)):]
by A16, ZFMISC_1:87;
then A17:
[i,j9] in Indices A
by MATRIX_0:def 4;
A18:
(Line (A,i)) . j9 = A * (
i,
j9)
by A16, MATRIX_0:def 7;
thus (Line ((r * A),i)) . j9 =
(r * A) * (
i,
j9)
by A15, A16, MATRIX_0:def 7
.=
r * (A * (i,j9))
by A17, MATRIX_3:def 5
.=
(r * (Line (A,i))) . j9
by A16, A18, FVSUM_1:51
;
verum
end;
hence
Line (
(r * A),
i)
= r * (Line (A,i))
by A15, FINSEQ_2:119;
verum
end;
thus ((r * A) * B) * (
i,
j) =
(Line ((r * A),i)) "*" (Col (B,j))
by A9, A11, MATRIX_3:def 4
.=
Sum (mlt ((Line ((r * A),i)),(Col (B,j))))
by FVSUM_1:def 9
.=
Sum (r * (mlt ((Line (A,i)),(Col (B,j)))))
by A9, A14, FVSUM_1:68
.=
r * (Sum (mlt ((Line (A,i)),(Col (B,j)))))
by FVSUM_1:73
.=
r * ((Line (A,i)) "*" (Col (B,j)))
by FVSUM_1:def 9
.=
r * ((A * B) * (i,j))
by A9, A13, MATRIX_3:def 4
.=
(r * (A * B)) * (
i,
j)
by A13, MATRIX_3:def 5
;
verum
end; hence
(r * A) * B = r * (A * B)
by A10, MATRIX_0:21;
verum end; end;