| r -- sk ∈ addclass(class, fv ' + fis0, st), r ∈ addclass(class, fv ' + 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 |
⊦ is_indexkey(fv .1) → addclass(class, fv ' + fis, st) = addclass(class, fis, st)
¬ is_indexkey(fv .1), r -- sk ∈ addclass(class, fv ' + fis0, st), r ∈ addclass(class, fv ' + 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
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
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, fis0, fv, class)]]