| ∀ sk, class, st, r. sk = mkfs(class, void_type, `initstate' .field) ' ∨ (addclass(class, fis0, st)[r -- sk]) = st[r -- sk] ∨ sk ∈ fis0 ⊦ sk = mkfs(class, void_type, `initstate' .field) ', (addclass(class, fis0, st)[r -- sk]) = st[r -- sk], sk = fs ', fs .class = class, sk ∈ fis0 |
fs = mkfs(class0, ty, fieldvar), ∀ sk, class, st, r. sk = mkfs(class, void_type, `initstate' .field) ' ∨ (addclass(class, fis0, st)[r -- sk]) = st[r -- sk] ∨ sk ∈ fis0 ⊦ sk = mkfs(class, void_type, `initstate' .field) ', (addclass(class, fis0, st)[r -- sk]) = st[r -- sk], sk = fs ', class0 = class, sk ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class0, ty, fieldvar)]]