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