NO Problem 1: (VAR v_NonEmpty:S X:S Y:S Z:S) (RULES U11(tt) -> U12(isNeList) U12(tt) -> tt U21(tt) -> U22(isList) U22(tt) -> U23(isList) U23(tt) -> tt U31(tt) -> U32(isQid) U32(tt) -> tt U41(tt) -> U42(isList) U42(tt) -> U43(isNeList) U43(tt) -> tt U51(tt) -> U52(isNeList) U52(tt) -> U53(isList) U53(tt) -> tt U61(tt) -> U62(isQid) U62(tt) -> tt U71(tt) -> U72(isNePal) U72(tt) -> tt __(__(X:S,Y:S),Z:S) -> __(X:S,__(Y:S,Z:S)) __(nil,X:S) -> X:S __(X:S,nil) -> X:S and(tt) -> X:S isList -> U11(isPalListKind) isList -> U21(and(isPalListKind)) isList -> tt isNeList -> U31(isPalListKind) isNeList -> U41(and(isPalListKind)) isNeList -> U51(and(isPalListKind)) isNePal -> U61(isPalListKind) isNePal -> and(and(isQid)) isPal -> U71(isPalListKind) isPal -> tt isPalListKind -> and(isPalListKind) isPalListKind -> tt isQid -> tt ) Problem 1: Extra Variables Processor: -> Rules: U11(tt) -> U12(isNeList) U12(tt) -> tt U21(tt) -> U22(isList) U22(tt) -> U23(isList) U23(tt) -> tt U31(tt) -> U32(isQid) U32(tt) -> tt U41(tt) -> U42(isList) U42(tt) -> U43(isNeList) U43(tt) -> tt U51(tt) -> U52(isNeList) U52(tt) -> U53(isList) U53(tt) -> tt U61(tt) -> U62(isQid) U62(tt) -> tt U71(tt) -> U72(isNePal) U72(tt) -> tt __(__(X:S,Y:S),Z:S) -> __(X:S,__(Y:S,Z:S)) __(nil,X:S) -> X:S __(X:S,nil) -> X:S and(tt) -> X:S isList -> U11(isPalListKind) isList -> U21(and(isPalListKind)) isList -> tt isNeList -> U31(isPalListKind) isNeList -> U41(and(isPalListKind)) isNeList -> U51(and(isPalListKind)) isNePal -> U61(isPalListKind) isNePal -> and(and(isQid)) isPal -> U71(isPalListKind) isPal -> tt isPalListKind -> and(isPalListKind) isPalListKind -> tt isQid -> tt -> The system has extra variables. The problem is infinite.