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