| initerror(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(error) ∈ addclass(class, fis0, st) |
¬ mkfs(class1, void_type, `initstate' .field) ' ∈ fis ⊦ (addclass(class1, fis, st)[jvmref -- mkfs(class1, void_type, `initstate' .field) ']) = initval(done)
mkfs(class1, ty, fieldvar) ' ∈ fis ⊦ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class1, fis, st)
initerror(class, addclass(class, fis0, st)[jvmref -- mkfs(class, ty, fieldvar) ', val]), void_type ≠ ty ∨ `initstate' .field ≠ fieldvar ⊦ mkfs(class, void_type, `initstate' .field) ' ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ initval(istate) = initval(istate0) ↔ istate = istate0], [CSIMPSEQ : ⊦ done ≠ error], [CSIMPSEQ : ⊦ rk × val ∈ st ↔ ¬ ¬ (rk ∈ st ∧ st[rk] = val)])]]