| r -- sk ∈ addclass(class, fis0, st), is_indexkey(sk), r ∈ addclass(class, fis0, st), ∀ sk0, r0, class0, st0. ¬ is_fskey(sk0) → (r0 -- sk0 ∈ addclass(class0, fis0, st0) → r0 -- sk0 ∈ st0) ⊦ fs .class = class, r -- sk ∈ st |
fs = mkfs(class1, ty, fieldvar), r -- sk ∈ addclass(class, fis0, st), is_indexkey(sk), r ∈ addclass(class, fis0, st), ∀ sk0, r0, class0, st0. ¬ is_fskey(sk0) → (r0 -- sk0 ∈ addclass(class0, fis0, st0) → r0 -- sk0 ∈ st0) ⊦ class1 = class, r -- sk ∈ st
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class1, ty, fieldvar)]]