NO Problem 1: (VAR v_NonEmpty:S x:S y:S) (RULES ap(ap(g,x:S),y:S) -> y:S ap(f,x:S) -> ap(f,app(g,x:S)) ) Problem 1: Dependency Pairs Processor: -> Pairs: AP(f,x:S) -> AP(f,app(g,x:S)) -> Rules: ap(ap(g,x:S),y:S) -> y:S ap(f,x:S) -> ap(f,app(g,x:S)) Problem 1: Infinite Processor: -> Pairs: AP(f,x:S) -> AP(f,app(g,x:S)) -> Rules: ap(ap(g,x:S),y:S) -> y:S ap(f,x:S) -> ap(f,app(g,x:S)) -> Pairs in cycle: AP(f,x:S) -> AP(f,app(g,x:S)) The problem is infinite.