| ¬ (is_fskey((sk × val) .1) ∧ (sk × val) .1 .fs .class ≠ class1), r -- i ' ∈ addclass(class1, (sk × val) ' + fis0, st), is_fskey(sk), r ∈ addclass(class1, (sk × val) ' + fis0, st), ∀ r0, i0, class, st0. r0 -- i0 ' ∈ addclass(class, fis0, st0) → r0 -- i0 ' ∈ st0 ⊦ r -- i ' ∈ st |
is_fskey(sk), r -- i ' ∈ addclass(sk .fs .class, (sk × val) ' + fis0, st), r ∈ addclass(sk .fs .class, (sk × val) ' + fis0, st), ∀ r0, i0, class, st0. r0 -- i0 ' ∈ addclass(class, fis0, st0) → r0 -- i0 ' ∈ st0 ⊦ r -- i ' ∈ st
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ ¬ is_indexkey(sk) ↔ is_fskey(sk)], [CSIMPSEQ : ⊦ is_indexkey(sk) → ¬ is_fskey(sk)], [CSIMPSEQ : ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)], [CSIMPSEQ : ⊦ (sk × val) .1 = sk])]]