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{15, 12 + x1, 6 + x2, 13 + x3} a__f#_A(x1,x2,x3) = max{15, 12 + x1, 6 + x2, 13 + x3} a_A = 4 a#_A = 4 a__b_A = 5 a__b#_A = 5 b_A = 1 b#_A = 1 mark_A(x1) = max{9, 7 + x1} mark#_A(x1) = max{9, 7 + x1} f_A(x1,x2,x3) = max{7, 8 + x1, 6 + x2, 6 + x3} f#_A(x1,x2,x3) = max{7, 8 + x1, 6 + x2, 6 + x3} precedence: a > a__b > mark > a__f > b = f