| st[r -- _type] .type = mkarraytype(ty), st[r -- i '] = refval(r0), validrefs(str, r0 ' + refs, ty, st), 0 ≤ i, 0 < st[r -- _length] .intval, is_primtype(ty), is_array(str, r, st), okreftype(refval(r), mkarraytype(ty), st), r -- _length ∈ st, is_arrayref(r, st[r -- _length] .intval, st), i < st[r -- _length] .intval, r ∈ st, 0 ≤ st[r -- _length] .intval, ∀ j. ¬ j < 0 ∧ ¬ st[r -- _length] .intval ≤ j → okval(st[r -- j '], ty) ⊦ r ' + r0 ' + refs = jvmref ', r = jvmref, is_reftype(ty) |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)], [CSIMPSEQ : ⊦ okval(refval(r), ty) ↔ ty = void_type ∨ is_reftype(ty)], [CSIMPSEQ : ⊦ ¬ is_primtype(void_type)])], [EXTRATERMS : (i)]]