| is_shortvalue(st[r -- mkfs(class, short_type, fieldvar) ']), validrefnotnull(str, r0, ty, st) ⊦ r = jvmref, r0 = jvmref, r0 = jvmref ∨ (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- _type]) .type ≤ ty ∧ ¬ junkref(str, r0, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)]) |
⊦ validrefnotnull(str, r, ty, st) ↔ r ≠ jvmref ∧ validref(str, r, ty, st)
is_shortvalue(st[r -- mkfs(class, short_type, fieldvar) ']), r0 ≠ jvmref ∧ validref(str, r0, ty, st) ⊦ r = jvmref, r0 = jvmref, r0 = jvmref ∨ (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- _type]) .type ≤ ty ∧ ¬ junkref(str, r0, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, ty, r0, str)]]