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

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