YES Problem: 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) Proof: DP Processor: DPs: active#(c()) -> g#(c()) active#(c()) -> f#(g(c())) 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) 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) Matrix Interpretation Processor: dim=1 interpretation: [mark#](x0) = 4x0 + 2, [f#](x0) = x0, [g#](x0) = x0 + 1, [active#](x0) = 3x0 + 1, [mark](x0) = 2x0 + 4, [f](x0) = 1, [g](x0) = 0, [active](x0) = 2x0 + 3, [c] = 6 orientation: active#(c()) = 19 >= 7 = g#(c()) active#(c()) = 19 >= 0 = f#(g(c())) active#(c()) = 19 >= 6 = mark#(f(g(c()))) active#(f(g(X))) = 4 >= 2 = mark#(g(X)) mark#(c()) = 26 >= 19 = active#(c()) mark#(f(X)) = 6 >= 4 = active#(f(X)) mark#(g(X)) = 2 >= 1 = active#(g(X)) f#(mark(X)) = 2X + 4 >= X = f#(X) f#(active(X)) = 2X + 3 >= X = f#(X) g#(mark(X)) = 2X + 5 >= X + 1 = g#(X) g#(active(X)) = 2X + 4 >= X + 1 = g#(X) active(c()) = 15 >= 6 = mark(f(g(c()))) active(f(g(X))) = 5 >= 4 = mark(g(X)) mark(c()) = 16 >= 15 = active(c()) mark(f(X)) = 6 >= 5 = active(f(X)) mark(g(X)) = 4 >= 3 = active(g(X)) f(mark(X)) = 1 >= 1 = f(X) f(active(X)) = 1 >= 1 = f(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = g(X) problem: DPs: 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) Qed