| ⊦ ty = void_type, init(st[r -- mkfs(class, ty, fieldvar) ', val]) ↔ init(st) |
⊦ init(st) ↔ ¬ _uninit ∈ st ∧ (∀ rk. rk ∈ st ∧ rk .ref = jvmref ∧ is_fskey(rk .key) ∧ rk .key .fs .type = void_type ∧ rk .key .fs .field = `initstate' .field → st[rk] ≠ initval(undone) ∧ st[rk] ≠ initval(error))
⊦ ty = void_type, ¬ _uninit ∈ st[r -- mkfs(class, ty, fieldvar) ', val] ∧ (∀ rk. rk ∈ st[r -- mkfs(class, ty, fieldvar) ', val] ∧ rk .ref = jvmref ∧ is_fskey(rk .key) ∧ rk .key .fs .type = void_type ∧ rk .key .fs .field = `initstate' .field → (st[r -- mkfs(class, ty, fieldvar) ', val][rk]) ≠ initval(undone) ∧ (st[r -- mkfs(class, ty, fieldvar) ', val][rk]) ≠ initval(error)) ↔ init(st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st[r -- mkfs(class, ty, fieldvar) ', val])]]