| st0[_mode] = throw(r, mkclasstype(class1)), st0 =mode st, ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ st[jvmref -- mkfs(class0, void_type, `initstate' .field) '] ≠ initval(error), ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ st[jvmref -- mkfs(class0, void_type, `initstate' .field) '] ≠ initval(undone) ⊦ ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st, (¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st0 ∨ st0[jvmref -- mkfs(class0, void_type, `initstate' .field) '] ≠ initval(error)) ∧ ¬ initundone(class0, st0) |
⊦ initundone(class1, st) ↔ (jvmref -- mkfs(class1, void_type, `initstate' .field) ') × initval(undone) ∈ st ∨ ¬ jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st
st0[_mode] = throw(r, mkclasstype(class1)), st0 =mode st, ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ st[jvmref -- mkfs(class0, void_type, `initstate' .field) '] ≠ initval(error), ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∨ st[jvmref -- mkfs(class0, void_type, `initstate' .field) '] ≠ initval(undone) ⊦ ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st, (¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st0 ∨ st0[jvmref -- mkfs(class0, void_type, `initstate' .field) '] ≠ initval(error)) ∧ ¬ ( (jvmref -- mkfs(class0, void_type, `initstate' .field) ') × initval(undone) ∈ st0 ∨ ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st0 ∧ _uninit ∈ st0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st0, class0)]]