| ∀ r, r0, sk, class, st. r ≠ r0 ∨ ¬ sk ∈ sks0 ∧ sk ≠ _type → (addobj(r0, class, sks0, st)[r -- sk]) = st[r -- sk], r ≠ r0 ∨ sk ≠ sk0 ∧ ¬ sk ∈ sks0 ∧ sk ≠ _type ⊦ (addobj(r0, class, sk0 ' + sks0, st)[r -- sk]) = st[r -- sk] |
⊦ addobj(r, class, sk ' + sks, st) = (addobj(r, class, sks, st)[r -- sk, initial_value(sk .fs .type)])
∀ r, r0, sk, class, st. r ≠ r0 ∨ ¬ sk ∈ sks0 ∧ sk ≠ _type → (addobj(r0, class, sks0, st)[r -- sk]) = st[r -- sk], r ≠ r0 ∨ sk ≠ sk0 ∧ ¬ sk ∈ sks0 ∧ sk ≠ _type ⊦ (addobj(r0, class, sks0, st)[r0 -- sk0, initial_value(sk0 .fs .type)][r -- sk]) = st[r -- sk]
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, sks0, sk0, class, r0)]]