| st[r -- _length] = st0[r -- _length], unchanged(str, r, st, st0), okbytearray(r, st), j < st0[r -- _length] .intval, 0 ≤ j, 0 < st0[r -- _length] .intval ⊦ st[r -- j '] .byteval = st0[r -- j '] .byteval, r = jvmref, unchangedNorec(r, st, st0) |
⊦ unchanged(str, r, st, st0) ↔ (∀ r0. (path∃(str, r, r0, st) ↔ path∃(str, r, r0, st0)) ∧ (path∃(str, r, r0, st) → unchangedNorec(r0, st, st0)))
st[r -- _length] = st0[r -- _length], ∀ r0. (path∃(str, r, r0, st) ↔ path∃(str, r, r0, st0)) ∧ (path∃(str, r, r0, st) → unchangedNorec(r0, st, st0)), okbytearray(r, st), j < st0[r -- _length] .intval, 0 ≤ j, 0 < st0[r -- _length] .intval ⊦ st[r -- j '] .byteval = st0[r -- j '] .byteval, r = jvmref, unchangedNorec(r, st, st0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st0, st, r, str)]]