| 0 ≤ i, i + n→i(# vals) ≤ n→i(# vals0), is_fskey(sk) ⊦ (addarray(r0, ty, vals0, st)[r0 -- sk]) = (addarray(r0, ty, firstn(i→n(i), vals0) + vals + restn(i→n(i) + # vals, vals0), st)[r0 -- sk]) |
⊦ is_fskey(sk) ↔ (∃ fs. sk = fs ')
0 ≤ i, i + n→i(# vals) ≤ n→i(# vals0), ∃ fs. sk = fs ' ⊦ (addarray(r0, ty, vals0, st)[r0 -- sk]) = (addarray(r0, ty, firstn(i→n(i), vals0) + vals + restn(i→n(i) + # vals, vals0), st)[r0 -- sk])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (sk)]]