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