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) TDG 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) graph: mark#(c(X)) -> active#(c(X)) -> active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(c(X)) -> active#(c(X)) -> active#(f(f(a()))) -> c#(f(g(f(a())))) mark#(c(X)) -> active#(c(X)) -> active#(f(f(a()))) -> f#(g(f(a()))) mark#(c(X)) -> active#(c(X)) -> active#(f(f(a()))) -> g#(f(a())) mark#(g(X)) -> mark#(X) -> mark#(g(X)) -> active#(g(mark(X))) mark#(g(X)) -> mark#(X) -> mark#(g(X)) -> g#(mark(X)) mark#(g(X)) -> mark#(X) -> mark#(g(X)) -> mark#(X) mark#(g(X)) -> mark#(X) -> mark#(c(X)) -> active#(c(X)) mark#(g(X)) -> mark#(X) -> mark#(a()) -> active#(a()) mark#(g(X)) -> mark#(X) -> mark#(f(X)) -> active#(f(mark(X))) mark#(g(X)) -> mark#(X) -> mark#(f(X)) -> f#(mark(X)) mark#(g(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X) mark#(g(X)) -> g#(mark(X)) -> g#(active(X)) -> g#(X) mark#(g(X)) -> g#(mark(X)) -> g#(mark(X)) -> g#(X) mark#(g(X)) -> active#(g(mark(X))) -> active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(g(X)) -> active#(g(mark(X))) -> active#(f(f(a()))) -> c#(f(g(f(a())))) mark#(g(X)) -> active#(g(mark(X))) -> active#(f(f(a()))) -> f#(g(f(a()))) mark#(g(X)) -> active#(g(mark(X))) -> active#(f(f(a()))) -> g#(f(a())) mark#(f(X)) -> mark#(X) -> mark#(g(X)) -> active#(g(mark(X))) mark#(f(X)) -> mark#(X) -> mark#(g(X)) -> g#(mark(X)) mark#(f(X)) -> mark#(X) -> mark#(g(X)) -> mark#(X) mark#(f(X)) -> mark#(X) -> mark#(c(X)) -> active#(c(X)) mark#(f(X)) -> mark#(X) -> mark#(a()) -> active#(a()) mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> active#(f(mark(X))) mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> f#(mark(X)) mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X) mark#(f(X)) -> f#(mark(X)) -> f#(active(X)) -> f#(X) mark#(f(X)) -> f#(mark(X)) -> f#(mark(X)) -> f#(X) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(a()))) -> c#(f(g(f(a())))) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(a()))) -> f#(g(f(a()))) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(a()))) -> g#(f(a())) mark#(a()) -> active#(a()) -> active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(a()) -> active#(a()) -> active#(f(f(a()))) -> c#(f(g(f(a())))) mark#(a()) -> active#(a()) -> active#(f(f(a()))) -> f#(g(f(a()))) mark#(a()) -> active#(a()) -> active#(f(f(a()))) -> g#(f(a())) c#(mark(X)) -> c#(X) -> c#(active(X)) -> c#(X) c#(mark(X)) -> c#(X) -> c#(mark(X)) -> c#(X) c#(active(X)) -> c#(X) -> c#(active(X)) -> c#(X) c#(active(X)) -> c#(X) -> c#(mark(X)) -> c#(X) f#(mark(X)) -> f#(X) -> f#(active(X)) -> f#(X) f#(mark(X)) -> f#(X) -> f#(mark(X)) -> f#(X) f#(active(X)) -> f#(X) -> f#(active(X)) -> f#(X) f#(active(X)) -> f#(X) -> f#(mark(X)) -> f#(X) g#(mark(X)) -> g#(X) -> g#(active(X)) -> g#(X) g#(mark(X)) -> g#(X) -> g#(mark(X)) -> g#(X) g#(active(X)) -> g#(X) -> g#(active(X)) -> g#(X) g#(active(X)) -> g#(X) -> g#(mark(X)) -> g#(X) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(g(X)) -> active#(g(mark(X))) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(g(X)) -> g#(mark(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(g(X)) -> mark#(X) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(c(X)) -> active#(c(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(a()) -> active#(a()) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(f(X)) -> active#(f(mark(X))) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(f(X)) -> f#(mark(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) -> mark#(f(X)) -> mark#(X) active#(f(f(a()))) -> c#(f(g(f(a())))) -> c#(active(X)) -> c#(X) active#(f(f(a()))) -> c#(f(g(f(a())))) -> c#(mark(X)) -> c#(X) active#(f(f(a()))) -> f#(g(f(a()))) -> f#(active(X)) -> f#(X) active#(f(f(a()))) -> f#(g(f(a()))) -> f#(mark(X)) -> f#(X) active#(f(f(a()))) -> g#(f(a())) -> g#(active(X)) -> g#(X) active#(f(f(a()))) -> g#(f(a())) -> g#(mark(X)) -> g#(X) SCC Processor: #sccs: 4 #rules: 13 #arcs: 62/324 DPs: mark#(c(X)) -> active#(c(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(f(X)) -> mark#(X) mark#(f(X)) -> active#(f(mark(X))) mark#(a()) -> active#(a()) mark#(g(X)) -> mark#(X) mark#(g(X)) -> active#(g(mark(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: dimension: 1 interpretation: [mark#](x0) = x0, [active#](x0) = x0, [mark](x0) = x0, [c](x0) = 1, [g](x0) = x0 + 1, [active](x0) = x0, [f](x0) = x0, [a] = 1 orientation: mark#(c(X)) = 1 >= 1 = active#(c(X)) active#(f(f(a()))) = 1 >= 1 = mark#(c(f(g(f(a()))))) mark#(f(X)) = X >= X = mark#(X) mark#(f(X)) = X >= X = active#(f(mark(X))) mark#(a()) = 1 >= 1 = active#(a()) mark#(g(X)) = X + 1 >= X = mark#(X) mark#(g(X)) = X + 1 >= X + 1 = active#(g(mark(X))) active(f(f(a()))) = 1 >= 1 = mark(c(f(g(f(a()))))) mark(f(X)) = X >= X = active(f(mark(X))) mark(a()) = 1 >= 1 = active(a()) mark(c(X)) = 1 >= 1 = active(c(X)) mark(g(X)) = X + 1 >= X + 1 = active(g(mark(X))) f(mark(X)) = X >= X = f(X) f(active(X)) = X >= X = f(X) c(mark(X)) = 1 >= 1 = c(X) c(active(X)) = 1 >= 1 = c(X) g(mark(X)) = X + 1 >= X + 1 = g(X) g(active(X)) = X + 1 >= X + 1 = g(X) problem: DPs: mark#(c(X)) -> active#(c(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(f(X)) -> mark#(X) mark#(f(X)) -> active#(f(mark(X))) mark#(a()) -> active#(a()) mark#(g(X)) -> active#(g(mark(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: dimension: 1 interpretation: [mark#](x0) = x0, [active#](x0) = 0, [mark](x0) = x0, [c](x0) = 0, [g](x0) = 1, [active](x0) = x0, [f](x0) = x0, [a] = 0 orientation: mark#(c(X)) = 0 >= 0 = active#(c(X)) active#(f(f(a()))) = 0 >= 0 = mark#(c(f(g(f(a()))))) mark#(f(X)) = X >= X = mark#(X) mark#(f(X)) = X >= 0 = active#(f(mark(X))) mark#(a()) = 0 >= 0 = active#(a()) mark#(g(X)) = 1 >= 0 = active#(g(mark(X))) active(f(f(a()))) = 0 >= 0 = mark(c(f(g(f(a()))))) mark(f(X)) = X >= X = active(f(mark(X))) mark(a()) = 0 >= 0 = active(a()) mark(c(X)) = 0 >= 0 = active(c(X)) mark(g(X)) = 1 >= 1 = active(g(mark(X))) f(mark(X)) = X >= X = f(X) f(active(X)) = X >= X = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 1 >= 1 = g(X) g(active(X)) = 1 >= 1 = g(X) problem: DPs: mark#(c(X)) -> active#(c(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(f(X)) -> mark#(X) mark#(f(X)) -> active#(f(mark(X))) mark#(a()) -> active#(a()) 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: dimension: 1 interpretation: [mark#](x0) = x0, [active#](x0) = 0, [mark](x0) = x0, [c](x0) = 0, [g](x0) = 0, [active](x0) = x0, [f](x0) = x0, [a] = 1 orientation: mark#(c(X)) = 0 >= 0 = active#(c(X)) active#(f(f(a()))) = 0 >= 0 = mark#(c(f(g(f(a()))))) mark#(f(X)) = X >= X = mark#(X) mark#(f(X)) = X >= 0 = active#(f(mark(X))) mark#(a()) = 1 >= 0 = active#(a()) active(f(f(a()))) = 1 >= 0 = mark(c(f(g(f(a()))))) mark(f(X)) = X >= X = active(f(mark(X))) mark(a()) = 1 >= 1 = active(a()) mark(c(X)) = 0 >= 0 = active(c(X)) mark(g(X)) = 0 >= 0 = active(g(mark(X))) f(mark(X)) = X >= X = f(X) f(active(X)) = X >= X = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = g(X) problem: DPs: mark#(c(X)) -> active#(c(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) mark#(f(X)) -> mark#(X) mark#(f(X)) -> active#(f(mark(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: dimension: 1 interpretation: [mark#](x0) = x0, [active#](x0) = 0, [mark](x0) = x0, [c](x0) = 0, [g](x0) = 1, [active](x0) = x0, [f](x0) = x0 + 1, [a] = 0 orientation: mark#(c(X)) = 0 >= 0 = active#(c(X)) active#(f(f(a()))) = 0 >= 0 = mark#(c(f(g(f(a()))))) mark#(f(X)) = X + 1 >= X = mark#(X) mark#(f(X)) = X + 1 >= 0 = active#(f(mark(X))) active(f(f(a()))) = 2 >= 0 = mark(c(f(g(f(a()))))) mark(f(X)) = X + 1 >= X + 1 = active(f(mark(X))) mark(a()) = 0 >= 0 = active(a()) mark(c(X)) = 0 >= 0 = active(c(X)) mark(g(X)) = 1 >= 1 = active(g(mark(X))) f(mark(X)) = X + 1 >= X + 1 = f(X) f(active(X)) = X + 1 >= X + 1 = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 1 >= 1 = g(X) g(active(X)) = 1 >= 1 = g(X) problem: DPs: mark#(c(X)) -> active#(c(X)) active#(f(f(a()))) -> mark#(c(f(g(f(a()))))) 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: dimension: 1 interpretation: [mark#](x0) = 0, [active#](x0) = x0, [mark](x0) = x0, [c](x0) = 0, [g](x0) = 0, [active](x0) = x0, [f](x0) = x0, [a] = 1 orientation: mark#(c(X)) = 0 >= 0 = active#(c(X)) active#(f(f(a()))) = 1 >= 0 = mark#(c(f(g(f(a()))))) active(f(f(a()))) = 1 >= 0 = mark(c(f(g(f(a()))))) mark(f(X)) = X >= X = active(f(mark(X))) mark(a()) = 1 >= 1 = active(a()) mark(c(X)) = 0 >= 0 = active(c(X)) mark(g(X)) = 0 >= 0 = active(g(mark(X))) f(mark(X)) = X >= X = f(X) f(active(X)) = X >= X = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = g(X) problem: DPs: mark#(c(X)) -> active#(c(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: dimension: 1 interpretation: [mark#](x0) = 1, [active#](x0) = 0, [mark](x0) = 0, [c](x0) = 0, [g](x0) = 0, [active](x0) = 0, [f](x0) = 0, [a] = 0 orientation: mark#(c(X)) = 1 >= 0 = active#(c(X)) active(f(f(a()))) = 0 >= 0 = mark(c(f(g(f(a()))))) mark(f(X)) = 0 >= 0 = active(f(mark(X))) mark(a()) = 0 >= 0 = active(a()) mark(c(X)) = 0 >= 0 = active(c(X)) mark(g(X)) = 0 >= 0 = active(g(mark(X))) f(mark(X)) = 0 >= 0 = f(X) f(active(X)) = 0 >= 0 = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = 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 DPs: c#(mark(X)) -> c#(X) c#(active(X)) -> c#(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: dimension: 1 interpretation: [c#](x0) = x0 + 1, [mark](x0) = x0 + 1, [c](x0) = 0, [g](x0) = 0, [active](x0) = x0 + 1, [f](x0) = 0, [a] = 0 orientation: c#(mark(X)) = X + 2 >= X + 1 = c#(X) c#(active(X)) = X + 2 >= X + 1 = c#(X) active(f(f(a()))) = 1 >= 1 = mark(c(f(g(f(a()))))) mark(f(X)) = 1 >= 1 = active(f(mark(X))) mark(a()) = 1 >= 1 = active(a()) mark(c(X)) = 1 >= 1 = active(c(X)) mark(g(X)) = 1 >= 1 = active(g(mark(X))) f(mark(X)) = 0 >= 0 = f(X) f(active(X)) = 0 >= 0 = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = 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 DPs: f#(mark(X)) -> f#(X) f#(active(X)) -> f#(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: dimension: 1 interpretation: [f#](x0) = x0 + 1, [mark](x0) = x0 + 1, [c](x0) = 0, [g](x0) = 0, [active](x0) = x0 + 1, [f](x0) = 0, [a] = 0 orientation: f#(mark(X)) = X + 2 >= X + 1 = f#(X) f#(active(X)) = X + 2 >= X + 1 = f#(X) active(f(f(a()))) = 1 >= 1 = mark(c(f(g(f(a()))))) mark(f(X)) = 1 >= 1 = active(f(mark(X))) mark(a()) = 1 >= 1 = active(a()) mark(c(X)) = 1 >= 1 = active(c(X)) mark(g(X)) = 1 >= 1 = active(g(mark(X))) f(mark(X)) = 0 >= 0 = f(X) f(active(X)) = 0 >= 0 = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = 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 DPs: 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: dimension: 1 interpretation: [g#](x0) = x0 + 1, [mark](x0) = x0 + 1, [c](x0) = 0, [g](x0) = 0, [active](x0) = x0 + 1, [f](x0) = 0, [a] = 0 orientation: g#(mark(X)) = X + 2 >= X + 1 = g#(X) g#(active(X)) = X + 2 >= X + 1 = g#(X) active(f(f(a()))) = 1 >= 1 = mark(c(f(g(f(a()))))) mark(f(X)) = 1 >= 1 = active(f(mark(X))) mark(a()) = 1 >= 1 = active(a()) mark(c(X)) = 1 >= 1 = active(c(X)) mark(g(X)) = 1 >= 1 = active(g(mark(X))) f(mark(X)) = 0 >= 0 = f(X) f(active(X)) = 0 >= 0 = f(X) c(mark(X)) = 0 >= 0 = c(X) c(active(X)) = 0 >= 0 = c(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = 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