| ⊦ class1 = class2, class2 = `java.lang.Object' .class, initundone(class1, addclass(class2, fis, st)) ↔ initundone(class1, st) |
⊦ initundone(class1, st) ↔ (jvmref -- mkfs(class1, void_type, `initstate' .field) ') × initval(undone) ∈ st ∨ ¬ jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st
⊦ class1 = class2, class2 = `java.lang.Object' .class, (jvmref -- mkfs(class1, void_type, `initstate' .field) ') × initval(undone) ∈ addclass(class2, fis, st) ∨ ¬ jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ addclass(class2, fis, st) ∧ _uninit ∈ addclass(class2, fis, st) ↔ initundone(class1, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addclass(class2, fis, st), class1)]]