| st[r -- i '] = refval(r0), st[r -- _type] = typeval(mkarraytype(ty)), is_referencevalue(st[r -- i ']), i < st[r -- _length] .intval, is_valid_ref(str1, r, st), 0 < st[r -- _length] .intval, 0 ≤ i, is_array(str, r, st), is_primtype(ty), junkrefs(str, r0 ' + refs, ty, st) ⊦ r = jvmref, junkrefs(str1, r ' + r0 ' + refs, mkarraytype(ty), st) |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_array(r, st) ∧ is_primtype(ty) ∧ st[r -- _type] = typeval(mkarraytype(ty)) ∧ 0 ≤ i ∧ i < st[r -- _length] .intval → st[r -- i '] ≠ refval(r0)], [CSIMPSEQ : ⊦ st[r -- _type] = typeval(mkarraytype(ty)) ∧ is_primtype(ty) → ( is_valid_ref(str, r, st) ↔ is_array(r, st))])]]