YES TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) -(x,0()) -> x -(s(x),s(y)) -> -(x,y) if(0(),y,z) -> y if(s(x),y,z) -> z half(double(x)) -> x linear polynomial interpretations on N: double_A(x1) = x1 + 1 double#_A(x1) = x1 + 1 0_A = 1 0#_A = 3 s_A(x1) = x1 s#_A(x1) = 0 half_A(x1) = x1 + 1 half#_A(x1) = 4 -_A(x1,x2) = x1 -#_A(x1,x2) = 0 if_A(x1,x2,x3) = x2 + x3 if#_A(x1,x2,x3) = x1 + x2 + x3 precedence: double > s > 0 = - = if > half