let n be Element of NAT ; :: thesis: for A, B being Matrix of n, REAL st n > 0 holds
for i, j being Element of NAT st [i,j] in Indices (A * B) holds
(A * B) * i,j = (A * (Col B,j)) . i
let A, B be Matrix of n, REAL ; :: thesis: ( n > 0 implies for i, j being Element of NAT st [i,j] in Indices (A * B) holds
(A * B) * i,j = (A * (Col B,j)) . i )
assume A1:
n > 0
; :: thesis: for i, j being Element of NAT st [i,j] in Indices (A * B) holds
(A * B) * i,j = (A * (Col B,j)) . i
let i, j be Element of NAT ; :: thesis: ( [i,j] in Indices (A * B) implies (A * B) * i,j = (A * (Col B,j)) . i )
assume A2:
[i,j] in Indices (A * B)
; :: thesis: (A * B) * i,j = (A * (Col B,j)) . i
then
( i in dom (A * B) & j in Seg (width (A * B)) )
by ZFMISC_1:106;
then A3:
i in Seg (len (A * B))
by FINSEQ_1:def 3;
A4:
( len (A * B) = n & width (A * B) = n )
by MATRIX_1:25;
A5:
len B = n
by MATRIX_1:def 3;
A6:
( len A = n & width A = n )
by MATRIX_1:25;
A7:
width A = len B
by A5, MATRIX_1:25;
A8:
(A * B) * i,j = (Line A,i) "*" (Col B,j)
by A2, A7, MATRPROB:39;
A9:
width A = len (Col B,j)
by A5, A6, MATRIX_1:def 9;
then
i in Seg (len (A * (Col B,j)))
by A1, A3, A4, A6, MATRIXR1:61;
hence
(A * B) * i,j = (A * (Col B,j)) . i
by A1, A6, A8, A9, MATRPROB:41; :: thesis: verum