YES TRS: active(c()) -> mark(f(g(c()))) active(f(g(X))) -> mark(g(X)) mark(c()) -> active(c()) mark(f(X)) -> active(f(X)) mark(g(X)) -> active(g(X)) f(mark(X)) -> f(X) f(active(X)) -> f(X) g(mark(X)) -> g(X) g(active(X)) -> g(X) max/plus interpretations on N: active_A(x1) = max{15, -8 + x1} active#_A(x1) = max{1, -4 + x1} c_A = 22 c#_A = 0 mark_A(x1) = max{15, -11 + x1} mark#_A(x1) = max{18, -1 + x1} f_A(x1) = max{1, -1} f#_A(x1) = max{18, 3} g_A(x1) = max{19, -3} g#_A(x1) = max{2, 14} precedence: active > g > f > mark > c