| ∀ r, r0, class1, st, sk, val. r = r0 ∨ (addobj(r, class1, fis0, st)[r0 -- sk, val]) = addobj(r, class1, fis0, st[r0 -- sk, val]) ⊦ r = r0, (addobj(r, class1, fis0, st)[r -- fv .1, fv .2][r0 -- sk, val]) = (addobj(r, class1, fis0, st[r0 -- sk, val])[r -- fv .1, fv .2]) |
fv = sk0 × val0, ∀ r, r0, class1, st, sk, val. r = r0 ∨ (addobj(r, class1, fis0, st)[r0 -- sk, val]) = addobj(r, class1, fis0, st[r0 -- sk, val]) ⊦ r = r0, (addobj(r, class1, fis0, st)[r -- sk0, val0][r0 -- sk, val]) = (addobj(r, class1, fis0, st[r0 -- sk, val])[r -- sk0, val0])
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ sk = fv .1 ∧ val = fv .2 ↔ fv = sk × val])], [EXTRATERMS : (fv, sk0, val0)]]