| has_classtype(ty), same-subclasses-contains(ty .jtelemtype .class, str, str0), type∃(str, ty), contains(str0, ty, ty0) ⊦ contains(str, ty, ty0) |
⊦ contains(str, ty, ty0) ↔ (∃ tys. contains(str, ty ' + (tys + ty0)) ∧ ¬ dups(ty ' + tys))
has_classtype(ty), same-subclasses-contains(ty .jtelemtype .class, str, str0), type∃(str, ty), ∃ tys. contains(str0, ty ' + (tys + ty0)) ∧ ¬ dups(ty ' + tys) ⊦ contains(str, ty, ty0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (ty0, ty, str0)]]