| ∀ sk, r, class, st, r0. sk = _type ∨ (addobj(r, class, fis0, st)[r0 -- sk]) = st[r0 -- sk] ∨ sk ∈ fis0 ⊦ sk = _type, (addobj(r, class, fis0, st)[r -- fv .1, fv .2][r0 -- sk]) = st[r0 -- sk], sk ∈ fv ', sk ∈ fis0 |
fv = sk0 × val, ∀ sk, r, class, st, r0. sk = _type ∨ (addobj(r, class, fis0, st)[r0 -- sk]) = st[r0 -- sk] ∨ sk ∈ fis0 ⊦ sk = _type, (addobj(r, class, fis0, st)[r -- sk0, val][r0 -- sk]) = st[r0 -- sk], sk ∈ fv ', sk ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ sk = fv .1 ∧ val = fv .2 ↔ fv = sk × val])], [EXTRATERMS : (fv, sk0, val)]]