| n→i(# vals0) + j < i ∨ i < j, ∀ i0, j0, r1, r2, st0. ¬ j0 ≤ i0 ∨ ¬ i0 < n→i(# vals0) + j0 → (r1 -- i0 ' ∈ putArray(vals0, r2, j0, st0) ↔ r1 -- i0 ' ∈ st0) ⊦ r0 -- i ' ∈ (putArray(vals0, r, j + 1, st)[r -- j ', val]) ↔ r0 -- i ' ∈ st |
⊦ r ≠ r0 → (r -- sk ∈ st[r0 -- sk0, val] ↔ r -- sk ∈ st)
¬ r0 ≠ r, n→i(# vals0) + j < i ∨ i < j, ∀ i0, j0, r1, r2, st0. ¬ j0 ≤ i0 ∨ ¬ i0 < n→i(# vals0) + j0 → (r1 -- i0 ' ∈ putArray(vals0, r2, j0, st0) ↔ r1 -- i0 ' ∈ st0) ⊦ r0 -- i ' ∈ (putArray(vals0, r, j + 1, st)[r -- j ', val]) ↔ r0 -- i ' ∈ st
⊦ r ≠ r0 → (r0 -- sk ∈ putArray(vals, r, j, st) ↔ r0 -- sk ∈ st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, j ', r, putArray(vals0, r, j + 1, st), i ', r0)]]