YES TRS: active(c()) -> mark(f(g(c()))) active(f(g(X))) -> mark(g(X)) proper(c()) -> ok(c()) proper(f(X)) -> f(proper(X)) proper(g(X)) -> g(proper(X)) f(ok(X)) -> ok(f(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{1, -13} active#_A(x1) = max{0, 12 + x1} c_A = 22 c#_A = 28 mark_A(x1) = max{1, -13} mark#_A(x1) = max{27, 17 + x1} f_A(x1) = max{6, 8 + x1} f#_A(x1) = max{2, 26} g_A(x1) = max{8, -14 + x1} g#_A(x1) = max{5, 17} proper_A(x1) = max{3, 3 + x1} proper#_A(x1) = max{27, 27} ok_A(x1) = max{8, -1 + x1} ok#_A(x1) = max{15, 1} top_A(x1) = max{0, 1} top#_A(x1) = max{16, 13 + x1} precedence: f > mark > top > active = proper > c = ok > g