| st[r -- _type] = typeval(mkarraytype(byte_type)), st[r -- _length] = intval(i0), j < i0, 0 ≤ i0, r ∈ st, r -- _type ∈ st, r -- _length ∈ st, 0 ≤ j, 0 < i0, ∀ j0. ¬ j0 < 0 ∧ ¬ i0 ≤ j0 → is_bytevalue(st[r -- j0 ']), ∀ j0. ¬ j0 < 0 ∧ ¬ i0 ≤ j0 → r -- j0 ' ∈ st ⊦ r = jvmref, is_bytevalue(putByteArray(bytes, r, i, st)[r -- j ']) |
⊦ i < j ∨ n→i(# bytes) + j ≤ i → (putByteArray(bytes, r, j, st)[r0 -- i ']) = st[r0 -- i ']
j < i ∨ n→i(# bytes) + i ≤ j, st[r -- _type] = typeval(mkarraytype(byte_type)), st[r -- _length] = intval(i0), j < i0, 0 ≤ i0, r ∈ st, r -- _type ∈ st, r -- _length ∈ st, 0 ≤ j, 0 < i0, ∀ j0. ¬ j0 < 0 ∧ ¬ i0 ≤ j0 → is_bytevalue(st[r -- j0 ']), ∀ j0. ¬ j0 < 0 ∧ ¬ i0 ≤ j0 → r -- j0 ' ∈ st ⊦ r = jvmref, is_bytevalue(st[r -- j '])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i ≤ j ∧ j < i + n→i(# bytes) → (putByteArray(bytes, r, i, st) [r -- j ' ] ) = byteval(bytes[i→n(j - i)])], [CSIMPSEQ : ⊦ is_bytevalue(byteval(by))])], [EXTRATERMS : (j, r, st, i, r, bytes)]]