| ∀ r, sk, class, st. r -- sk ∈ addobj(r, class, fis0, st) ↔ sk ∈ fis0 ∨ sk = _type ∨ r -- sk ∈ st ⊦ r -- sk0 ∈ (addobj(r, class, fis0, st)[r -- sk, val]) ↔ sk0 ∈ fis0 ∨ sk0 = _type ∨ r -- sk0 ∈ st ∨ sk0 = sk |
sk ≠ sk0 ⊦ r -- sk ∈ st[r -- sk0, val] ↔ r -- sk ∈ st
sk0 ≠ sk, ∀ r, sk, class, st. r -- sk ∈ addobj(r, class, fis0, st) ↔ sk ∈ fis0 ∨ sk = _type ∨ r -- sk ∈ st ⊦ r -- sk0 ∈ addobj(r, class, fis0, st) ↔ sk0 ∈ fis0 ∨ sk0 = _type ∨ r -- sk0 ∈ st ∨ sk0 = sk
[[CONCRETESIMPRULES : ([CSIMPSEQ : sk ≠ sk0 ⊦ r -- sk ∈ st[r -- sk0, val] ↔ r -- sk ∈ st], [CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st])], [EXTRATERMS : (val, sk, addobj(r, class, fis0, st), sk0, r)]]