| (putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)][r -- sks]) = refval(r1), (putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)][r -- sks0]) = refval(r1), fits(r, sks0, putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)]), fits(r, sks, putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)]), okbytearray(r0, st), ∀ r0, i, st, r, sks0, r1, sks, str. (putByteArray(bytes0, r0, i, st)[r -- sks0]) = refval(r1) ∧ (putByteArray(bytes0, r0, i, st)[r -- sks]) = refval(r1) ∧ fits(r, sks, putByteArray(bytes0, r0, i, st)) ∧ fits(r, sks0, putByteArray(bytes0, r0, i, st)) ∧ okbytearray(r0, st) → sks0 = sks ∨ sks0 = [] ∨ sks = [] ∨ r1 = jvmref ∨ junkref(str, r, st) ∨ fits(r, sks, st) ∧ fits(r, sks0, st) ∧ st[r -- sks] .refval ≠ jvmref ∧ st[r -- sks] = st[r -- sks0] ⊦ r1 = jvmref, sks = [], sks0 = [], sks0 = sks, fits(r, sks, putByteArray(bytes0, r0, i + 1, st)), junkref(str, r, st), okbytearray(r0, putByteArray(bytes0, r0, i + 1, st)), fits(r, sks, st) ∧ fits(r, sks0, st) ∧ st[r -- sks] .refval ≠ jvmref ∧ st[r -- sks] = st[r -- sks0] |
⊦ okbytearray(r, st) → okbytearray(r, putByteArray(bytes, r, i, st))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, i + 1, bytes0, r0)]]