YES TRS: active(f(f(a()))) -> mark(f(g(f(a())))) mark(f(X)) -> active(f(X)) mark(a()) -> active(a()) mark(g(X)) -> active(g(mark(X))) f(mark(X)) -> f(X) f(active(X)) -> f(X) g(mark(X)) -> g(X) g(active(X)) -> g(X) linear polynomial interpretations on N: active_A(x1) = x1 + 1 active#_A(x1) = x1 f_A(x1) = 2 f#_A(x1) = x1 + 4 a_A = 0 a#_A = 1 mark_A(x1) = x1 + 1 mark#_A(x1) = 3 g_A(x1) = 1 g#_A(x1) = 1 precedence: active > f > mark > a = g