| contains(str, ty, ty0), contains(str, ty0 ' + tys + ty1 ') ⊦ contains(str, ty, ty1), dups(tys), ty0 ∈ tys |
⊦ contains(str, ty, ty0) ↔ (∃ tys. contains(str, ty ' + (tys + ty0)) ∧ ¬ dups(ty ' + tys))
∃ tys. contains(str, ty ' + (tys + ty0)) ∧ ¬ dups(ty ' + tys), contains(str, ty0 ' + tys + ty1 ') ⊦ contains(str, ty, ty1), dups(tys), ty0 ∈ tys
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (ty0, ty, str)]]