| is_predefined_class(class), class ≤ `java.lang.Throwable' .class, newref(r, st) ⊦ r = jvmref, validref(str, r, mkclasstype(class), addobj(r, class, [], st)) |
⊦ validref(str, r, ty, st) ↔ r = jvmref ∨ st[r -- _type] .type ≤ ty ∧ ¬ junkref(str, r, st)
⊦ is_predefined_class(class) ∧ newref(r, st) → ¬ junkref(str, r, addobj(r, class, [], st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (addobj(r, class1, [], st) [r -- _type ] ) = typeval(mkclasstype(class1))], [CSIMPSEQ : ⊦ typeval(ty) .type = ty], [CSIMPSEQ : ⊦ mkclasstype(class1) ≤ mkclasstype(class2) ↔ class1 ≤ class2], [CSIMPSEQ : ⊦ class ≤ class])], [EXTRATERMS : (addobj(r, class, [], st), mkclasstype(class), r, str)]]