| ⊦ (addarray(r, ty, val ' + vals, st)[r -- 0 ', val0]) = addarray(r, ty, val0 ' + vals, st) |
⊦ 0 ≤ i ∧ i→n(i) < # vals → (addarray(r, ty, vals, st)[r -- i ', val]) = addarray(r, ty, vals[i→n(i), val], st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ val + vals = val ' + vals], [CSIMPSEQ : ⊦ (val ' + vals)[0, val0] = val0 + vals], [CSIMPSEQ : ⊦ # (vals + vals0) = # vals + # vals0], [CSIMPSEQ : ⊦ # val ' = 0 +1], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ 0 < n ↔ n ≠ 0], [CSIMPSEQ : ⊦ m + 1 ≠ 0], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = n + m])], [EXTRATERMS : (val0, 0, st, val ' + vals, ty, r)]]