| st[jvmref -- mkfs(class, ty, fieldvar) '] = refval(r), jvmref -- mkfs(class, ty, fieldvar) ' ∈ st, initdone(class, st), tdname∃(str, class), mkfs(class, ty, fieldvar) ' ∈ statfields(class), validvals(str, rkvs, st), is_reftype(ty), jvmref ∈ st, type∃(str, ty), validref(str, r, ty, st) ⊦ ty = void_type, validref(str, r, ty, st[rkvs]), jvmref -- mkfs(class, ty, fieldvar) ' ∈ rkvs, jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ rkvs, _uninit ∈ rkvs |
⊦ validvals(str, rkvs, st) ∧ validref(str, r, ty, st) → validref(str, r, ty, st[rkvs])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (rkvs, st, ty, r, str)]]