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