| ∀ r, r0, class, fis, st. r = r0 ∨ addobj(r, class, fis, update(r0, fis1, st)) = update(r0, fis1, addobj(r, class, fis, st)) ⊦ r = r0, addobj(r, class, fis, update(r0, fis1, st)[r0 -- sk, val]) = (update(r0, fis1, addobj(r, class, fis, st))[r0 -- sk, val]) |
⊦ r ≠ r0 → addobj(r, class1, fis, st[r0 -- sk, val]) = (addobj(r, class1, fis, st)[r0 -- sk, val])
r ≠ r0, ∀ r, r0, class, fis, st. r = r0 ∨ addobj(r, class, fis, update(r0, fis1, st)) = update(r0, fis1, addobj(r, class, fis, st)) ⊦ r = r0, (addobj(r, class, fis, update(r0, fis1, st))[r0 -- sk, val]) = (update(r0, fis1, addobj(r, class, fis, st))[r0 -- sk, val])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, sk, r0, update(r0, fis1, st), fis, class, r)]]