YES TRS: ack_in(0(),n) -> ack_out(s(n)) ack_in(s(m),0()) -> u11(ack_in(m,s(0()))) u11(ack_out(n)) -> ack_out(n) ack_in(s(m),s(n)) -> u21(ack_in(s(m),n),m) u21(ack_out(n),m) -> u22(ack_in(m,n)) u22(ack_out(n)) -> ack_out(n) max/plus interpretations on N: ack_in_A(x1,x2) = max{1, -2, x2} ack_in#_A(x1,x2) = max{7, 5 + x1, 4} 0_A = 0 0#_A = 8 ack_out_A(x1) = max{0, 0} ack_out#_A(x1) = max{7, 1} s_A(x1) = max{0, 4 + x1} s#_A(x1) = max{0, 0} u11_A(x1) = max{0, -1} u11#_A(x1) = max{3, 0} u21_A(x1,x2) = max{4, 2, 3} u21#_A(x1,x2) = max{3, 9, 6 + x2} u22_A(x1) = max{4, 3} u22#_A(x1) = max{9, 2} precedence: ack_in > 0 > s = u21 > u11 = u22 > ack_out