| ¬ r1 ≠ r ⊦ r = r0, (r1 -- sk ∈ addobj(r, class, fis, addobj(r0, class0, fis0, st)) ↔ r1 -- sk ∈ addobj(r0, class0, fis0, addobj(r, class, fis, st))) ∧ (addobj(r, class, fis, addobj(r0, class0, fis0, st))[r1 -- sk]) = (addobj(r0, class0, fis0, addobj(r, class, fis, st))[r1 -- sk]) |
⊦ r -- sk ∈ addobj(r, class, fis, st) ↔ ¬ ¬ (sk ∈ fis ∨ sk = _type ∨ r -- sk ∈ st)
⊦ r ≠ r0 → (r -- sk ∈ addobj(r0, class1, fis, st) ↔ r -- sk ∈ st)
⊦ r ≠ r0 → (addobj(r, class1, fis, st)[r0 -- sk]) = st[r0 -- sk]
⊦ r = r0, (addobj(r, class, fis, addobj(r0, class0, fis0, st))[r -- sk]) = (addobj(r, class, fis, st)[r -- sk])
[[CONCRETESIMPRULES : ()]]