YES TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) max/plus interpretations on N: double_A(x1) = max{0, x1} double#_A(x1) = max{0, x1} 0_A = 0 0#_A = 0 s_A(x1) = max{0, x1} s#_A(x1) = max{0, x1} +_A(x1,x2) = max{0, x1, x2} +#_A(x1,x2) = max{0, x1, x2} precedence: 0 > double > + > s