| ¬ (is_fskey((sk0 × val1) .1) ∧ (sk0 × val1) .1 .fs .class ≠ class1), is_fskey(sk0), ∀ class1, sk, val0, fis1, st, val. (addclass(class1, fis0 + (sk × val0) ' + fis1, st)[jvmref -- sk, val]) = (addclass(class1, fis0 + fis1, st)[jvmref -- sk, val]) ⊦ (addclass(class1, ((sk0 × val1) ' + fis0) + (sk × val0) ' + fis1, st)[jvmref -- sk, val]) = (addclass(class1, ((sk0 × val1) ' + fis0) + fis1, st)[jvmref -- sk, val]) |
is_fskey(sk0), ∀ class1, sk, val0, fis1, st, val. (addclass(class1, fis0 + (sk × val0) ' + fis1, st)[jvmref -- sk, val]) = (addclass(class1, fis0 + fis1, st)[jvmref -- sk, val]) ⊦ (addclass(class1, ((sk0 × val1) ' + fis0) + (sk × val0) ' + fis1, st)[jvmref -- sk, val]) = (addclass(class1, ((sk0 × val1) ' + fis0) + fis1, st)[jvmref -- sk, val]), ¬ is_indexkey(sk0) ∧ sk0 .fs .class ≠ class1
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_indexkey(sk) ↔ is_fskey(sk)], [CSIMPSEQ : ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)], [CSIMPSEQ : ⊦ (sk × val) .1 = sk])]]