YES TRS: terms(N) -> cons(recip(sqr(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)) -> cons(Y) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X linear polynomial interpretations on N: terms_A(x1) = x1 + 2 terms#_A(x1) = x1 + 5 cons_A(x1) = x1 + 1 cons#_A(x1) = x1 recip_A(x1) = x1 recip#_A(x1) = x1 + 3 sqr_A(x1) = x1 + 1 sqr#_A(x1) = 4 0_A = 1 0#_A = 1 s_A(x1) = 1 s#_A(x1) = 2 add_A(x1,x2) = x2 + 1 add#_A(x1,x2) = 3 dbl_A(x1) = x1 + 1 dbl#_A(x1) = 3 first_A(x1,x2) = x2 first#_A(x1,x2) = x2 + 1 nil_A = 0 nil#_A = 0 half_A(x1) = x1 + 2 half#_A(x1) = 0 precedence: terms = recip = add = first > cons = sqr > 0 > dbl = nil > s > half