| A.cols = B.rows, B.cols = C.rows, m < A.rows, n < C.cols ⊦ ((A * B) * C)[m, n] = (A * B * C)[m, n], A.rows = 0, C.cols = 0 |
⊦ A.cols = B.rows → (A * B)[m, n] = Σ(A.cols, λ k. A[m, k] * B[k, n])
(A * B).cols = C.rows, A.cols = B.rows, B.cols = C.rows, m < A.rows, n < C.cols ⊦ Σ((A * B).cols, λ k. (A * B)[m, k] * C[k, n]) = (A * B * C)[m, n], A.rows = 0, C.cols = 0
Used simplifier rules: cols-dot: ⊦ A.cols = B.rows → (A * B).cols = B.cols; Used terms: n, m, C, A * B