| rk ∈ st, newref(r, st) ⊦ r = jvmref, st[rk] = (putArray(vals0, r, i, addarray(r, ty, vals, st))[rk]) |
⊦ ¬ rk ∈ st → st[rk] = ∅[rk]
¬ ¬ rk ∈ putArray(vals0, r, i, addarray(r, ty, vals, st)), rk ∈ st, newref(r, st) ⊦ r = jvmref, st[rk] = (putArray(vals0, r, i, addarray(r, ty, vals, st))[rk])
⊦ rk ∈ st → rk ∈ addarray(r, ty, vals, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ∅[rk] = noval], [CSIMPSEQ : ⊦ rk ∈ putArray(vals, r, i, st) ↔ rk ∈ st ∨ rk .ref = r ∧ is_indexkey(rk .key) ∧ i ≤ rk .key .index ∧ rk .key .index < i + n→i(# vals)])], [EXTRATERMS : (rk, putArray(vals0, r, i, addarray(r, ty, vals, st)))]]