| is_indexkey(fv .1), r -- sk ∈ addclass(class, fis0, st), r ∈ addclass(class, fis0, st), ∀ sk0, class0, r0, st0. ¬ sk0 ∈ fis0 ∧ sk0 ≠ mkfs(class0, void_type, `initstate' .field) ' → (r0 -- sk0 ∈ addclass(class0, fis0, st0) → r0 -- sk0 ∈ st0) ⊦ sk = mkfs(class, void_type, `initstate' .field) ', r -- sk ∈ st, sk ∈ fv ', sk ∈ fis0 |
fv = sk1 × val, is_indexkey(sk1), r -- sk ∈ addclass(class, fis0, st), r ∈ addclass(class, fis0, st), ∀ sk0, class0, r0, st0. ¬ sk0 ∈ fis0 ∧ sk0 ≠ mkfs(class0, void_type, `initstate' .field) ' → (r0 -- sk0 ∈ addclass(class0, fis0, st0) → r0 -- sk0 ∈ st0) ⊦ sk = mkfs(class, void_type, `initstate' .field) ', r -- sk ∈ st, sk ∈ fv ', sk ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ sk = fv .1 ∧ val = fv .2 ↔ fv = sk × val])], [EXTRATERMS : (fv, sk1, val)]]