| st[r -- _type] .type = mkclasstype(class0), st[r -- _type] .type ≤ mkclasstype(class), sk ∈ instfields(class), r -- _type ∈ st, is_typevalue(st[r -- _type]), is_classtype(st[r -- _type] .type), is_obj(r, class0, st), r ∈ st ⊦ r = jvmref, r -- sk ∈ st |
st[r -- _type] .type = mkclasstype(class0), r ∈ st, is_obj(r, class0, st), is_typevalue(st[r -- _type]), r -- _type ∈ st, sk ∈ instfields(class), class0 ≤ class ⊦ r = jvmref, r -- sk ∈ st
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkclasstype(class1) ≤ mkclasstype(class2) ↔ class1 ≤ class2], [CSIMPSEQ : ⊦ is_classtype(mkclasstype(class))])]]