| 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 '])) |
⊦ is_arrayref(r, i, st) ↔ (∀ j. 0 ≤ j ∧ j < i → r -- j ' ∈ st)
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)]) ∧ (∀ j0. 0 ≤ j0 ∧ j0 < j → r -- j0 ' ∈ 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 : ()], [EXTRATERMS : (putArray (vals, r, i, addarray(r, byte_type, vals0, st)), j, r)]]