YES TRS: terms(N) -> cons(recip(sqr(N))) sqr(0()) -> 0() sqr(s()) -> s() dbl(0()) -> 0() dbl(s()) -> s() add(0(),X) -> X add(s(),Y) -> s() first(0(),X) -> nil() first(s(),cons(Y)) -> cons(Y) linear polynomial interpretations on N: terms_A(x1) = x1 + 2 terms#_A(x1) = x1 + 2 cons_A(x1) = x1 cons#_A(x1) = x1 recip_A(x1) = x1 recip#_A(x1) = x1 sqr_A(x1) = x1 + 1 sqr#_A(x1) = x1 + 1 0_A = 1 0#_A = 1 s_A = 1 s#_A = 1 dbl_A(x1) = x1 + 1 dbl#_A(x1) = x1 + 1 add_A(x1,x2) = x1 + x2 + 1 add#_A(x1,x2) = x1 + x2 + 1 first_A(x1,x2) = x1 + x2 first#_A(x1,x2) = x1 + x2 nil_A = 0 nil#_A = 0 precedence: 0 > nil > terms = s = first > cons = recip = sqr = dbl = add