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