| r -- j ' ∈ addarray(r, ty, vals1, st) ↔ 0 ≤ j ∧ j < n→i(# vals1), r -- j ' ∈ addarray(r, ty, vals1, st) ∨ j = n→i(# vals1), ∀ st, ty, j, r, vals0. # vals0 < # vals1 + 1 → (true → (r -- j ' ∈ addarray(r, ty, vals0, st) ↔ ¬ j < 0 ∧ ¬ n→i(# vals0) ≤ j ∨ r -- j ' ∈ st)) ⊦ r -- j ' ∈ st, ¬ j < 0 ∧ ¬ n→i(# vals1) < j |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ n→i(n) < 0], [CSIMPFORWARD : ⊦ j < i ∧ i ≤ 0 → j < 0], [CSIMPSEQ : ⊦ i < 0 ∧ 0 ≤ j → i < j], [CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)], [CSIMPSEQ : ⊦ i < j → ¬ j < i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i < i0 → (¬ i0 < i ↔ true)], [CSIMPFORWARD : ⊦ n→i(m) < j → 0 < j], [CSIMPFORWARD : ⊦ i < i0 ∧ i = i1 → i1 < i0], [CSIMPSEQ : 0 ≤ i ⊦ ((* i)) < n→i(n) ↔ i→n(i) < n], [CSIMPSEQ : ⊦ 0 < n ↔ n ≠ 0], [CSIMPSEQ : ⊦ # vals = 0 ↔ vals = []], [CSIMPSEQ : ⊦ n→i(m) < n→i(n) ↔ m < n], [CSIMPSEQ : ⊦ ¬ n < n])]]