| 1 < 2 + i2, getarray(r, i, 2 + i2 - 1, st) + st[r -- (i + 2 + i2 - 1) '] = val ' + vals, (~1) ≤ i2, 0 < i2, val ∈ getarray(r, i, 2 + i2 - 1, st) + st[r -- (i + 2 + i2 - 1) '], ∀ i1, r, i, st. i→n(i1) < i→n(i2 + 1) → (0 ≤ i1 → getarray(r, i, i1 + 1, st) .rest = getarray(r, i + 1, i1, st)) ⊦ vals = getarray(r, i + 1, i2, st) + st[r -- (i + i2 + 1) '] ' |
getarray(r, i, 1 + i2, st) + st[r -- (1 + i + i2) '] ' = val ' + vals, 0 ≤ i2, 0 < i2, ∀ i1, r, i, st. i→n(i1) < i→n(i2 + 1) → (0 ≤ i1 → getarray(r, i, i1 + 1, st) .rest = getarray(r, i + 1, i1, st)) ⊦ vals = getarray(r, i + 1, i2, st) + st[r -- (i + i2 + 1) '] ', ¬ st[r -- (1 + i + i2) '] ∈ vals ∧ st[r -- (1 + i + i2) '] ≠ val, val ≠ st[r -- (1 + i + i2) '] ∧ ¬ val ∈ getarray(r, i, 1 + i2, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ val ' + vals = vals0 → val ∈ vals0], [CSIMPFORWARD : ⊦ vals + val ' = vals0 → val ∈ vals0], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ val ∈ val0 ' ↔ val = val0], [CSIMPSEQ : ⊦ val ∈ vals + vals0 ↔ ¬ ¬ (val ∈ vals ∨ val ∈ vals0)], [CSIMPSEQ : i0 ≠ 0, i0 ≤ i ⊦ ((* i)) ≤ j → ((* i0)) ≤ j], [CSIMPSEQ : ⊦ (~1) < i ↔ 0 ≤ i], [CSIMPSEQ : ⊦ ((* j)) < i0 + ((* j0)) ↔ j - j0 < i0], [CSIMPSEQ : ⊦ vals + val = vals + val '], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ ((* i)) + i0 - ((* j)) = (i - j) + i0])]]