| ⊦ 0 ≤ i ∧ 0 ≤ j ∧ i + j ≤ n→i(# vals) → getarray(r, i, j, addarray(r, ty, vals, st)) = sublist(i→n(i), i→n(j), vals) |
⊦ addarray(r, ty, vals, st) = addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])
i + j ≤ n→i(# vals), 0 ≤ i, 0 ≤ j ⊦ getarray(r, i, j, addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])) = sublist(i→n(i), i→n(j), vals)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j])]]