let K be Field; :: thesis: for n, m, k being Nat

for M1 being Matrix of n,m,K

for M2 being Matrix of m,k,K st width M1 = len M2 & 0 < len M1 & 0 < len M2 holds

M1 * M2 is Matrix of n,k,K

let n, m, k be Nat; :: thesis: for M1 being Matrix of n,m,K

for M2 being Matrix of m,k,K st width M1 = len M2 & 0 < len M1 & 0 < len M2 holds

M1 * M2 is Matrix of n,k,K

let M1 be Matrix of n,m,K; :: thesis: for M2 being Matrix of m,k,K st width M1 = len M2 & 0 < len M1 & 0 < len M2 holds

M1 * M2 is Matrix of n,k,K

let M2 be Matrix of m,k,K; :: thesis: ( width M1 = len M2 & 0 < len M1 & 0 < len M2 implies M1 * M2 is Matrix of n,k,K )

assume that

A1: width M1 = len M2 and

A2: 0 < len M1 and

A3: 0 < len M2 ; :: thesis: M1 * M2 is Matrix of n,k,K

width M1 = m by A1, MATRIX_0:def 2;

then A4: ( len M1 = n & width M2 = k ) by A1, A3, MATRIX_0:20, MATRIX_0:def 2;

( len (M1 * M2) = len M1 & width (M1 * M2) = width M2 ) by A1, MATRIX_3:def 4;

hence M1 * M2 is Matrix of n,k,K by A2, A4, MATRIX_0:20; :: thesis: verum

for M1 being Matrix of n,m,K

for M2 being Matrix of m,k,K st width M1 = len M2 & 0 < len M1 & 0 < len M2 holds

M1 * M2 is Matrix of n,k,K

let n, m, k be Nat; :: thesis: for M1 being Matrix of n,m,K

for M2 being Matrix of m,k,K st width M1 = len M2 & 0 < len M1 & 0 < len M2 holds

M1 * M2 is Matrix of n,k,K

let M1 be Matrix of n,m,K; :: thesis: for M2 being Matrix of m,k,K st width M1 = len M2 & 0 < len M1 & 0 < len M2 holds

M1 * M2 is Matrix of n,k,K

let M2 be Matrix of m,k,K; :: thesis: ( width M1 = len M2 & 0 < len M1 & 0 < len M2 implies M1 * M2 is Matrix of n,k,K )

assume that

A1: width M1 = len M2 and

A2: 0 < len M1 and

A3: 0 < len M2 ; :: thesis: M1 * M2 is Matrix of n,k,K

width M1 = m by A1, MATRIX_0:def 2;

then A4: ( len M1 = n & width M2 = k ) by A1, A3, MATRIX_0:20, MATRIX_0:def 2;

( len (M1 * M2) = len M1 & width (M1 * M2) = width M2 ) by A1, MATRIX_3:def 4;

hence M1 * M2 is Matrix of n,k,K by A2, A4, MATRIX_0:20; :: thesis: verum