| newref(r, st) ⊦ r = jvmref, (st[r -- _type, typeval(mkclasstype(class1))][_mode, throw(r, mkclasstype(class1))]) = st ∨ (∃ r0, class. (st[r -- _type, typeval(mkclasstype(class1))][_mode, throw(r, mkclasstype(class1))]) = (st[r0 -- _type, typeval(mkclasstype(class))][_mode, throw(r0, mkclasstype(class))]) ∧ newref(r0, st)) |
newref(r, st) ⊦ (st[r -- _type, typeval(mkclasstype(class1))][_mode, throw(r, mkclasstype(class1))]) = st, r = jvmref, ∃ r0, class. (st[r -- _type, typeval(mkclasstype(class1))][_mode, throw(r, mkclasstype(class1))]) = (st[r0 -- _type, typeval(mkclasstype(class))][_mode, throw(r0, mkclasstype(class))]) ∧ newref(r0, st)
[[CONCRETESIMPRULES : ()]]