| st[r -- _type] = typeval(mkclasstype(class0)), r ∈ st, r -- _type ∈ st, compatfields(str, r, instfields(class0), st), class+∃(str, class0), mkfs(class, ty0, fieldvar) ' ∈ instfields(class0), compat(str, val, ty0, st), compatstatic(str, st), compatmode(str, st) ⊦ r = jvmref, ty0 = void_type, mkfs(class, ty0, fieldvar) ' = _length, compat(str, val, ty0, st[r -- mkfs(class, ty0, fieldvar) ', val]) |
⊦ compat(str, val, ty, st) ∧ fs .type ≠ void_type → compat(str, val, ty, st[r -- fs ', val0])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .type = ty])], [EXTRATERMS : (val, mkfs(class, ty0, fieldvar), r, st, ty0, val, str)]]