| st[r -- i '] = refval(r1), i < st[r -- _length] .intval, st[r -- _type] .type ≤ ty, is_array(str, r, st), st[r1 -- _type] .type ≤ st[r -- _type] .type .type, 0 < st[r -- _length] .intval, 0 ≤ i, r1 = jvmref ∨ r1 ≠ jvmref ∧ is_valid_ref(str, r1, st[r1 -- sk, val]) ∧ (st[r1 -- sk, val][r1 -- _type]) .type ≤ st[r -- _type] .type .type ⊦ r1 = jvmref, r = jvmref, r1 = r, sk = _type, junkref(str, r1, st), validrefs(str, r1 ', st[r -- _type] .type .type, st) |
st[r -- i '] = refval(r1), i < st[r -- _length] .intval, st[r -- _type] .type ≤ ty, is_array(str, r, st), st[r1 -- _type] .type ≤ st[r -- _type] .type .type, 0 < st[r -- _length] .intval, 0 ≤ i, is_valid_ref(str, r1, st[r1 -- sk, val]) ⊦ r1 = jvmref, r = jvmref, r1 = r, sk = _type, junkref(str, r1, st), validrefs(str, r1 ', st[r -- _type] .type .type, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ≠ sk0 → (st[r -- sk, val][r0 -- sk0]) = st[r0 -- sk0]])]]