| is_referencevalue(st[rk]), validrefnotnull(str, st[rk] .refval, mkclasstype(class), st), rk ∈ st, sk ∈ instfields(class), is_fskey(sk) ⊦ st[rk] .refval = jvmref, st[rk] .refval -- sk ∈ st |
st[rk] = refval(r), is_referencevalue(st[rk]), validrefnotnull(str, r, mkclasstype(class), st), rk ∈ st, sk ∈ instfields(class), is_fskey(sk) ⊦ r = jvmref, r -- sk ∈ st
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_referencevalue(val) → ( r = val .refval ↔ val = refval(r))])], [EXTRATERMS : (st[rk], r)]]