| is_classtype(st[r0 -- _type] .type), junkref(str, r, st[r0 -- fs ', val]), path∃(str, r, r0, st), fs ' ∈ instfields(st[r0 -- _type] .type .class) ⊦ r0 = jvmref, fs ' = _type, junkref(str, r, st), contains(str, st[r -- _type] .type, fs) |
st[r0 -- _type] .type = mkclasstype(class), is_classtype(st[r0 -- _type] .type), junkref(str, r, st[r0 -- fs ', val]), path∃(str, r, r0, st), fs ' ∈ instfields(class) ⊦ r0 = jvmref, fs ' = _type, junkref(str, r, st), contains(str, st[r -- _type] .type, fs)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_classtype(ty) → ( class = ty .class ↔ ty = mkclasstype(class))])], [EXTRATERMS : (st[r0 -- _type] .type, class)]]