| st[r0 -- i '] = refval(r1), 0 ≤ i, 0 < st[r0 -- _length] .intval, is_array(str, r0, st), st[r0 -- _type] .type ≤ ty, i < st[r0 -- _length] .intval, validrefs(str, r1 ', st[r0 -- _type] .type .type, st) ⊦ r0 = jvmref, has_reffield(r0, st) |
⊦ validrefs(str, r ', ty, st) ↔ r = jvmref ∨ r ≠ jvmref ∧ is_valid_ref(str, r, st) ∧ st[r -- _type] .type ≤ ty
st[r0 -- i '] = refval(r1), 0 ≤ i, 0 < st[r0 -- _length] .intval, is_array(str, r0, st), st[r0 -- _type] .type ≤ ty, i < st[r0 -- _length] .intval, r1 = jvmref ∨ r1 ≠ jvmref ∧ is_valid_ref(str, r1, st) ∧ st[r1 -- _type] .type ≤ st[r0 -- _type] .type .type ⊦ r0 = jvmref, has_reffield(r0, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, st[r0 -- _type] .type .type, r1, str)]]