| n→i(# vals) > 0, ∀ st, ty, r, vals0. # vals0 < # vals → (true → putArray(vals0, r, 0, addarray(r, initial_value(ty), n→i(# vals0), st)) = addarray(r, vals0, 0, st)) ⊦ putArray(vals, r, 0, addarray(r, initial_value(ty), n→i(# vals) - 1, st)[r -- (n→i(# vals) - 1) ', initial_value(ty)]) = addarray(r, vals, 0, st) |
∀ st, ty, r, vals0. # vals0 < # vals → (true → putArray(vals0, r, 0, addarray(r, initial_value(ty), n→i(# vals0), st)) = addarray(r, vals0, 0, st)) ⊦ putArray(vals, r, 0, addarray(r, initial_value(ty), n→i(# vals) - 1, st)[r -- (n→i(# vals) - 1) ', initial_value(ty)]) = addarray(r, vals, 0, st), vals = []
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # vals = 0 ↔ vals = []], [CSIMPSEQ : ⊦ 0 < n ↔ n ≠ 0], [CSIMPSEQ : 0 ≤ i ⊦ ((* i)) < n→i(n) ↔ i→n(i) < n], [CSIMPSEQ : ⊦ i > j ↔ j < i])]]