| validstatfields(str, sks, st), fs .type ≠ void_type ∨ fs .field ≠ `initstate' .field ∧ fs ≠ mkfs(`java.lang.Object' .class, void_type, `uninit' .field), ¬ fs ' ∈ statfields(fs .class) ∨ ¬ tdname∃(str, fs .class) ⊦ validstatfields(str, sks, st[jvmref -- fs ', val]) |
fs = mkfs(class, ty, fieldvar), validstatfields(str, sks, st), ty ≠ void_type ∨ fieldvar ≠ `initstate' .field ∧ fs ≠ mkfs(`java.lang.Object' .class, void_type, `uninit' .field), ¬ fs ' ∈ statfields(class) ∨ ¬ tdname∃(str, class) ⊦ validstatfields(str, sks, st[jvmref -- fs ', val])
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class, ty, fieldvar)]]