| initdone(class, st), fs ' ∈ statfields(class), ∀ sk. sk ∈ statfields(class) → validstatfield(str, sk, st) ⊦ class0 = fs .class, class0 = class, mkfs(class0, void_type, `initstate' .field) = fs, validstatfield(str, fs ', st) |
fs = mkfs(class1, ty, fieldvar), initdone(class, st), fs ' ∈ statfields(class), ∀ sk. sk ∈ statfields(class) → validstatfield(str, sk, st) ⊦ class0 = class1, class0 = class, mkfs(class0, void_type, `initstate' .field) = fs, validstatfield(str, fs ', st)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class1, ty, fieldvar)]]