| sk .fs = mkfs(class0, ty, fieldvar), 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(class0) ∧ tdname∃(str, class0) ∧ ( initdone(class0, 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) ↔ is_fskey(sk) ∧ sk ∈ statfields(sk .fs .class) ∧ tdname∃(str, sk .fs .class) ∧ (initdone(sk .fs .class, st) → validfield(str, jvmref, sk, st))
sk .fs = mkfs(class0, ty, fieldvar), is_fskey(sk) ∧ sk ∈ statfields(sk .fs .class) ∧ tdname∃(str, sk .fs .class) ∧ (initdone(sk .fs .class, st) → validfield(str, jvmref, 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(class0) ∧ tdname∃(str, class0) ∧ ( initdone(class0, 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 : ()], [EXTRATERMS : (st, sk, str)]]