YES Problem: 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) Proof: DP Processor: DPs: active#(f(f(X))) -> g#(f(X)) active#(f(f(X))) -> f#(g(f(X))) active#(f(f(X))) -> c#(f(g(f(X)))) active#(f(f(X))) -> mark#(c(f(g(f(X))))) active#(c(X)) -> d#(X) active#(c(X)) -> mark#(d(X)) active#(h(X)) -> d#(X) active#(h(X)) -> c#(d(X)) active#(h(X)) -> mark#(c(d(X))) mark#(f(X)) -> mark#(X) mark#(f(X)) -> f#(mark(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)) -> mark#(X) mark#(h(X)) -> h#(mark(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) 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) TDG Processor: DPs: active#(f(f(X))) -> g#(f(X)) active#(f(f(X))) -> f#(g(f(X))) active#(f(f(X))) -> c#(f(g(f(X)))) active#(f(f(X))) -> mark#(c(f(g(f(X))))) active#(c(X)) -> d#(X) active#(c(X)) -> mark#(d(X)) active#(h(X)) -> d#(X) active#(h(X)) -> c#(d(X)) active#(h(X)) -> mark#(c(d(X))) mark#(f(X)) -> mark#(X) mark#(f(X)) -> f#(mark(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)) -> mark#(X) mark#(h(X)) -> h#(mark(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) 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) graph: h#(mark(X)) -> h#(X) -> h#(active(X)) -> h#(X) h#(mark(X)) -> h#(X) -> h#(mark(X)) -> h#(X) h#(active(X)) -> h#(X) -> h#(active(X)) -> h#(X) h#(active(X)) -> h#(X) -> h#(mark(X)) -> h#(X) d#(mark(X)) -> d#(X) -> d#(active(X)) -> d#(X) d#(mark(X)) -> d#(X) -> d#(mark(X)) -> d#(X) d#(active(X)) -> d#(X) -> d#(active(X)) -> d#(X) d#(active(X)) -> d#(X) -> d#(mark(X)) -> d#(X) mark#(h(X)) -> h#(mark(X)) -> h#(active(X)) -> h#(X) mark#(h(X)) -> h#(mark(X)) -> h#(mark(X)) -> h#(X) mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> active#(h(mark(X))) mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> h#(mark(X)) mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X) mark#(h(X)) -> mark#(X) -> mark#(d(X)) -> active#(d(X)) mark#(h(X)) -> mark#(X) -> mark#(g(X)) -> active#(g(X)) mark#(h(X)) -> mark#(X) -> mark#(c(X)) -> active#(c(X)) mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> active#(f(mark(X))) mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> f#(mark(X)) mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X) mark#(h(X)) -> active#(h(mark(X))) -> active#(h(X)) -> mark#(c(d(X))) mark#(h(X)) -> active#(h(mark(X))) -> active#(h(X)) -> c#(d(X)) mark#(h(X)) -> active#(h(mark(X))) -> active#(h(X)) -> d#(X) mark#(h(X)) -> active#(h(mark(X))) -> active#(c(X)) -> mark#(d(X)) mark#(h(X)) -> active#(h(mark(X))) -> active#(c(X)) -> d#(X) mark#(h(X)) -> active#(h(mark(X))) -> active#(f(f(X))) -> mark#(c(f(g(f(X))))) mark#(h(X)) -> active#(h(mark(X))) -> active#(f(f(X))) -> c#(f(g(f(X)))) mark#(h(X)) -> active#(h(mark(X))) -> active#(f(f(X))) -> f#(g(f(X))) mark#(h(X)) -> active#(h(mark(X))) -> active#(f(f(X))) -> g#(f(X)) mark#(d(X)) -> active#(d(X)) -> active#(h(X)) -> mark#(c(d(X))) mark#(d(X)) -> active#(d(X)) -> active#(h(X)) -> c#(d(X)) mark#(d(X)) -> active#(d(X)) -> active#(h(X)) -> d#(X) mark#(d(X)) -> active#(d(X)) -> active#(c(X)) -> mark#(d(X)) mark#(d(X)) -> active#(d(X)) -> active#(c(X)) -> d#(X) mark#(d(X)) -> active#(d(X)) -> active#(f(f(X))) -> mark#(c(f(g(f(X))))) mark#(d(X)) -> active#(d(X)) -> active#(f(f(X))) -> c#(f(g(f(X)))) mark#(d(X)) -> active#(d(X)) -> active#(f(f(X))) -> f#(g(f(X))) mark#(d(X)) -> active#(d(X)) -> active#(f(f(X))) -> g#(f(X)) mark#(c(X)) -> active#(c(X)) -> active#(h(X)) -> mark#(c(d(X))) mark#(c(X)) -> active#(c(X)) -> active#(h(X)) -> c#(d(X)) mark#(c(X)) -> active#(c(X)) -> active#(h(X)) -> d#(X) mark#(c(X)) -> active#(c(X)) -> active#(c(X)) -> mark#(d(X)) mark#(c(X)) -> active#(c(X)) -> active#(c(X)) -> d#(X) mark#(c(X)) -> active#(c(X)) -> active#(f(f(X))) -> mark#(c(f(g(f(X))))) mark#(c(X)) -> active#(c(X)) -> active#(f(f(X))) -> c#(f(g(f(X)))) mark#(c(X)) -> active#(c(X)) -> active#(f(f(X))) -> f#(g(f(X))) mark#(c(X)) -> active#(c(X)) -> active#(f(f(X))) -> g#(f(X)) mark#(g(X)) -> active#(g(X)) -> active#(h(X)) -> mark#(c(d(X))) mark#(g(X)) -> active#(g(X)) -> active#(h(X)) -> c#(d(X)) mark#(g(X)) -> active#(g(X)) -> active#(h(X)) -> d#(X) mark#(g(X)) -> active#(g(X)) -> active#(c(X)) -> mark#(d(X)) mark#(g(X)) -> active#(g(X)) -> active#(c(X)) -> d#(X) mark#(g(X)) -> active#(g(X)) -> active#(f(f(X))) -> mark#(c(f(g(f(X))))) mark#(g(X)) -> active#(g(X)) -> active#(f(f(X))) -> c#(f(g(f(X)))) mark#(g(X)) -> active#(g(X)) -> active#(f(f(X))) -> f#(g(f(X))) mark#(g(X)) -> active#(g(X)) -> active#(f(f(X))) -> g#(f(X)) mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> active#(h(mark(X))) mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> h#(mark(X)) mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X) mark#(f(X)) -> mark#(X) -> mark#(d(X)) -> active#(d(X)) mark#(f(X)) -> mark#(X) -> mark#(g(X)) -> active#(g(X)) mark#(f(X)) -> mark#(X) -> mark#(c(X)) -> active#(c(X)) 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#(h(X)) -> mark#(c(d(X))) mark#(f(X)) -> active#(f(mark(X))) -> active#(h(X)) -> c#(d(X)) mark#(f(X)) -> active#(f(mark(X))) -> active#(h(X)) -> d#(X) mark#(f(X)) -> active#(f(mark(X))) -> active#(c(X)) -> mark#(d(X)) mark#(f(X)) -> active#(f(mark(X))) -> active#(c(X)) -> d#(X) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(X))) -> mark#(c(f(g(f(X))))) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(X))) -> c#(f(g(f(X)))) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(X))) -> f#(g(f(X))) mark#(f(X)) -> active#(f(mark(X))) -> active#(f(f(X))) -> g#(f(X)) 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#(h(X)) -> d#(X) -> d#(active(X)) -> d#(X) active#(h(X)) -> d#(X) -> d#(mark(X)) -> d#(X) active#(h(X)) -> mark#(c(d(X))) -> mark#(h(X)) -> active#(h(mark(X))) active#(h(X)) -> mark#(c(d(X))) -> mark#(h(X)) -> h#(mark(X)) active#(h(X)) -> mark#(c(d(X))) -> mark#(h(X)) -> mark#(X) active#(h(X)) -> mark#(c(d(X))) -> mark#(d(X)) -> active#(d(X)) active#(h(X)) -> mark#(c(d(X))) -> mark#(g(X)) -> active#(g(X)) active#(h(X)) -> mark#(c(d(X))) -> mark#(c(X)) -> active#(c(X)) active#(h(X)) -> mark#(c(d(X))) -> mark#(f(X)) -> active#(f(mark(X))) active#(h(X)) -> mark#(c(d(X))) -> mark#(f(X)) -> f#(mark(X)) active#(h(X)) -> mark#(c(d(X))) -> mark#(f(X)) -> mark#(X) active#(h(X)) -> c#(d(X)) -> c#(active(X)) -> c#(X) active#(h(X)) -> c#(d(X)) -> c#(mark(X)) -> c#(X) active#(c(X)) -> d#(X) -> d#(active(X)) -> d#(X) active#(c(X)) -> d#(X) -> d#(mark(X)) -> d#(X) active#(c(X)) -> mark#(d(X)) -> mark#(h(X)) -> active#(h(mark(X))) active#(c(X)) -> mark#(d(X)) -> mark#(h(X)) -> h#(mark(X)) active#(c(X)) -> mark#(d(X)) -> mark#(h(X)) -> mark#(X) active#(c(X)) -> mark#(d(X)) -> mark#(d(X)) -> active#(d(X)) active#(c(X)) -> mark#(d(X)) -> mark#(g(X)) -> active#(g(X)) active#(c(X)) -> mark#(d(X)) -> mark#(c(X)) -> active#(c(X)) active#(c(X)) -> mark#(d(X)) -> mark#(f(X)) -> active#(f(mark(X))) active#(c(X)) -> mark#(d(X)) -> mark#(f(X)) -> f#(mark(X)) active#(c(X)) -> mark#(d(X)) -> mark#(f(X)) -> mark#(X) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(h(X)) -> active#(h(mark(X))) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(h(X)) -> h#(mark(X)) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(h(X)) -> mark#(X) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(d(X)) -> active#(d(X)) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(g(X)) -> active#(g(X)) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(c(X)) -> active#(c(X)) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(f(X)) -> active#(f(mark(X))) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(f(X)) -> f#(mark(X)) active#(f(f(X))) -> mark#(c(f(g(f(X))))) -> mark#(f(X)) -> mark#(X) active#(f(f(X))) -> c#(f(g(f(X)))) -> c#(active(X)) -> c#(X) active#(f(f(X))) -> c#(f(g(f(X)))) -> c#(mark(X)) -> c#(X) active#(f(f(X))) -> f#(g(f(X))) -> f#(active(X)) -> f#(X) active#(f(f(X))) -> f#(g(f(X))) -> f#(mark(X)) -> f#(X) active#(f(f(X))) -> g#(f(X)) -> g#(active(X)) -> g#(X) active#(f(f(X))) -> g#(f(X)) -> g#(mark(X)) -> g#(X) SCC Processor: #sccs: 6 #rules: 20 #arcs: 126/784 DPs: mark#(h(X)) -> mark#(X) mark#(f(X)) -> mark#(X) mark#(f(X)) -> active#(f(mark(X))) active#(f(f(X))) -> mark#(c(f(g(f(X))))) mark#(c(X)) -> active#(c(X)) active#(c(X)) -> mark#(d(X)) mark#(g(X)) -> active#(g(X)) active#(h(X)) -> mark#(c(d(X))) mark#(d(X)) -> active#(d(X)) mark#(h(X)) -> active#(h(mark(X))) 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) Matrix Interpretation Processor: dim=1 interpretation: [mark#](x0) = x0 + 2, [active#](x0) = x0 + 1, [h](x0) = x0 + 16, [d](x0) = x0 + 1, [mark](x0) = x0, [c](x0) = x0 + 4, [g](x0) = 0, [active](x0) = x0, [f](x0) = 4x0 + 8 orientation: mark#(h(X)) = X + 18 >= X + 2 = mark#(X) mark#(f(X)) = 4X + 10 >= X + 2 = mark#(X) mark#(f(X)) = 4X + 10 >= 4X + 9 = active#(f(mark(X))) active#(f(f(X))) = 16X + 41 >= 14 = mark#(c(f(g(f(X))))) mark#(c(X)) = X + 6 >= X + 5 = active#(c(X)) active#(c(X)) = X + 5 >= X + 3 = mark#(d(X)) mark#(g(X)) = 2 >= 1 = active#(g(X)) active#(h(X)) = X + 17 >= X + 7 = mark#(c(d(X))) mark#(d(X)) = X + 3 >= X + 2 = active#(d(X)) mark#(h(X)) = X + 18 >= X + 17 = active#(h(mark(X))) active(f(f(X))) = 16X + 40 >= 12 = mark(c(f(g(f(X))))) active(c(X)) = X + 4 >= X + 1 = mark(d(X)) active(h(X)) = X + 16 >= X + 5 = mark(c(d(X))) mark(f(X)) = 4X + 8 >= 4X + 8 = active(f(mark(X))) mark(c(X)) = X + 4 >= X + 4 = active(c(X)) mark(g(X)) = 0 >= 0 = active(g(X)) mark(d(X)) = X + 1 >= X + 1 = active(d(X)) mark(h(X)) = X + 16 >= X + 16 = active(h(mark(X))) f(mark(X)) = 4X + 8 >= 4X + 8 = f(X) f(active(X)) = 4X + 8 >= 4X + 8 = f(X) c(mark(X)) = X + 4 >= X + 4 = c(X) c(active(X)) = X + 4 >= X + 4 = c(X) g(mark(X)) = 0 >= 0 = g(X) g(active(X)) = 0 >= 0 = g(X) d(mark(X)) = X + 1 >= X + 1 = d(X) d(active(X)) = X + 1 >= X + 1 = d(X) h(mark(X)) = X + 16 >= X + 16 = h(X) h(active(X)) = X + 16 >= X + 16 = h(X) problem: DPs: 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) Qed DPs: c#(mark(X)) -> c#(X) c#(active(X)) -> c#(X) 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) Matrix Interpretation Processor: dim=3 interpretation: [c#](x0) = [1 0 1]x0 + [1], [0] [h](x0) = [0] [0], [0 0 1] [d](x0) = [0 0 0]x0 [0 0 0] , [1] [mark](x0) = x0 + [0] [0], [0 0 1] [c](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1] [g](x0) = [0 0 1]x0 + [0] [0 0 0] [0], [1] [active](x0) = x0 + [0] [0], [0 0 1] [f](x0) = [0 0 0]x0 [0 1 0] orientation: c#(mark(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = c#(X) c#(active(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = c#(X) [0 1 0] [1] [0 1 0] [1] active(f(f(X))) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(c(f(g(f(X))))) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] active(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] active(h(X)) = [0] >= [0] = mark(c(d(X))) [0] [0] [0 0 1] [1] [0 0 1] [1] mark(f(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(f(mark(X))) [0 1 0] [0] [0 1 0] [0] [0 0 1] [1] [0 0 1] [1] mark(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(c(X)) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [2] mark(g(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = active(g(X)) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] mark(d(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] mark(h(X)) = [0] >= [0] = active(h(mark(X))) [0] [0] [0 0 1] [0 0 1] f(mark(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] f(active(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] c(mark(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] c(active(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [1 0 0] [2] [1 0 0] [1] g(mark(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [1] g(active(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [0 0 1] [0 0 1] d(mark(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] d(active(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0] [0] h(mark(X)) = [0] >= [0] = h(X) [0] [0] [0] [0] h(active(X)) = [0] >= [0] = h(X) [0] [0] problem: DPs: 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) Qed DPs: g#(mark(X)) -> g#(X) g#(active(X)) -> g#(X) 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) Matrix Interpretation Processor: dim=3 interpretation: [g#](x0) = [1 0 1]x0 + [1], [0] [h](x0) = [0] [0], [0 0 1] [d](x0) = [0 0 0]x0 [0 0 0] , [1] [mark](x0) = x0 + [0] [0], [0 0 1] [c](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1] [g](x0) = [0 0 1]x0 + [0] [0 0 0] [0], [1] [active](x0) = x0 + [0] [0], [0 0 1] [f](x0) = [0 0 0]x0 [0 1 0] orientation: g#(mark(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = g#(X) g#(active(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = g#(X) [0 1 0] [1] [0 1 0] [1] active(f(f(X))) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(c(f(g(f(X))))) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] active(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] active(h(X)) = [0] >= [0] = mark(c(d(X))) [0] [0] [0 0 1] [1] [0 0 1] [1] mark(f(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(f(mark(X))) [0 1 0] [0] [0 1 0] [0] [0 0 1] [1] [0 0 1] [1] mark(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(c(X)) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [2] mark(g(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = active(g(X)) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] mark(d(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] mark(h(X)) = [0] >= [0] = active(h(mark(X))) [0] [0] [0 0 1] [0 0 1] f(mark(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] f(active(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] c(mark(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] c(active(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [1 0 0] [2] [1 0 0] [1] g(mark(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [1] g(active(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [0 0 1] [0 0 1] d(mark(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] d(active(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0] [0] h(mark(X)) = [0] >= [0] = h(X) [0] [0] [0] [0] h(active(X)) = [0] >= [0] = h(X) [0] [0] problem: DPs: 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) Qed DPs: f#(mark(X)) -> f#(X) f#(active(X)) -> f#(X) 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) Matrix Interpretation Processor: dim=3 interpretation: [f#](x0) = [1 0 1]x0 + [1], [0] [h](x0) = [0] [0], [0 0 1] [d](x0) = [0 0 0]x0 [0 0 0] , [1] [mark](x0) = x0 + [0] [0], [0 0 1] [c](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1] [g](x0) = [0 0 1]x0 + [0] [0 0 0] [0], [1] [active](x0) = x0 + [0] [0], [0 0 1] [f](x0) = [0 0 0]x0 [0 1 0] orientation: f#(mark(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = f#(X) f#(active(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = f#(X) [0 1 0] [1] [0 1 0] [1] active(f(f(X))) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(c(f(g(f(X))))) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] active(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] active(h(X)) = [0] >= [0] = mark(c(d(X))) [0] [0] [0 0 1] [1] [0 0 1] [1] mark(f(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(f(mark(X))) [0 1 0] [0] [0 1 0] [0] [0 0 1] [1] [0 0 1] [1] mark(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(c(X)) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [2] mark(g(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = active(g(X)) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] mark(d(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] mark(h(X)) = [0] >= [0] = active(h(mark(X))) [0] [0] [0 0 1] [0 0 1] f(mark(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] f(active(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] c(mark(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] c(active(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [1 0 0] [2] [1 0 0] [1] g(mark(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [1] g(active(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [0 0 1] [0 0 1] d(mark(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] d(active(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0] [0] h(mark(X)) = [0] >= [0] = h(X) [0] [0] [0] [0] h(active(X)) = [0] >= [0] = h(X) [0] [0] problem: DPs: 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) Qed DPs: d#(mark(X)) -> d#(X) d#(active(X)) -> d#(X) 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) Matrix Interpretation Processor: dim=3 interpretation: [d#](x0) = [1 0 1]x0 + [1], [0] [h](x0) = [0] [0], [0 0 1] [d](x0) = [0 0 0]x0 [0 0 0] , [1] [mark](x0) = x0 + [0] [0], [0 0 1] [c](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1] [g](x0) = [0 0 1]x0 + [0] [0 0 0] [0], [1] [active](x0) = x0 + [0] [0], [0 0 1] [f](x0) = [0 0 0]x0 [0 1 0] orientation: d#(mark(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = d#(X) d#(active(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = d#(X) [0 1 0] [1] [0 1 0] [1] active(f(f(X))) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(c(f(g(f(X))))) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] active(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] active(h(X)) = [0] >= [0] = mark(c(d(X))) [0] [0] [0 0 1] [1] [0 0 1] [1] mark(f(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(f(mark(X))) [0 1 0] [0] [0 1 0] [0] [0 0 1] [1] [0 0 1] [1] mark(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(c(X)) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [2] mark(g(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = active(g(X)) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] mark(d(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] mark(h(X)) = [0] >= [0] = active(h(mark(X))) [0] [0] [0 0 1] [0 0 1] f(mark(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] f(active(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] c(mark(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] c(active(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [1 0 0] [2] [1 0 0] [1] g(mark(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [1] g(active(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [0 0 1] [0 0 1] d(mark(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] d(active(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0] [0] h(mark(X)) = [0] >= [0] = h(X) [0] [0] [0] [0] h(active(X)) = [0] >= [0] = h(X) [0] [0] problem: DPs: 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) Qed DPs: h#(mark(X)) -> h#(X) h#(active(X)) -> h#(X) 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) Matrix Interpretation Processor: dim=3 interpretation: [h#](x0) = [1 0 1]x0 + [1], [0] [h](x0) = [0] [0], [0 0 1] [d](x0) = [0 0 0]x0 [0 0 0] , [1] [mark](x0) = x0 + [0] [0], [0 0 1] [c](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1] [g](x0) = [0 0 1]x0 + [0] [0 0 0] [0], [1] [active](x0) = x0 + [0] [0], [0 0 1] [f](x0) = [0 0 0]x0 [0 1 0] orientation: h#(mark(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = h#(X) h#(active(X)) = [1 0 1]X + [2] >= [1 0 1]X + [1] = h#(X) [0 1 0] [1] [0 1 0] [1] active(f(f(X))) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(c(f(g(f(X))))) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] active(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] active(h(X)) = [0] >= [0] = mark(c(d(X))) [0] [0] [0 0 1] [1] [0 0 1] [1] mark(f(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(f(mark(X))) [0 1 0] [0] [0 1 0] [0] [0 0 1] [1] [0 0 1] [1] mark(c(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(c(X)) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [2] mark(g(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = active(g(X)) [0 0 0] [0] [0 0 0] [0] [0 0 1] [1] [0 0 1] [1] mark(d(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(d(X)) [0 0 0] [0] [0 0 0] [0] [1] [1] mark(h(X)) = [0] >= [0] = active(h(mark(X))) [0] [0] [0 0 1] [0 0 1] f(mark(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] f(active(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 1 0] [0 1 0] [0 0 1] [0 0 1] c(mark(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] c(active(X)) = [0 0 0]X >= [0 0 0]X = c(X) [0 0 0] [0 0 0] [1 0 0] [2] [1 0 0] [1] g(mark(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [1 0 0] [2] [1 0 0] [1] g(active(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = g(X) [0 0 0] [0] [0 0 0] [0] [0 0 1] [0 0 1] d(mark(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0 0 1] [0 0 1] d(active(X)) = [0 0 0]X >= [0 0 0]X = d(X) [0 0 0] [0 0 0] [0] [0] h(mark(X)) = [0] >= [0] = h(X) [0] [0] [0] [0] h(active(X)) = [0] >= [0] = h(X) [0] [0] problem: DPs: 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) Qed