| st[rk] = refval(r), validref(str, r, ty, st), rk ∈ st, st ⊆ st1, rk ∈ st1 ⊦ r = jvmref, is_referencevalue(st1[rk]) ∧ st1[rk] .refval ≠ jvmref ∧ validref(str, st1[rk] .refval, ty, st1) |
⊦ validref(str, r, ty, st) ↔ r = jvmref ∨ st[r -- _type] .type ≤ ty ∧ ¬ junkref(str, r, st)
st[rk] = refval(r), r = jvmref ∨ st[r -- _type] .type ≤ ty ∧ ¬ junkref(str, r, st), rk ∈ st, st ⊆ st1, rk ∈ st1 ⊦ r = jvmref, is_referencevalue(st1[rk]) ∧ st1[rk] .refval ≠ jvmref ∧ validref(str, st1[rk] .refval, ty, st1)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, ty, r, str)]]