YES TRS: active(f(f(X))) -> mark(c(f(g(f(X))))) active(c(X)) -> mark(d(X)) active(h(X)) -> mark(c(d(X))) mark(f(X)) -> active(f(mark(X))) mark(c(X)) -> active(c(X)) mark(g(X)) -> active(g(X)) mark(d(X)) -> active(d(X)) mark(h(X)) -> active(h(mark(X))) f(mark(X)) -> f(X) f(active(X)) -> f(X) c(mark(X)) -> c(X) c(active(X)) -> c(X) g(mark(X)) -> g(X) g(active(X)) -> g(X) d(mark(X)) -> d(X) d(active(X)) -> d(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) max/plus interpretations on N: active_A(x1) = max{5, x1} active#_A(x1) = max{89, 86 + x1} f_A(x1) = max{4, 31 + x1} f#_A(x1) = max{0, 1} mark_A(x1) = max{5, 5 + x1} mark#_A(x1) = max{100, 107 + x1} c_A(x1) = max{3, -109 + x1} c#_A(x1) = max{108, 109} g_A(x1) = max{6, 28 + x1} g#_A(x1) = max{120, 115 + x1} d_A(x1) = max{0, -18} d#_A(x1) = max{107, 94} h_A(x1) = max{0, 8 + x1} h#_A(x1) = max{110, 101 + x1} precedence: h > mark = d > active > c = g > f