YES TRS: app(nil(),k) -> k app(l,nil()) -> l app(cons(x,l),k) -> cons(x,app(l,k)) sum(cons(x,nil())) -> cons(x,nil()) sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) plus(0(),y) -> y plus(s(x),y) -> s(plus(x,y)) linear polynomial interpretations on N: app_A(x1,x2) = x1 + x2 + 1 app#_A(x1,x2) = 1 nil_A = 1 nil#_A = 0 cons_A(x1,x2) = x2 + 2 cons#_A(x1,x2) = 1 sum_A(x1) = 3 sum#_A(x1) = x1 plus_A(x1,x2) = x1 + x2 + 1 plus#_A(x1,x2) = 2 0_A = 1 0#_A = 0 s_A(x1) = x1 + 1 s#_A(x1) = 1 precedence: sum > plus = s > app = cons = 0 > nil