| ⊦ sk ≠ sk0 ∧ ( ¬ is_fskey(sk) ∨ sk .fs .type ≠ void_type ∨ sk .fs ≠ mkfs(`java.lang.Object' .class, void_type, `uninit' .field) ∧ (¬ is_fskey(sk0) ∨ sk .fs ≠ mkfs(sk0 .fs .class, void_type, `initstate' .field))) → (validstatfield(str, sk0, st[jvmref -- sk, val]) ↔ validstatfield(str, sk0, st)) |
is_indexkey(sk) ∨ sk .fs .type ≠ void_type ∨ sk .fs ≠ mkfs(`java.lang.Object' .class, void_type, `uninit' .field) ∧ (is_indexkey(sk0) ∨ sk .fs ≠ mkfs(sk0 .fs .class, void_type, `initstate' .field)) ⊦ validstatfield(str, sk0, st[jvmref -- sk, val]) ↔ validstatfield(str, sk0, st), sk = sk0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)])]]