| newref(r, st), newref(r, st0) ⊦ (addobj(r, class, fis, st) ∪ st0)[r -- sk] = (addobj(r, class, fis, st ∪ st0)[r -- sk]), r = jvmref, ¬ sk ∈ fis ∧ sk ≠ _type |
⊦ ¬ rk ∈ st0 → (st ∪ st0)[rk] = st[rk]
⊦ sk ∈ fis → (addobj(r, class, fis, st)[r -- sk]) = fis[sk]
⊦ sk ∈ fis → (addobj(r, class, fis, st)[r -- sk]) = fis[sk]
¬ _type ∈ fis ⊦ (addobj(r, class1, fis, st)[r -- _type]) = typeval(mkclasstype(class1))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ typeval(ty) = typeval(ty0) ↔ ty = ty0], [CSIMPSEQ : ⊦ rk ∈ st0 → (st ∪ st0)[rk] = st0[rk]], [CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ r ∈ st → ¬ newref(r, st)])], [EXTRATERMS : (r -- sk, st0, addobj(r, class, fis, st))]]