YES TRS: a__f(a(),X,X) -> a__f(X,a__b(),b()) a__b() -> a() mark(f(X1,X2,X3)) -> a__f(X1,mark(X2),X3) mark(b()) -> a__b() mark(a()) -> a() a__f(X1,X2,X3) -> f(X1,X2,X3) a__b() -> b() max/plus interpretations on N: a__f_A(x1,x2,x3) = max{22, 10 + x1, 3 + x2, 16 + x3} a__f#_A(x1,x2,x3) = max{8, 7 + x1, 10, 12 + x3} a_A = 20 a#_A = 1 a__b_A = 20 a__b#_A = 13 b_A = 14 b#_A = 0 mark_A(x1) = max{15, 6 + x1} mark#_A(x1) = max{2, x1} f_A(x1,x2,x3) = max{11, 9 + x1, 3 + x2, 16 + x3} f#_A(x1,x2,x3) = max{11, -1, 12, -1} precedence: mark > a__f > a__b = f > b > a