| ⊦ r ≠ r0 → (is_arrayref(r, i, st[r0 -- sk, val0]) ↔ is_arrayref(r, i, st)) |
⊦ is_arrayref(r, i, st) ↔ (∀ j. 0 ≤ j ∧ j < i → r -- j ' ∈ st)
j < i, 0 ≤ j, 0 < i, ∀ j. ¬ j < 0 ∧ ¬ i ≤ j → r -- j ' ∈ st ⊦ r = r0, r -- j ' ∈ st
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ r ≠ r0 → ( r -- sk ∈ st[r0 -- sk0, val] ↔ r -- sk ∈ st)], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i])]]