| st[r -- _type] .type = mkarraytype(ty0), st[r -- i '] = refval(r0), validrefs(str, r0 ' + refs, ty0, st), r ∈ st, 0 ≤ i, 0 < st[r -- _length] .intval, is_primtype(ty), is_array(str, r, st), ty0 ≤ ty, okarray(r, ty, st), i < st[r -- _length] .intval ⊦ r ' + r0 ' + refs = jvmref ', r = jvmref |
⊦ ¬ is_reftype(ty0) → (ty ≤ ty0 ↔ ty = ty0)
¬ is_reftype(ty), st[r -- _type] .type = mkarraytype(ty0), st[r -- i '] = refval(r0), validrefs(str, r0 ' + refs, ty0, st), r ∈ st, 0 ≤ i, 0 < st[r -- _length] .intval, is_primtype(ty), is_array(str, r, st), ty0 = ty, okarray(r, ty, st), i < st[r -- _length] .intval ⊦ r ' + r0 ' + refs = jvmref ', r = jvmref
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_reftype(ty) → ¬ is_primtype(ty)])], [EXTRATERMS : (ty, ty0)]]