| 1 < j, ∀ j0, r, i, st, r0, fs, val. i→n(j0) < i→n(j) → (true → bytevalues(getarray(r, i, j0, st[r0 -- fs ', val])) = bytevalues(getarray(r, i, j0, st))) ⊦ bytevalues(getarray(r, i, j - 1, st[r0 -- fs ', val]) + (st[r0 -- fs ', val][r -- (i + j - 1) '])) = bytevalues(getarray(r, i, j, st)) |
⊦ bytevalues(vals + vals0) = bytevalues(vals) + bytevalues(vals0)
1 < j, 0 < j, ∀ j0, r, i, st, r0, fs, val. i→n(j0) < i→n(j) → (true → bytevalues(getarray(r, i, j0, st[r0 -- fs ', val])) = bytevalues(getarray(r, i, j0, st))) ⊦ bytevalues(getarray(r, i, j - 1, st[r0 -- fs ', val])) + st[r -- (i + j - 1) '] .byteval ' = bytevalues(getarray(r, i, j, st))
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ bytevalues(val ') = val .byteval '], [CSIMPSEQ : ⊦ vals + val = vals + val '], [CSIMPSEQ : ⊦ fs ' ≠ i '], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ ¬ ¬ (r = r0 ∧ sk = sk0)], [CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))])]]