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)) linear polynomial interpretations on N: active_A(x1) = x1 active#_A(x1) = x1 c_A = 6 c#_A = 5 mark_A(x1) = x1 + 1 mark#_A(x1) = x1 + 2 f_A(x1) = 3 f#_A(x1) = 5 g_A(x1) = 0 g#_A(x1) = 2 proper_A(x1) = x1 proper#_A(x1) = 8 ok_A(x1) = x1 ok#_A(x1) = x1 + 1 top_A(x1) = x1 top#_A(x1) = x1 + 8 precedence: ok > top > active > mark > proper > c = f > g