| same-subclasses(class, str, str1), same-subclasses-contains(class, str0, str1), same-subclasses-contains(class, str, str0), contains(str1, mkclasstype(class), mkclasstype(class0)) ⊦ contains(str0, mkclasstype(class), mkclasstype(class0)), same-subclasses(class0, str, str1), tdname+∃(str0, class), tdname+∃(str1, class) |
⊦ ¬ type∃(str, ty) → ¬ contains(str, ty, ty0)
⊦ tdname+∃(str0, class) ∧ ¬ tdname+∃(str, class) → ¬ same-subclasses-contains(class, str, str0)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ type∃(str, mkclasstype(class)) ↔ tdname+∃(str, class)])], [EXTRATERMS : (mkclasstype(class0), mkclasstype(class), str1)]]