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