| ⊦ sk = _type, (addobj(r, class, fis, st)[r0 -- sk]) = st[r0 -- sk], sk ∈ fis |
⊦ addobj(r, class1, [], st) = st[r -- _type, typeval(mkclasstype(class1))]
∀ sk, r, class, st, r0. sk = _type ∨ (addobj(r, class, fis0, st)[r0 -- sk]) = st[r0 -- sk] ∨ sk ∈ fis0 ⊦ sk = _type, (addobj(r, class, fv + fis0, st)[r0 -- sk]) = st[r0 -- sk], sk ∈ fv + fis0
[[CONCRETESIMPRULES : ([CSIMPGEN : fieldinits generated by [], +;], [CSIMPSEQ : ⊦ sk ≠ sk0 → (st[r -- sk, val][r0 -- sk0]) = st[r0 -- sk0]])]]