| ⊦ ty = void_type, (∀ class0. tdname∃(str, class0) → ( ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ (st[r -- mkfs(class, ty, fieldvar) ', val][jvmref -- mkfs(class0, void_type, `initstate' .field) ']) ≠ initval(error)) ∧ ( ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ (st[r -- mkfs(class, ty, fieldvar) ', val][jvmref -- mkfs(class0, void_type, `initstate' .field) ']) ≠ initval(undone)) ∧ ( jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st[r -- mkfs(class, ty, fieldvar) ', val] ∨ _uninit ≠ r -- mkfs(class, ty, fieldvar) ' ∧ ¬ _uninit ∈ st)) ↔ init(str, st) |
⊦ init(str, st) ↔ (∀ class. tdname∃(str, class) → initdone(class, st))
⊦ ty = void_type, (∀ class0. tdname∃(str, class0) → ( ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ (st[r -- mkfs(class, ty, fieldvar) ', val][jvmref -- mkfs(class0, void_type, `initstate' .field) ']) ≠ initval(error)) ∧ ( ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ (st[r -- mkfs(class, ty, fieldvar) ', val][jvmref -- mkfs(class0, void_type, `initstate' .field) ']) ≠ initval(undone)) ∧ ( jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st[r -- mkfs(class, ty, fieldvar) ', val] ∨ _uninit ≠ r -- mkfs(class, ty, fieldvar) ' ∧ ¬ _uninit ∈ st)) ↔ (∀ class. tdname∃(str, class) → initdone(class, st))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, str)]]