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)) sum(plus(cons(0(),x),cons(y,l))) -> pred(sum(cons(s(x),cons(y,l)))) pred(cons(s(x),nil())) -> cons(x,nil()) linear polynomial interpretations on N: app_A(x1,x2) = x1 + x2 + 3 app#_A(x1,x2) = 7 nil_A = 1 nil#_A = 1 cons_A(x1,x2) = x2 + 3 cons#_A(x1,x2) = 5 sum_A(x1) = 5 sum#_A(x1) = x1 plus_A(x1,x2) = x2 + 4 plus#_A(x1,x2) = 3 0_A = 1 0#_A = 0 s_A(x1) = 1 s#_A(x1) = 2 pred_A(x1) = 4 pred#_A(x1) = 4 precedence: app > sum > cons = 0 > plus > s = pred > nil