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