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 max/plus interpretations on N: double_A(x1) = max{1, 1 + x1} double#_A(x1) = max{4, 1} 0_A = 4 0#_A = 0 s_A(x1) = max{2, x1} s#_A(x1) = max{2, 3} half_A(x1) = max{3, 1 + x1} half#_A(x1) = max{1, -1} -_A(x1,x2) = max{0, x1, 0} -#_A(x1,x2) = max{0, 2, 1} if_A(x1,x2,x3) = max{0, x1, x2, x3} if#_A(x1,x2,x3) = max{0, x1, x2, x3} precedence: double > s > half = - = if > 0