| same-subclasses-contains(ty .jtelemtype .class, str, str0), tdname+∃(str0, ty .jtelemtype .class), st[r -- _type] .type ≤ ty, junkref(str, r, st) ⊦ r = jvmref, junkref(str0, r, st), same-subclasses-contains(st[r -- _type] .type .jtelemtype .class, str, str0) |
⊦ ¬ has_classtype(st[r -- _type] .type) ∧ r ≠ jvmref ∧ ¬ junkref(str, r, st) → ¬ junkref(str0, r, st)
¬ (¬ has_classtype(st[r -- _type] .type) ∧ r ≠ jvmref ∧ ¬ junkref(str0, r, st)), same-subclasses-contains(ty .jtelemtype .class, str, str0), tdname+∃(str0, ty .jtelemtype .class), st[r -- _type] .type ≤ ty, junkref(str, r, st) ⊦ r = jvmref, junkref(str0, r, st), same-subclasses-contains(st[r -- _type] .type .jtelemtype .class, str, str0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, r, str0, str)]]