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