| ¬ (st ⊆ st0 ∧ is_arrayref(r, i + j, st) ∧ 0 ≤ i) ⊦ st ⊆ st0 ∧ is_arrayref(r, i + j, st) ∧ 0 ≤ i → getarray(r, i, j, st0) = getarray(r, i, j, st) |
⊦ is_arrayref(r, i, st) ↔ (∀ j. 0 ≤ j ∧ j < i → r -- j ' ∈ st)
st ⊆ st0, j0 < i + j, 0 ≤ i, 0 ≤ j0, 0 < i + j, ∀ j0. ¬ j0 < 0 ∧ ¬ i + j ≤ j0 → r -- j0 ' ∈ st ⊦ getarray(r, i, j, st0) = getarray(r, i, j, st), r -- j0 ' ∈ st
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i])]]