| st[rk] = (addarray(rk .ref, ty, i, st0)[rk]), newref(rk .ref, st), rk ∈ st, rk ∈ addarray(rk .ref, ty, i, st0), ∀ rk0. rk0 ∈ st → rk0 ∈ addarray(rk .ref, ty, i, st0) ∧ st[rk0] = (addarray(rk .ref, ty, i, st0)[rk0]) ⊦ rk .ref = jvmref, rk ∈ st0 ∧ st[rk] = st0[rk] |
⊦ r ∈ addarray(r, ty0, i, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ newref(r, st) → r ≠ jvmref], [CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ r ∈ st → ¬ newref(r, st)], [CSIMPELIM : ⊦ r = rk .ref ∧ sk = rk .key ↔ rk = r -- sk])], [EXTRATERMS : (rk, r, sk)]]