YES TRS: a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y)) mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(g(X)) -> g(mark(X)) a__f(X1,X2) -> f(X1,X2) max/plus interpretations on N: a__f_A(x1,x2) = max{11, 3 + x1, x2} a__f#_A(x1,x2) = max{11, 3 + x1, x2} g_A(x1) = max{3, 6 + x1} g#_A(x1) = max{3, 6 + x1} mark_A(x1) = max{2, 4 + x1} mark#_A(x1) = max{2, 4 + x1} f_A(x1,x2) = max{10, 3 + x1, x2} f#_A(x1,x2) = max{10, 3 + x1, x2} precedence: mark > g > a__f > f