| n→i(# vals) + j = i0 + 1, 0 ≤ j + n→i(# vals), j ≤ i, i ≤ j + n→i(# vals), 0 ≤ j, 0 ≤ i, ∀ st, val, r, j, i, vals0. # vals0 < # vals → ( 0 ≤ i ∧ 0 ≤ j ∧ i ≤ j + n→i(# vals0) ∧ j ≤ i ∧ 0 ≤ j + n→i(# vals0) → putArray(vals0, r, j, addarray(r, val, i, st)) = addarray(r, mklist(val, i→n(j)) + vals0, 0, st)) ⊦ mklist(val, i→n(j)) + vals = [], vals = [], putArray(vals, r, j, addarray(r, val, i, st)) = (addarray(r, mklist(val, i→n(j)) + vals .butlast, 0, st)[r -- i0 ', vals .last]) |
n→i(# vals) + j = i0 + 1, 0 ≤ i, 0 ≤ j, i ≤ i0 + 1, j ≤ i, (~1) ≤ i0, ∀ st, val, r, j, i, vals0. # vals0 < # vals → ( 0 ≤ i ∧ 0 ≤ j ∧ i ≤ j + n→i(# vals0) ∧ j ≤ i ∧ 0 ≤ j + n→i(# vals0) → putArray(vals0, r, j, addarray(r, val, i, st)) = addarray(r, mklist(val, i→n(j)) + vals0, 0, st)) ⊦ putArray(vals, r, j, addarray(r, val, i, st)) = (addarray(r, mklist(val, i→n(j)) + vals .butlast, 0, st)[r -- i0 ', vals .last]), vals = [], mklist(val, i→n(j)) + vals = []
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i = j + n→i(n) → j ≤ i], [CSIMPSEQ : ⊦ ((* j)) ≤ i0 + ((* j0)) ↔ j - j0 ≤ i0], [CSIMPFORWARD : ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i])]]