| initdone(class, st), compatfields(str, jvmref, statfields(class), st), class∃(str, class) ∨ interface∃(str, class) ⊦ compatfields(str, jvmref, statfields(class), st[_mode, val]) |
⊦ compatfields(str, r, sks, st) ↔ (∀ sk. sk ∈ sks → r -- sk ∈ st ∧ is_fskey(sk) ∧ compat(str, st[r -- sk], sk .fs .type, st))
initdone(class, st), ∀ sk. sk ∈ statfields(class) → jvmref -- sk ∈ st ∧ is_fskey(sk) ∧ compat(str, st[jvmref -- sk], sk .fs .type, st), class∃(str, class) ∨ interface∃(str, class) ⊦ compatfields(str, jvmref, statfields(class), st[_mode, val])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, statfields(class), jvmref, str)]]