| ∀ r0, i0, st0. getarray(r0, i0, n→i(# vals0), putArray(vals0, r0, i0, st0)) = vals0 ⊦ vals0 = [], getarray(r, i, n→i(# vals0), putArray(vals0, r, i + 1, st)[r -- i ', val]) + vals0[i→n(n→i(# vals0) - 1)] ' = val ' + vals0 |
n→i(# vals0) = i1 + 1, ∀ r0, i0, st0. getarray(r0, i0, n→i(# vals0), putArray(vals0, r0, i0, st0)) = vals0 ⊦ vals0 = [], getarray(r, i, n→i(# vals0), putArray(vals0, r, i + 1, st)[r -- i ', val]) + vals0[i→n(i1)] ' = val ' + vals0
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ i0 = i - j ↔ i = i0 + j])], [EXTRATERMS : (n→i(# vals0), 1, i1)]]