NO Problem 1: (VAR v_NonEmpty:S X:S Y:S Z:S) (RULES __(__(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 -> and(isList) isList -> isNeList isList -> tt isNeList -> and(isList) isNeList -> and(isNeList) isNeList -> isQid isNePal -> and(isQid) isNePal -> isQid isPal -> isNePal isPal -> tt isQid -> tt ) Problem 1: Extra Variables Processor: -> Rules: __(__(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 -> and(isList) isList -> isNeList isList -> tt isNeList -> and(isList) isNeList -> and(isNeList) isNeList -> isQid isNePal -> and(isQid) isNePal -> isQid isPal -> isNePal isPal -> tt isQid -> tt -> The system has extra variables. The problem is infinite.