YES TRS: average(s(x),y) -> average(x,s(y)) average(x,s(s(s(y)))) -> s(average(s(x),y)) average(0(),0()) -> 0() average(0(),s(0())) -> 0() average(0(),s(s(0()))) -> s(0()) linear polynomial interpretations on N: average_A(x1,x2) = x1 + x2 average#_A(x1,x2) = x1 + x2 + 3 s_A(x1) = x1 + 1 s#_A(x1) = x1 0_A = 0 0#_A = 2 precedence: average > s > 0