| 0 ≤ i, 0 ≤ i0 + n→i(# vals), 0 ≤ i0 + i + n→i(# vals), 0 < i0 ⊦ r -- i1 ' ∈ addarray(r, ty, i0 + i + n→i(# vals), st) ∨ i ≤ i1 ∧ i1 < i + n→i(# vals) ↔ r -- i1 ' ∈ st ∨ ¬ i1 < 0 ∧ ¬ i + n→i(# vals) + i0 ≤ i1 |
⊦ r ≠ r0 ∨ r = r0 ∧ is_fskey(sk) ∧ sk ≠ _length ∧ sk ≠ _type ∨ r = r0 ∧ is_indexkey(sk) ∧ (sk .index < 0 ∨ j ≤ sk .index) → (r0 -- sk ∈ addarray(r, ty, j, st) ↔ r0 -- sk ∈ st)
⊦ 0 ≤ j ∧ j < i → r -- j ' ∈ addarray(r, ty, i, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ ¬ is_fskey(i ')], [CSIMPSEQ : ⊦ is_indexkey(i ')], [CSIMPSEQ : ⊦ i ' .index = i], [CSIMPSEQ : ⊦ i < 0 ∧ 0 ≤ j → i < j], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)], [CSIMPFORWARD : ⊦ i ≤ j ∧ j < j0 → i < j0], [CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ i < i0 ∧ i0 < i1 → i < i1], [CSIMPFORWARD : ⊦ i < j ∧ j ≤ j0 → i < j0], [CSIMPFORWARD : ⊦ j < i ∧ i ≤ 0 → j < 0], [CSIMPSEQ : ⊦ i < i + j ↔ 0 < j], [CSIMPSEQ : 0 ≤ i ⊦ ((* i)) < n→i(n) ↔ i→n(i) < n], [CSIMPSEQ : ⊦ 0 < n ↔ n ≠ 0], [CSIMPSEQ : ⊦ # vals = 0 ↔ vals = []], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i + j < i + i0 ↔ j < i0], [CSIMPSEQ : ⊦ i + j < j ↔ i < 0], [CSIMPSEQ : ⊦ i < j → ¬ j < i])], [EXTRATERMS : (st, i0 + i + n→i(# vals), ty, r, i1 ', r)]]