| ∃ i2. ¬ i2 < i0 ∧ ¬ i0 + i3 ≤ i2 ∧ st[r -- i2 '] = val, 0 < i3, val ∈ getarray(r, i0, i3, st), ∀ st, i0, r, val, i. i→n(i) < i→n(i3 + 1) → (val ∈ getarray(r, i0, i, st) ∧ 0 < i → (∃ i2. ¬ i2 < i0 ∧ ¬ i0 + i ≤ i2 ∧ st[r -- i2 '] = val)) ⊦ ∃ i. ¬ i < i0 ∧ ¬ i0 + i3 < i ∧ st[r -- i '] = val |
i0 ≤ i, i < i0 + i3, st[r -- i '] ∈ getarray(r, i0, i3, st), 0 < i3, ∀ st, i0, r, val, i. i→n(i) < i→n(i3 + 1) → (val ∈ getarray(r, i0, i, st) ∧ 0 < i → (∃ i2. ¬ i2 < i0 ∧ ¬ i0 + i ≤ i2 ∧ st[r -- i2 '] = val)) ⊦ ∃ i1. ¬ i1 < i0 ∧ ¬ i0 + i3 < i1 ∧ st[r -- i1 '] = st[r -- i ']
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ 0 < i → i1 < i1 + i], [CSIMPFORWARD : ⊦ i ≤ j ∧ j < j0 → i < j0], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i])]]