| st[r -- _length] = intval(st[r -- _length] .intval), st[r -- _type] = typeval(mkarraytype(byte_type)), r ∈ st, is_arrayref(r, st[r -- _length] .intval, st), r -- _length ∈ st, r -- _type ∈ st ⊦ r = jvmref, is_arrayref(r, st[r -- _length] .intval, st[r0 -- j ', byteval(by)]) ∧ is_referencevalue(refval(r)) ∧ refval(r) .refval ∈ st[r0 -- j ', byteval(by)] ∧ ( refval(r) .refval ≠ jvmref → refval(r) .refval -- _type ∈ st[r0 -- j ', byteval(by)] ∧ is_typevalue(st[r0 -- j ', byteval(by)][refval(r) .refval -- _type]) ∧ (st[r0 -- j ', byteval(by)][refval(r) .refval -- _type]) .type = mkarraytype(byte_type)) |
st[r -- _type] = typeval(mkarraytype(byte_type)), st[r -- _length] = intval(st[r -- _length] .intval), r -- _type ∈ st, r -- _length ∈ st, is_arrayref(r, st[r -- _length] .intval, st), r ∈ st ⊦ r = jvmref, is_arrayref(r, st[r -- _length] .intval, st[r0 -- j ', byteval(by)])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkarraytype(ty) = mkarraytype(ty0) ↔ ty = ty0], [CSIMPSEQ : ⊦ typeval(ty) .type = ty], [CSIMPSEQ : ⊦ is_typevalue(typeval(ty))], [CSIMPSEQ : ⊦ (st[r -- i ', val][r0 -- _type]) = st[r0 -- _type]], [CSIMPSEQ : ⊦ r -- _type ∈ st[r0 -- i ', val0] ↔ r -- _type ∈ st], [CSIMPSEQ : ⊦ r ∈ st[r0 -- sk, val] ↔ r = r0 ∨ r ∈ st], [CSIMPSEQ : ⊦ refval(r) .refval = r], [CSIMPSEQ : ⊦ is_referencevalue(refval(r))])]]