| validstatfield(str, sk, st), sk ∈ statfields(class2), tdname∃(str, class2), initdone(class2, st) ⊦ class = `java.lang.Object' .class, mkfs(class, void_type, `initstate' .field) ' ∈ fis, initdone(class, st), is_fskey(sk) ∧ sk ∈ statfields(sk .fs .class) ∧ tdname∃(str, sk .fs .class) ∧ ( initdone(sk .fs .class, addclass(class, fis + (mkfs(class, void_type, `initstate' .field) ' × initval(error)) ', st)) → validfield(str, jvmref, sk, addclass(class, fis + (mkfs(class, void_type, `initstate' .field) ' × initval(error)) ', st))) |
validstatfield(str, sk, st), sk ∈ statfields(class2), tdname∃(str, class2), initdone(class2, st) ⊦ class = `java.lang.Object' .class, mkfs(class, void_type, `initstate' .field) ' ∈ fis, initdone(class, st), ¬ is_indexkey(sk) ∧ sk ∈ statfields(sk .fs .class) ∧ tdname∃(str, sk .fs .class) ∧ ( initdone(sk .fs .class, addclass(class, fis + (mkfs(class, void_type, `initstate' .field) ' × initval(error)) ', st)) → validfield(str, jvmref, sk, addclass(class, fis + (mkfs(class, void_type, `initstate' .field) ' × initval(error)) ', st)))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)])]]