| ¬ i→n(i) + # vals ≤ # vals0, n→i(# vals) + i < n→i(# vals0), i + n→i(# vals) + n→i(# restn(i→n(i) + # vals, vals0)) < n→i(# vals0), i0 < n→i(# vals0), 0 ≤ i0, # vals0 ≤ i→n(i0), n→i(# vals) + i ≤ i0, i + n→i(# vals) + n→i(# restn(i→n(i) + # vals, vals0)) ≤ i0, i + n→i(# vals) ≤ n→i(# vals0), 0 ≤ i ⊦ vals0[i→n(i0)] = st[r0 -- i0 '], vals0 = [] |
# vals0 < i→n(i) + # vals, 0 ≤ i, i + n→i(# vals) ≤ n→i(# vals0), i + n→i(# vals) + n→i(# restn(i→n(i) + # vals, vals0)) ≤ i0, n→i(# vals) + i ≤ i0, # vals0 ≤ i→n(i0), 0 ≤ i0, i0 < n→i(# vals0), i + n→i(# vals) + n→i(# restn(i→n(i) + # vals, vals0)) < n→i(# vals0), n→i(# vals) + i < n→i(# vals0) ⊦ vals0 = [], vals0[i→n(i0)] = st[r0 -- i0 ']
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ m < n → n ≠ 0], [CSIMPFORWARD : ⊦ m < n → n ≠ 0], [CSIMPSEQ : ⊦ ¬ m ≤ n ↔ n < m], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0])]]