| ∀ j, r, st, val. 0 ≤ j → (putArray(vals0, r, j, st)[r -- (j + n→i(# vals0)) ', val]) = putArray(vals0 + val ', r, j, st), 0 ≤ j ⊦ (putArray(vals0, r, j + 1, st)[r -- j ', val0][r -- (j + n→i(# (val0 ' + vals0))) ', val]) = (putArray(vals0 + val ', r, j + 1, st)[r -- j ', val0]) |
⊦ putArray(vals + val ', r, i, st) = putArray(vals, r, i, st[r -- (i + n→i(# vals)) ', val])
∀ j, r, st, val. 0 ≤ j → (putArray(vals0, r, j, st)[r -- (j + n→i(# vals0)) ', val]) = putArray(vals0 + val ', r, j, st), 0 ≤ j ⊦ (putArray(vals0, r, j + 1, st)[r -- j ', val0][r -- (j + n→i(# (val0 ' + vals0))) ', val]) = (putArray(vals0, r, j + 1, st[r -- ((j + 1) + n→i(# vals0)) ', val])[r -- j ', val0])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, j + 1, r, val, vals0)]]