NO Problem 1: (VAR v_NonEmpty:S N:S X:S XS:S Y:S) (RULES incr(cons(X:S)) -> cons(s(X:S)) oddNs -> incr(pairNs) pairNs -> cons(0) repItems(cons(X:S)) -> cons(X:S) repItems(nil) -> nil tail(cons(X:S)) -> XS:S take(0,XS:S) -> nil take(s(N:S),cons(X:S)) -> cons(X:S) zip(cons(X:S),cons(Y:S)) -> cons(pair(X:S,Y:S)) zip(nil,XS:S) -> nil zip(X:S,nil) -> nil ) Problem 1: Extra Variables Processor: -> Rules: incr(cons(X:S)) -> cons(s(X:S)) oddNs -> incr(pairNs) pairNs -> cons(0) repItems(cons(X:S)) -> cons(X:S) repItems(nil) -> nil tail(cons(X:S)) -> XS:S take(0,XS:S) -> nil take(s(N:S),cons(X:S)) -> cons(X:S) zip(cons(X:S),cons(Y:S)) -> cons(pair(X:S,Y:S)) zip(nil,XS:S) -> nil zip(X:S,nil) -> nil -> The system has extra variables. The problem is infinite.