| st[r -- _type] = typeval(mkclasstype(class)), sk ∈ sks, r -- _type ∈ st, r ∈ st, goodfieldandtype(r, sk, addclass(class0, fis, st)) ⊦ r = jvmref, class = class0, goodfieldandtype(r, sk, st) |
⊦ goodfieldandtype(r, sk, st) ↔ is_fskey(sk) ∧ r -- sk ∈ st ∧ okval(st[r -- sk], sk .fs .type)
st[r -- _type] = typeval(mkclasstype(class)), sk ∈ sks, r -- _type ∈ st, r ∈ st, is_fskey(sk) ∧ r -- sk ∈ addclass(class0, fis, st) ∧ okval(addclass(class0, fis, st)[r -- sk], sk .fs .type) ⊦ r = jvmref, class = class0, goodfieldandtype(r, sk, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addclass(class0, fis, st), sk, r)]]