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