| (A * B).cols = C.rows, A.cols = B.rows, B.cols = C.rows ⊦ (A * B).rows = (A * B * C).rows ∧ ((A * B) * C).cols = (A * B * C).cols ∧ (m < (A * B).rows ∧ n < ((A * B) * C).cols → ((A * B) * C)[m, n] = (A * B * C)[m, n]) |
A.cols = B.rows, B.cols = C.rows ⊦ A.rows = (A * B * 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])
Used simplifier rules: cols-dot: ⊦ A.cols = B.rows → (A * B).cols = B.cols;%rows-dot: ⊦ A.cols = B.rows → (A * B).rows = A.rows;