| i0 < i ∨ n→i(# vals) + i ≤ i0, 0 ≤ n→i(# vals) + i, 0 ≤ j, 0 ≤ i, i ≤ j, j ≤ n→i(# vals) + i ⊦ (addarray(r, ty, j, st)[r -- i0 ']) = (addarray(r, ty, mklist(initial_value(ty), i→n(i)) + vals, st)[r -- i0 ']), ¬ i0 < 0 ∧ ¬ i + n→i(# vals) ≤ i0 |
⊦ i < 0 ∨ j ≤ i → (addarray(r, ty, j, st)[r -- i ']) = st[r -- i ']
⊦ 0 ≤ j ∧ j < i → (addarray(r, ty, i, st)[r -- j ']) = initial_value(ty)
i0 < 0 ∨ j ≤ i0, i0 < i ∨ n→i(# vals) + i ≤ i0, 0 ≤ n→i(# vals) + i, 0 ≤ j, 0 ≤ i, i ≤ j, j ≤ n→i(# vals) + i ⊦ st[r -- i0 '] = (addarray(r, ty, mklist(initial_value(ty), i→n(i)) + vals, st)[r -- i0 ']), ¬ i0 < 0 ∧ ¬ i + n→i(# vals) ≤ i0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPFORWARD : ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1], [CSIMPFORWARD : ⊦ i ≤ j ∧ j < j0 → i < j0], [CSIMPFORWARD : ⊦ i < j ∧ j ≤ j0 → i < j0], [CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)])], [EXTRATERMS : (i0, st, j, ty, r)]]