| st[r -- _type] .type = mkarraytype(ty), r ∈ st, r -- _length ∈ st, st ⊆ st0, okarray(r, ty, st), is_arraytype(st[r -- _type] .type), is_typevalue(st[r -- _type]), r -- _type ∈ st ⊦ r = jvmref, getintarray(r, st) = getintarray(r, st0), is_arrayref(r, st[r -- _length] .intval, st) |
⊦ st ⊆ st0 ∧ okarray(r, ty, st) → okarray(r, ty, st0)
⊦ okarray(r, ty, st) ∧ st ⊆ st0 → okarray(r, ty, st0)
st[r -- _type] .type = mkarraytype(ty), r -- _type ∈ st, is_typevalue(st[r -- _type]), okarray(r, ty, st), st ⊆ st0, r -- _length ∈ st, r ∈ st ⊦ getintarray(r, st) = getintarray(r, st0), r = jvmref, is_arrayref(r, st[r -- _length] .intval, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_arraytype(mkarraytype(ty))])]]