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