YES TRS: rev(a()) -> a() rev(b()) -> b() rev(++(x,y)) -> ++(rev(y),rev(x)) rev(++(x,x)) -> rev(x) max/plus interpretations on N: rev_A(x1) = max{0, x1} rev#_A(x1) = max{0, x1} a_A = 0 a#_A = 0 b_A = 0 b#_A = 0 ++_A(x1,x2) = max{0, x1, x2} ++#_A(x1,x2) = max{0, x1, x2} precedence: a > rev > b = ++