| is_fskey(sk), validstatfields(str, sks, st), sk .fs .type ≠ void_type ∨ sk .fs .field ≠ `initstate' .field ∧ sk .fs ≠ mkfs(`java.lang.Object' .class, void_type, `uninit' .field), ¬ sk ∈ statfields(sk .fs .class) ∨ ¬ tdname∃(str, sk .fs .class) ⊦ validstatfields(str, sks, st[jvmref -- sk, val]) |
sk = fs ', is_fskey(sk), validstatfields(str, sks, st), fs .type ≠ void_type ∨ fs .field ≠ `initstate' .field ∧ fs ≠ mkfs(`java.lang.Object' .class, void_type, `uninit' .field), ¬ sk ∈ statfields(fs .class) ∨ ¬ tdname∃(str, fs .class) ⊦ validstatfields(str, sks, st[jvmref -- sk, val])
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_fskey(sk) → (fs = sk .fs ↔ sk = fs ')])], [EXTRATERMS : (sk, fs)]]