| st .refs ∩ st1 .refs = ∅, jvmref ∈ st, jvmref ∈ st1, validrefnotnull(str, st[jvmref -- fs '] .refval, ty, st), is_referencevalue(st[jvmref -- fs ']), jvmref -- fs ' ∈ st ⊦ |
st[jvmref -- fs '] = refval(r), st .refs ∩ st1 .refs = ∅, jvmref ∈ st, jvmref ∈ st1, validrefnotnull(str, r, ty, st), is_referencevalue(st[jvmref -- fs ']), jvmref -- fs ' ∈ st ⊦
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_referencevalue(val) → ( r = val .refval ↔ val = refval(r))])], [EXTRATERMS : (st[jvmref -- fs '], r)]]