| 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 |
sk0 = fs ', 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) ∧ fs .class ≠ class1
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_fskey(sk) → (fs = sk .fs ↔ sk = fs ')])], [EXTRATERMS : (sk0, fs)]]