| st[rk] = refval(r), newref(rk .ref, st), rk ∈ st, validrefnotnull(str, r, ty1, st) ⊦ rk .ref = jvmref, is_referencevalue(addarray(rk .ref, ty, vals, st)[rk]) ∧ validrefnotnull(str, (addarray(rk .ref, ty, vals, st)[rk]) .refval, ty1, addarray(rk .ref, ty, vals, 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, r0, sk)]]