| ⊦ r ≠ r0 → (goodfieldandtype(r, sk, st -- r0) ↔ goodfieldandtype(r, sk, st)) |
⊦ goodfieldandtype(r, sk, st) ↔ ¬ ¬ (is_fskey(sk) ∧ r -- sk ∈ st ∧ okval(st[r -- sk], sk .fs .type))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_indexkey(sk) → ¬ is_fskey(sk)], [CSIMPSEQ : ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)], [CSIMPSEQ : ⊦ r ≠ r0 → (st -- r)[r0 -- sk0] = st[r0 -- sk0]], [CSIMPSEQ : ⊦ r -- sk ∈ st -- r0 ↔ r ≠ r0 ∧ r -- sk ∈ st])]]