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