| mkfs(class, ty, fieldvar) ' ∈ sks, validstatfield(str, mkfs(class, ty, fieldvar) ', st), ¬ mkfs(class, ty, fieldvar) ' ∈ statfields(class) ∨ ¬ tdname∃(str, class) ⊦ ty = void_type, validstatfields(str, sks, st[jvmref -- mkfs(class, ty, fieldvar) ', val]) |
⊦ validstatfield(str, sk, st) ↔ is_fskey(sk) ∧ sk ∈ statfields(sk .fs .class) ∧ tdname∃(str, sk .fs .class) ∧ (initdone(sk .fs .class, st) → validfield(str, jvmref, sk, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_fskey(fs ')], [CSIMPSEQ : ⊦ fs ' .fs = fs], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .class = class])], [EXTRATERMS : (st, mkfs(class, ty, fieldvar) ', str)]]