| st[rk] = refval(r0), is_referencevalue(st[rk]), validrefnotnull(str, r0, ty, st), rk ∈ st, is_shortvalue(st[r -- mkfs(class, short_type, fieldvar) ']) ⊦ r = jvmref, r0 = jvmref, is_referencevalue(st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][rk]) ∧ validrefnotnull (str, (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][rk]) .refval, ty, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)]) |
⊦ validrefnotnull(str, r, ty, st) → r ≠ jvmref
st[rk] = refval(r0), is_shortvalue(st[r -- mkfs(class, short_type, fieldvar) ']), rk ∈ st, validrefnotnull(str, r0, ty, st) ⊦ r0 = jvmref, r = jvmref, is_referencevalue(st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][rk]) ∧ validrefnotnull (str, (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][rk]) .refval, ty, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_referencevalue(refval(r))])]]