| initundone(class, addclass(class, fis0, st)[jvmref -- mkfs(class, ty, fieldvar) ', val]), void_type ≠ ty ∨ `initstate' .field ≠ fieldvar ⊦ mkfs(class, void_type, `initstate' .field) ' ∈ fis0, initundone(class, addclass(class, fis0, st)) |
⊦ initundone(class1, st) ↔ (jvmref -- mkfs(class1, void_type, `initstate' .field) ') × initval(undone) ∈ st ∨ ¬ jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st
initundone(class, addclass(class, fis0, st)[jvmref -- mkfs(class, ty, fieldvar) ', val]), void_type ≠ ty ∨ `initstate' .field ≠ fieldvar ⊦ mkfs(class, void_type, `initstate' .field) ' ∈ fis0, (jvmref -- mkfs(class, void_type, `initstate' .field) ') × initval(undone) ∈ addclass(class, fis0, st) ∨ ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ addclass(class, fis0, st) ∧ _uninit ∈ addclass(class, fis0, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addclass(class, fis0, st), class)]]