| by ' + bytes0 ≠ [], (putByteArray((by ' + bytes0) .rest, r0, i + 1, st)[r0 -- i ', byteval((by ' + bytes0) .first)][r -- sks0]) = refval(r1), (putByteArray((by ' + bytes0) .rest, r0, i + 1, st)[r0 -- i ', byteval((by ' + bytes0) .first)][r -- sks]) = refval(r1), okbytearray(r0, st), fits(r, sks, putByteArray((by ' + bytes0) .rest, r0, i + 1, st)[r0 -- i ', byteval((by ' + bytes0) .first)]), fits(r, sks0, putByteArray((by ' + bytes0) .rest, r0, i + 1, st)[r0 -- i ', byteval((by ' + bytes0) .first)]), ∀ 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), 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)[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)]), ∀ 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), fits(r, sks, st) ∧ fits(r, sks0, st) ∧ st[r -- sks] .refval ≠ jvmref ∧ st[r -- sks] = st[r -- sks0]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ by ' + bytes ≠ []], [CSIMPSEQ : ⊦ (by ' + bytes) .first = by], [CSIMPSEQ : ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1], [CSIMPSEQ : ⊦ (by ' + bytes) .rest = bytes])]]