| validval(str, fis[mkfs(class, ty, fieldvar) '], ty, st), mkfs(class, ty, fieldvar) ' ∈ statfields(class), tdname∃(str, class), type∃(str, ty), mkfs(class, ty, fieldvar) ' ∈ fis ⊦ class = `java.lang.Object' .class, validstatfield(str, mkfs(class, ty, fieldvar) ', addclass(class, fis, 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))
validval(str, fis[mkfs(class, ty, fieldvar) '], ty, st), mkfs(class, ty, fieldvar) ' ∈ statfields(class), tdname∃(str, class), type∃(str, ty), mkfs(class, ty, fieldvar) ' ∈ fis ⊦ class = `java.lang.Object' .class, is_fskey(mkfs(class, ty, fieldvar) ') ∧ mkfs(class, ty, fieldvar) ' ∈ statfields(mkfs(class, ty, fieldvar) ' .fs .class) ∧ tdname∃(str, mkfs(class, ty, fieldvar) ' .fs .class) ∧ ( initdone(mkfs(class, ty, fieldvar) ' .fs .class, addclass(class, fis, st)) → validfield(str, jvmref, mkfs(class, ty, fieldvar) ', addclass(class, fis, st)))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addclass(class, fis, st), mkfs(class, ty, fieldvar) ', str)]]