| 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))) |
sk .fs = mkfs(class0, ty, fieldvar), is_fskey(sk), initdone(class2, st), tdname∃(str, class2), sk ∈ statfields(class2), tdname∃(str, class0), sk ∈ statfields(class0), initdone(class0, addclass(class, fis + (mkfs(class, void_type, `initstate' .field) ' × initval(error)) ', st)), initdone(class0, st) → validfield(str, jvmref, sk, st) ⊦ class = `java.lang.Object' .class, initdone(class, st), mkfs(class, void_type, `initstate' .field) ' ∈ fis, validfield(str, jvmref, sk, addclass(class, fis + (mkfs(class, void_type, `initstate' .field) ' × initval(error)) ', st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .class = class], [CSIMPSEQ : ⊦ ¬ is_indexkey(sk) ↔ is_fskey(sk)], [CSIMPSEQ : ⊦ is_indexkey(sk) → ¬ is_fskey(sk)])]]