| ∀ r, r0, i, j, st. r = r0 ∨ getarray(r, i, j, putArray(vals0, r0, i, st)) = getarray(r, i, j, st) ⊦ r = r0, getarray(r, i, j, putArray(vals0, r0, i + 1, st)[r0 -- i ', val]) = getarray(r, i, j, st) |
⊦ 0 < j → getarray(r, i, j, st) = st[r -- i '] ' + getarray(r, i + 1, j - 1, st)
⊦ j ≤ 0 → getarray(r, i, j, st) = []
0 < j, ∀ r, r0, i, j, st. r = r0 ∨ getarray(r, i, j, putArray(vals0, r0, i, st)) = getarray(r, i, j, st) ⊦ r = r0, (putArray(vals0, r0, i + 1, st)[r0 -- i ', val][r -- i ']) ' + getarray(r, i + 1, j - 1, putArray(vals0, r0, i + 1, st)[r0 -- i ', val]) = getarray(r, i, j, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i])], [EXTRATERMS : (putArray(vals0, r0, i + 1, st)[r0 -- i ', val], j, i, r)]]