| (putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)][r -- sks0]) = refval(r1), (putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)][r -- sks]) = refval(r1), 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)]), junkref(str, r, 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, junkref(str, r, st), (putByteArray(bytes0, r0, i + 1, st)[r -- sks]) = refval(r1) ∧ (putByteArray(bytes0, r0, i + 1, st)[r -- sks0]) = refval(r1) ∧ fits(r, sks0, putByteArray(bytes0, r0, i + 1, st)) ∧ fits(r, sks, 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] |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ okbytearray(r0, st) ∧ ¬ junkref(str, r, st) → ¬ junkref (str, r, putByteArray(bytes, r0, i, st))], [CSIMPELIM : is_referencevalue(val) ⊦ r = val .refval ↔ val = refval(r)])], [EXTRATERMS : (st[r -- sks], r2)]]