YES TRS: sum(cons(s(n),x),cons(m,y)) -> sum(cons(n,x),cons(s(m),y)) sum(cons(0(),x),y) -> sum(x,y) sum(nil(),y) -> y weight(cons(n,cons(m,x))) -> weight(sum(cons(n,cons(m,x)),cons(0(),x))) weight(cons(n,nil())) -> n linear polynomial interpretations on N: sum_A(x1,x2) = x2 sum#_A(x1,x2) = 3 cons_A(x1,x2) = x1 + x2 + 2 cons#_A(x1,x2) = 2 s_A(x1) = 0 s#_A(x1) = 1 0_A = 1 0#_A = 1 nil_A = 1 nil#_A = 0 weight_A(x1) = x1 weight#_A(x1) = x1 precedence: weight > cons = nil > sum = s = 0