| (putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)][r -- sks0]) = refval(r1), (putByteArray(bytes0, r0, i + 1, st)[r -- sks]) = refval(r1), fits(r, sks, putByteArray(bytes0, r0, i + 1, st)), okarray(r0, byte_type, putByteArray(bytes0, r0, i + 1, st)), okbytearray(r0, st), fits(r, sks, putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)]), fits(r, sks0, putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)]), r0 ∈ putByteArray(bytes0, r0, i + 1, 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] ⊦ sks0 = sks, sks0 = [], sks = [], r1 = jvmref, r0 = jvmref, junkref(str, r, st), junkref(str, r, putByteArray(bytes0, r0, i + 1, st)), fits(r, sks0, 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] |
⊦ ¬ junkref(str, r, st) ∧ okarray(r1, byte_type, st) ∧ fits(r, sks, st[r1 -- i ', byteval(by)]) → fits(r, sks, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (str, r, putByteArray(bytes0, r0, i + 1, st), r0, sks0, i, by)]]