| ∀ r, r0, sk, class, st. r ≠ r0 ∨ ¬ sk ∈ sks0 ∧ sk ≠ _type → (r -- sk ∈ addobj(r0, class, sks0, st) ↔ r -- sk ∈ st), r ≠ r0 ∨ sk ≠ sk0 ∧ ¬ sk ∈ sks0 ∧ sk ≠ _type ⊦ r -- sk ∈ addobj(r0, class, sk0 ' + sks0, st) ↔ r -- sk ∈ st |
⊦ 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 → (r -- sk ∈ addobj(r0, class, sks0, st) ↔ r -- sk ∈ st), r ≠ r0 ∨ sk ≠ sk0 ∧ ¬ sk ∈ sks0 ∧ sk ≠ _type ⊦ r -- sk ∈ (addobj(r0, class, sks0, st)[r0 -- sk0, initial_value(sk0 .fs .type)]) ↔ r -- sk ∈ st
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, sks0, sk0, class, r0)]]