| is_bytevalue(val), exactarray(r, byte_type, st), r ∈ st ⊦ r = jvmref, exactreftype(refval(r), mkarraytype(byte_type), st[r -- i ', val]) ∧ r ≠ jvmref ∧ r -- _length ∈ st[r -- i ', val] ∧ is_integervalue(st[r -- i ', val][r -- _length]) ∧ 0 ≤ (st[r -- i ', val][r -- _length]) .intval ∧ is_arrayref(r, (st[r -- i ', val][r -- _length]) .intval, st[r -- i ', val]) |
⊦ exactarray(r, ty, st) → ¬ st[r -- _length] .intval < 0
is_bytevalue(val), exactarray(r, byte_type, st), r ∈ st ⊦ r = jvmref, exactreftype(refval(r), mkarraytype(byte_type), st[r -- i ', val]) ∧ r -- _length ∈ st ∧ is_integervalue(st[r -- _length]) ∧ is_arrayref(r, st[r -- _length] .intval, st[r -- i ', val])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ (st[r -- i ', val][r0 -- _length] ) = st[r0 -- _length]], [CSIMPSEQ : sk ≠ sk0 ⊦ r -- sk ∈ st[r -- sk0, val] ↔ r -- sk ∈ st], [CSIMPSEQ : ⊦ _length ≠ i '])]]