| st ⊆ st0, validrefs(str, r ' + refs0, mkclasstype(`java.lang.Object' .class), st0) ⊦ refs0 = [], junkref(str, r, st), validrefs(str, r ' + refs0, mkclasstype(`java.lang.Object' .class), st) |
⊦ validref(str, r, st[r -- _type] .type, st) ∧ st ⊆ st0 → (validrefs(str, r ' + refs, ty, st0) ↔ validrefs(str, r ' + refs, ty, st))
¬ (validref(str, r, st[r -- _type] .type, st) ∧ st ⊆ st0), st ⊆ st0, validrefs(str, r ' + refs0, mkclasstype(`java.lang.Object' .class), st0) ⊦ refs0 = [], junkref(str, r, st), validrefs(str, r ' + refs0, mkclasstype(`java.lang.Object' .class), st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (str, r, st, st0, refs0, mkclasstype(`java.lang.Object' .class))]]