| 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])) = Σ(B.rows, λ k. Σ(C.rows, λ k0. A[m, k] * B[k, k0] * C[k0, n])) |
⊦ Σ(n, λ k0. Σ(m, λ k1. nnf(k0, k1))) = Σ(m, λ k1. Σ(n, λ k0. nnf(k0, k1)))
Used simplifier rules: associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: λ n0, n1. C[n0, n] * A[m, n1] * B[n1, n0], B.rows, C.rows