| ∀ st, ty, r, vals0. # vals0 < # (vals1 + val ') → (true → putArray(vals0, r, 0, addarray(r, initial_value(ty), n→i(# vals0), st)) = addarray(r, vals0, 0, st)) ⊦ putArray(vals1 + val ', r, 0, addarray(r, initial_value(ty), n→i(# vals1), st)[r -- n→i(# vals1) ', initial_value(ty)]) = (addarray(r, vals1, 0, st)[r -- n→i(# vals1) ', val]) |
⊦ putArray(vals + val ', r, i, st) = putArray(vals, r, i, st[r -- (i + n→i(# vals)) ', val])
∀ st, ty, r, vals0. # vals0 < # (vals1 + val ') → (true → putArray(vals0, r, 0, addarray(r, initial_value(ty), n→i(# vals0), st)) = addarray(r, vals0, 0, st)) ⊦ putArray(vals1, r, 0, addarray(r, initial_value(ty), n→i(# vals1), st)[r -- n→i(# vals1) ', initial_value(ty)][r -- (0 + n→i(# vals1)) ', val]) = (addarray(r, vals1, 0, st)[r -- n→i(# vals1) ', val])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addarray(r, initial_value(ty), n→i(# vals1), st) [r -- n→i(# vals1) ', initial_value(ty) ], 0, r, val, vals1)]]