YES TRS: -(x,0()) -> x -(s(x),s(y)) -> -(x,y) *(x,0()) -> 0() *(x,s(y)) -> +(*(x,y),x) if(true(),x,y) -> x if(false(),x,y) -> y odd(0()) -> false() odd(s(0())) -> true() odd(s(s(x))) -> odd(x) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) if(true(),x,y) -> true() if(false(),x,y) -> false() pow(x,y) -> f(x,y,s(0())) f(x,0(),z) -> z f(x,s(y),z) -> if(odd(s(y)),f(x,y,*(x,z)),f(*(x,x),half(s(y)),z)) max/plus interpretations on N: -_A(x1,x2) = max{0, x1, 0} -#_A(x1,x2) = max{0, -1, 1} 0_A = 0 0#_A = 13 s_A(x1) = max{9, 12 + x1} s#_A(x1) = max{1, -2 + x1} *_A(x1,x2) = max{3, 2, 2} *#_A(x1,x2) = max{1, -1, 1} +_A(x1,x2) = max{3, 3, 3} +#_A(x1,x2) = max{1, 0, -2} if_A(x1,x2,x3) = max{3, 4, x2, x3} if#_A(x1,x2,x3) = max{11, 1, -1, -1} true_A = 4 true#_A = 0 false_A = 4 false#_A = 12 odd_A(x1) = max{4, 3} odd#_A(x1) = max{6, -1} half_A(x1) = max{1, -10 + x1} half#_A(x1) = max{1, -11} pow_A(x1,x2) = max{13, 4, 4} pow#_A(x1,x2) = max{14, -3, 3 + x2} f_A(x1,x2,x3) = max{2, 4, 4, 1 + x3} f#_A(x1,x2,x3) = max{5, 2, 1 + x2, 4} precedence: pow > f > * > - = 0 = + > s = false = half > if = odd > true