| r -- i ' ∈ st .keys, 0 < j, r -- _length ∈ st, j + i ≤ st[r -- _length] .intval, r ∈ st, 0 ≤ i, 0 < j, ∀ i0. ¬ i0 < i ∧ ¬ i + j ≤ i0 → r -- i0 ' ∈ st, ∀ st0, i, st, r, j0. i→n(j0) < i→n(j) → ( true → ( r -- _length ∈ st ∧ 0 ≤ i ∧ j0 ≤ st[r -- _length] .intval - i ∧ (∀ i1. i ≤ i1 ∧ i1 < i + j0 → r -- i1 ' ∈ st) → getarray(r, i, j0, st0 ∪ st) = getarray(r, i, j0, st))) ⊦ st[r -- i '] ' + getarray(r, i + 1, j - 1, st0 ∪ st) = st[r -- i '] ' + getarray(r, i + 1, j - 1, st) |
0 < j, 0 ≤ i, r ∈ st, j + i ≤ st[r -- _length] .intval, r -- _length ∈ st, r -- i ' ∈ st .keys, ∀ i0. ¬ i0 < i ∧ ¬ i + j ≤ i0 → r -- i0 ' ∈ st, ∀ st0, i, st, r, j0. i→n(j0) < i→n(j) → ( true → ( r -- _length ∈ st ∧ 0 ≤ i ∧ j0 ≤ st[r -- _length] .intval - i ∧ (∀ i1. i ≤ i1 ∧ i1 < i + j0 → r -- i1 ' ∈ st) → getarray(r, i, j0, st0 ∪ st) = getarray(r, i, j0, st))) ⊦ getarray(r, i + 1, j - 1, st0 ∪ st) = getarray(r, i + 1, j - 1, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk ∈ st .keys → st .keys ≠ ∅], [CSIMPFORWARD : ⊦ rk ∈ rks → rks ≠ ∅], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ vals + vals0 = vals + vals1 ↔ vals0 = vals1])]]