| ⊦ putArray(vals + val ', r, i, st) = putArray(vals, r, i, st[r -- (i + n→i(# vals)) ', val]) |
⊦ rk .ref ≠ r ∨ is_fskey(rk .key) ∨ rk .key .index < j ∨ n→i(# vals) + j ≤ rk .key .index → (putArray(vals, r, j, st)[rk, val]) = putArray(vals, r, j, st[rk, val])
(r -- (i + n→i(# vals)) ') .ref ≠ r ∨ is_fskey((r -- (i + n→i(# vals)) ') .key) ∨ (r -- (i + n→i(# vals)) ') .key .index < i ∨ n→i(# vals) + i ≤ (r -- (i + n→i(# vals)) ') .key .index ⊦ putArray(vals + val ', r, i, st) = (putArray(vals, r, i, st)[r -- (i + n→i(# vals)) ', val])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (r -- sk) .ref = r], [CSIMPSEQ : ⊦ (r -- sk) .key = sk], [CSIMPSEQ : ⊦ ¬ is_fskey(i ')], [CSIMPSEQ : ⊦ i ' .index = i], [CSIMPSEQ : ⊦ i + j < j ↔ i < 0], [CSIMPSEQ : ⊦ ¬ n→i(n) < 0], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j ≤ i0 + j ↔ i ≤ i0], [CSIMPSEQ : ⊦ n→i(m) ≤ n→i(n) ↔ m ≤ n], [CSIMPSEQ : ⊦ ¬ m ≤ n ↔ n < m], [CSIMPSEQ : ⊦ ¬ n < n])], [EXTRATERMS : (val, r -- (i + n→i(# vals)) ', st, i, r, vals)]]