| 0 ≤ n→i(# vals) + i, 0 ≤ j, 0 ≤ i, i ≤ n→i(# vals0), j ≤ n→i(# vals) + i, ∀ val. val ∈ vals ∨ val ∈ vals0 → is_bytevalue(val) ⊦ r = jvmref, okreftype(refval(r), mkarraytype(byte_type), putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)]) ∧ r ≠ jvmref ∧ r -- _length ∈ (putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)]) ∧ is_integervalue(putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)][r -- _length]) ∧ 0 ≤ (putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)][r -- _length]) .intval ∧ is_arrayref (r, (putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)][r -- _length]) .intval, putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)]) ∧ (∀ j0. 0 ≤ j0 ∧ j0 < (putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)][r -- _length]) .intval → oktype (putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)][r -- j0 '], byte_type, putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)])) |
0 ≤ n→i(# vals) + i, 0 ≤ j, 0 ≤ i, i ≤ n→i(# vals0), j ≤ n→i(# vals) + i, ∀ val. val ∈ vals ∨ val ∈ vals0 → is_bytevalue(val) ⊦ r = jvmref, okreftype(refval(r), mkarraytype(byte_type), putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- _length, intval(j)]) ∧ is_arrayref(r, j, putArray(vals, r, i, addarray(r, byte_type, vals0, st))) ∧ (0 ≤ j0 ∧ j0 < j → is_bytevalue(putArray(vals, r, i, addarray(r, byte_type, vals0, st))[r -- j0 ']))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ oktype(val, byte_type, st) ↔ is_bytevalue(val)], [CSIMPSEQ : ⊦ (st[r0 -- _length, val][r -- i '] ) = st[r -- i ']], [CSIMPSEQ : ⊦ is_arrayref (r, i, st[r0 -- _length, val]) ↔ is_arrayref(r, i, st)], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ intval(i) .intval = i], [CSIMPSEQ : ⊦ is_integervalue(intval(i))], [CSIMPSEQ : ⊦ (st[rk, val][rk]) = val], [CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st])]]