YES Problem: active(f(f(a()))) -> mark(c(f(g(f(a()))))) mark(f(X)) -> active(f(mark(X))) mark(a()) -> active(a()) mark(c(X)) -> active(c(X)) mark(g(X)) -> active(g(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) Proof: DP Processor: DPs: active#(f(f(a()))) -> g#(f(a())) active#(f(f(a()))) -> f#(g(f(a()))) active#(f(f(a()))) -> c#(f(g(f(a())))) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(f(X)) -> mark#(X) mark#(f(X)) -> f#(mark(X)) mark#(f(X)) -> active#(f(mark(X))) mark#(a()) -> active#(a()) mark#(c(X)) -> active#(c(X)) mark#(g(X)) -> mark#(X) mark#(g(X)) -> g#(mark(X)) mark#(g(X)) -> active#(g(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) TRS: active(f(f(a()))) -> mark(c(f(g(f(a()))))) mark(f(X)) -> active(f(mark(X))) mark(a()) -> active(a()) mark(c(X)) -> active(c(X)) mark(g(X)) -> active(g(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) Matrix Interpretation Processor: dim=1 interpretation: [mark#](x0) = 2x0 + 7, [c#](x0) = x0 + 1, [f#](x0) = x0, [g#](x0) = x0 + 2, [active#](x0) = x0 + 4, [mark](x0) = 2x0 + 4, [c](x0) = 4, [g](x0) = x0 + 2, [active](x0) = x0 + 2, [f](x0) = x0 + 6, [a] = 7 orientation: active#(f(f(a()))) = 23 >= 15 = g#(f(a())) active#(f(f(a()))) = 23 >= 15 = f#(g(f(a()))) active#(f(f(a()))) = 23 >= 22 = c#(f(g(f(a())))) active#(f(f(a()))) = 23 >= 15 = mark#(c(f(g(f(a()))))) mark#(f(X)) = 2X + 19 >= 2X + 7 = mark#(X) mark#(f(X)) = 2X + 19 >= 2X + 4 = f#(mark(X)) mark#(f(X)) = 2X + 19 >= 2X + 14 = active#(f(mark(X))) mark#(a()) = 21 >= 11 = active#(a()) mark#(c(X)) = 15 >= 8 = active#(c(X)) mark#(g(X)) = 2X + 11 >= 2X + 7 = mark#(X) mark#(g(X)) = 2X + 11 >= 2X + 6 = g#(mark(X)) mark#(g(X)) = 2X + 11 >= 2X + 10 = active#(g(mark(X))) f#(mark(X)) = 2X + 4 >= X = f#(X) f#(active(X)) = X + 2 >= X = f#(X) c#(mark(X)) = 2X + 5 >= X + 1 = c#(X) c#(active(X)) = X + 3 >= X + 1 = c#(X) g#(mark(X)) = 2X + 6 >= X + 2 = g#(X) g#(active(X)) = X + 4 >= X + 2 = g#(X) active(f(f(a()))) = 21 >= 12 = mark(c(f(g(f(a()))))) mark(f(X)) = 2X + 16 >= 2X + 12 = active(f(mark(X))) mark(a()) = 18 >= 9 = active(a()) mark(c(X)) = 12 >= 6 = active(c(X)) mark(g(X)) = 2X + 8 >= 2X + 8 = active(g(mark(X))) f(mark(X)) = 2X + 10 >= X + 6 = f(X) f(active(X)) = X + 8 >= X + 6 = f(X) c(mark(X)) = 4 >= 4 = c(X) c(active(X)) = 4 >= 4 = c(X) g(mark(X)) = 2X + 6 >= X + 2 = g(X) g(active(X)) = X + 4 >= X + 2 = g(X) problem: DPs: TRS: active(f(f(a()))) -> mark(c(f(g(f(a()))))) mark(f(X)) -> active(f(mark(X))) mark(a()) -> active(a()) mark(c(X)) -> active(c(X)) mark(g(X)) -> active(g(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) Qed