| st[r -- _type] = typeval(mkclasstype(class)), r ∈ st, r -- _type ∈ st, class+∃(str, class), mkfs(class0, ty, fieldvar) ' ∈ instfields(class), ∀ sk. sk ∈ instfields(class) → r -- sk ∈ st ∧ is_fskey(sk) ∧ compat(str, st[r -- sk], sk .fs .type, st) ⊦ r = jvmref, r -- mkfs(class0, ty, fieldvar) ' ∈ st ∧ okval(st[r -- mkfs(class0, ty, fieldvar) '], ty) |
st[r -- _type] = typeval(mkclasstype(class)), r ∈ st, r -- _type ∈ st, class+∃(str, class), mkfs(class0, ty, fieldvar) ' ∈ instfields(class), mkfs(class0, ty, fieldvar) ' ∈ instfields(class) → r -- mkfs(class0, ty, fieldvar) ' ∈ st ∧ is_fskey(mkfs(class0, ty, fieldvar) ') ∧ compat(str, st[r -- mkfs(class0, ty, fieldvar) '], mkfs(class0, ty, fieldvar) ' .fs .type, st) ⊦ r = jvmref, r -- mkfs(class0, ty, fieldvar) ' ∈ st ∧ okval(st[r -- mkfs(class0, ty, fieldvar) '], ty)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (mkfs(class0, ty, fieldvar) ')]]