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