| st[r -- sk] .refval = r, validrefkeynotnull(str, r -- sk, ty, st), newref(r, st) ⊦ r = jvmref |
st[r -- sk] = refval(r0) ∧ is_referencevalue(st[r -- sk]), r0 = r, validrefkeynotnull(str, r -- sk, ty, st), newref(r, st) ⊦ r = jvmref
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_referencevalue(val) → val .refval = jvmref], [CSIMPELIM : is_referencevalue(val) ⊦ r = val .refval ↔ val = refval(r)])], [EXTRATERMS : (st[r -- sk], r0)]]