| ⊦ r = r0, exactarray(r, byte_type, st[r0 -- sk, val]) ↔ exactarray(r, byte_type, st) |
⊦ exactarray(r, ty, st) ↔ exactreftype(refval(r), mkarraytype(ty), st) ∧ r ≠ jvmref ∧ r -- _length ∈ st ∧ is_integervalue(st[r -- _length]) ∧ 0 ≤ st[r -- _length] .intval ∧ is_arrayref(r, st[r -- _length] .intval, st)
⊦ r = r0, exactreftype(refval(r), mkarraytype(byte_type), st[r0 -- sk, val]) ∧ r ≠ jvmref ∧ r -- _length ∈ st[r0 -- sk, val] ∧ is_integervalue(st[r0 -- sk, val][r -- _length]) ∧ 0 ≤ (st[r0 -- sk, val][r -- _length]) .intval ∧ is_arrayref(r, (st[r0 -- sk, val][r -- _length]) .intval, st[r0 -- sk, val]) ↔ exactarray(r, byte_type, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st[r0 -- sk, val], byte_type, r)]]