YES TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X linear polynomial interpretations on N: terms_A(x1) = x1 + 7 terms#_A(x1) = x1 + 8 cons_A(x1,x2) = x2 cons#_A(x1,x2) = 3 recip_A(x1) = 1 recip#_A(x1) = 7 sqr_A(x1) = x1 + 2 sqr#_A(x1) = x1 + 7 n__terms_A(x1) = x1 + 7 n__terms#_A(x1) = x1 + 7 n__s_A(x1) = x1 n__s#_A(x1) = 0 0_A = 0 0#_A = 5 s_A(x1) = x1 s#_A(x1) = 1 add_A(x1,x2) = x2 + 1 add#_A(x1,x2) = x2 + 2 dbl_A(x1) = x1 + 1 dbl#_A(x1) = 6 first_A(x1,x2) = x1 + x2 + 3 first#_A(x1,x2) = x1 + x2 + 4 nil_A = 0 nil#_A = 5 n__first_A(x1,x2) = x1 + x2 + 3 n__first#_A(x1,x2) = x1 + x2 + 3 activate_A(x1) = x1 activate#_A(x1) = x1 + 2 half_A(x1) = x1 half#_A(x1) = 6 precedence: n__terms > terms = recip > cons = sqr > dbl = activate > s = first > n__s = add = n__first = half > 0 > nil