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