NO Problem 1: (VAR v_NonEmpty:S N:S X:S Y:S Z:S) (RULES add(0,X:S) -> X:S add(s(X:S),Y:S) -> s(add(X:S,Y:S)) dbl(0) -> 0 dbl(s(X:S)) -> s(s(dbl(X:S))) first(0,X:S) -> nil first(s(X:S),cons(Y:S,Z:S)) -> cons(Y:S,first(X:S,Z:S)) half(dbl(X:S)) -> X:S half(0) -> 0 half(s(0)) -> 0 half(s(s(X:S))) -> s(half(X:S)) sqr(0) -> 0 sqr(s(X:S)) -> s(add(sqr(X:S),dbl(X:S))) terms(N:S) -> cons(recip(sqr(N:S)),terms(s(N:S))) ) Problem 1: Dependency Pairs Processor: -> Pairs: ADD(s(X:S),Y:S) -> ADD(X:S,Y:S) DBL(s(X:S)) -> DBL(X:S) FIRST(s(X:S),cons(Y:S,Z:S)) -> FIRST(X:S,Z:S) HALF(s(s(X:S))) -> HALF(X:S) SQR(s(X:S)) -> ADD(sqr(X:S),dbl(X:S)) SQR(s(X:S)) -> DBL(X:S) SQR(s(X:S)) -> SQR(X:S) TERMS(N:S) -> SQR(N:S) TERMS(N:S) -> TERMS(s(N:S)) -> Rules: add(0,X:S) -> X:S add(s(X:S),Y:S) -> s(add(X:S,Y:S)) dbl(0) -> 0 dbl(s(X:S)) -> s(s(dbl(X:S))) first(0,X:S) -> nil first(s(X:S),cons(Y:S,Z:S)) -> cons(Y:S,first(X:S,Z:S)) half(dbl(X:S)) -> X:S half(0) -> 0 half(s(0)) -> 0 half(s(s(X:S))) -> s(half(X:S)) sqr(0) -> 0 sqr(s(X:S)) -> s(add(sqr(X:S),dbl(X:S))) terms(N:S) -> cons(recip(sqr(N:S)),terms(s(N:S))) Problem 1: Infinite Processor: -> Pairs: ADD(s(X:S),Y:S) -> ADD(X:S,Y:S) DBL(s(X:S)) -> DBL(X:S) FIRST(s(X:S),cons(Y:S,Z:S)) -> FIRST(X:S,Z:S) HALF(s(s(X:S))) -> HALF(X:S) SQR(s(X:S)) -> ADD(sqr(X:S),dbl(X:S)) SQR(s(X:S)) -> DBL(X:S) SQR(s(X:S)) -> SQR(X:S) TERMS(N:S) -> SQR(N:S) TERMS(N:S) -> TERMS(s(N:S)) -> Rules: add(0,X:S) -> X:S add(s(X:S),Y:S) -> s(add(X:S,Y:S)) dbl(0) -> 0 dbl(s(X:S)) -> s(s(dbl(X:S))) first(0,X:S) -> nil first(s(X:S),cons(Y:S,Z:S)) -> cons(Y:S,first(X:S,Z:S)) half(dbl(X:S)) -> X:S half(0) -> 0 half(s(0)) -> 0 half(s(s(X:S))) -> s(half(X:S)) sqr(0) -> 0 sqr(s(X:S)) -> s(add(sqr(X:S),dbl(X:S))) terms(N:S) -> cons(recip(sqr(N:S)),terms(s(N:S))) -> Pairs in cycle: TERMS(N:S) -> TERMS(s(N:S)) The problem is infinite.