| r ∈ st, validrefnotnull(str, st[r -- sk] .refval, ty, st), is_referencevalue(st[r -- sk]), r -- sk ∈ st ⊦ st[r -- sk] .refval ∈ st |
st[r -- sk] = refval(r0), r ∈ st, validrefnotnull(str, r0, ty, st), is_referencevalue(st[r -- sk]), r -- sk ∈ st ⊦ r0 ∈ st
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_referencevalue(val) → ( r = val .refval ↔ val = refval(r))])], [EXTRATERMS : (st[r -- sk], r0)]]