| ⊦ (addobj(r, class, (sk × val) ', st)[r -- (sk ' + sk0 ' + sks)]) = (addobj(r, class, (sk × val) ', st)[val .refval -- (sk0 ' + sks)]) |
⊦ addobj(r, class1, (sk × val) ', st) = (addobj(r, class1, [], st)[r -- sk, val])
⊦ addobj(r, class1, [], st) = st[r -- _type, typeval(mkclasstype(class1))]
⊦ (st[r -- _type, typeval(mkclasstype(class))][r -- sk, val][r -- (sk ' + sk0 ' + sks)]) = (st[r -- _type, typeval(mkclasstype(class))][r -- sk, val][val .refval -- (sk0 ' + sks)])
[[CONCRETESIMPRULES : ()]]