| validstatfield(str, sk, st0) ⊦ jvmref ∈ st, is_fskey(sk) ∧ sk ∈ statfields(sk .fs .class) ∧ tdname∃(str, sk .fs .class) ∧ (initdone(sk .fs .class, st ∪ st0) → validfield(str, jvmref, sk, st ∪ st0)) |
⊦ is_indexkey(sk) → ¬ validstatfield(str, sk, st)
validstatfield(str, sk, st0), is_fskey(sk) ⊦ jvmref ∈ st, (initdone(sk .fs .class, st0) → validfield(str, jvmref, sk, st ∪ st0)) ∧ tdname∃(str, sk .fs .class) ∧ sk ∈ statfields(sk .fs .class)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : storekey, , test, ⊦ ¬ is_indexkey(sk) ↔ is_fskey(sk)], [CSIMPNAMEDSEQ : storefunsx, , union-init, ⊦ ¬ jvmref ∈ st → ( initdone(class, st ∪ st0) ↔ initdone(class, st0))], [CSIMPNAMEDSEQ : storekey, , test-01, ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)])]]