YES TRS: active(f(f(a()))) -> mark(c(f(g(f(a()))))) active(f(X)) -> f(active(X)) active(g(X)) -> g(active(X)) f(mark(X)) -> mark(f(X)) g(mark(X)) -> mark(g(X)) proper(f(X)) -> f(proper(X)) proper(a()) -> ok(a()) proper(c(X)) -> c(proper(X)) proper(g(X)) -> g(proper(X)) f(ok(X)) -> ok(f(X)) c(ok(X)) -> ok(c(X)) g(ok(X)) -> ok(g(X)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) max/plus interpretations on N: active_A(x1) = max{18, -2 + x1} active#_A(x1) = max{2, 8 + x1} f_A(x1) = max{7, x1} f#_A(x1) = max{0, 13} a_A = 41 a#_A = 14 mark_A(x1) = max{38, 20 + x1} mark#_A(x1) = max{5, 12} c_A(x1) = max{19, -1} c#_A(x1) = max{8, 3} g_A(x1) = max{18, x1} g#_A(x1) = max{12, 6} proper_A(x1) = max{9, 1 + x1} proper#_A(x1) = max{21, 4} ok_A(x1) = max{19, -1 + x1} ok#_A(x1) = max{1, 7} top_A(x1) = max{0, 1} top#_A(x1) = max{20, 10 + x1} precedence: top > proper > f > ok > c > active > a = g > mark