| 0 ≤ i, i→n(i) < # vals1, ∀ val, st, ty, r, i, vals0. # vals0 < # vals1 + 1 → (true → (0 ≤ i ∧ i→n(i) < # vals0 → (addarray(r, ty, vals0, st)[r -- i ', val]) = addarray(r, ty, vals0[i→n(i), val], st))) ⊦ vals1 = [], i = n→i(# vals1), (addarray(r, ty, vals1, st)[r -- i ', val][r -- n→i(# vals1) ', val0][r -- _length, intval(n→i(# vals1) + 1)]) = (addarray(r, ty, vals1[i→n(i), val], st)[r -- n→i(# vals1) ', val0][r -- _length, intval(n→i(# vals1) + 1)]) |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ ¬ n < n], [CSIMPSEQ : ⊦ m < n + 1 ↔ ¬ n < m], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ ¬ m < n ↔ n ≤ m], [CSIMPSEQ : ⊦ m < n → (n ≤ m ↔ false)])], [EXTRATERMS : (val, st, ty, r, i, vals1)]]