| ∀ 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(val0 ' + vals0 + val ', r, j, st) |
⊦ putArray(val ' + vals, r, i, st) = (putArray(vals, r, i + 1, st)[r -- i ', 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 + val ', r, j + 1, st)[r -- j ', val0])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, j, r, vals0 + val ', val0)]]