YES Problem: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) h(X) -> c(n__d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X Proof: DP Processor: DPs: f#(f(X)) -> c#(n__f(n__g(n__f(X)))) c#(X) -> activate#(X) c#(X) -> d#(activate(X)) h#(X) -> c#(n__d(X)) activate#(n__f(X)) -> activate#(X) activate#(n__f(X)) -> f#(activate(X)) activate#(n__g(X)) -> g#(X) activate#(n__d(X)) -> d#(X) TRS: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) h(X) -> c(n__d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X TDG Processor: DPs: f#(f(X)) -> c#(n__f(n__g(n__f(X)))) c#(X) -> activate#(X) c#(X) -> d#(activate(X)) h#(X) -> c#(n__d(X)) activate#(n__f(X)) -> activate#(X) activate#(n__f(X)) -> f#(activate(X)) activate#(n__g(X)) -> g#(X) activate#(n__d(X)) -> d#(X) TRS: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) h(X) -> c(n__d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X graph: h#(X) -> c#(n__d(X)) -> c#(X) -> d#(activate(X)) h#(X) -> c#(n__d(X)) -> c#(X) -> activate#(X) activate#(n__f(X)) -> activate#(X) -> activate#(n__d(X)) -> d#(X) activate#(n__f(X)) -> activate#(X) -> activate#(n__g(X)) -> g#(X) activate#(n__f(X)) -> activate#(X) -> activate#(n__f(X)) -> f#(activate(X)) activate#(n__f(X)) -> activate#(X) -> activate#(n__f(X)) -> activate#(X) activate#(n__f(X)) -> f#(activate(X)) -> f#(f(X)) -> c#(n__f(n__g(n__f(X)))) c#(X) -> activate#(X) -> activate#(n__d(X)) -> d#(X) c#(X) -> activate#(X) -> activate#(n__g(X)) -> g#(X) c#(X) -> activate#(X) -> activate#(n__f(X)) -> f#(activate(X)) c#(X) -> activate#(X) -> activate#(n__f(X)) -> activate#(X) f#(f(X)) -> c#(n__f(n__g(n__f(X)))) -> c#(X) -> d#(activate(X)) f#(f(X)) -> c#(n__f(n__g(n__f(X)))) -> c#(X) -> activate#(X) CDG Processor: DPs: f#(f(X)) -> c#(n__f(n__g(n__f(X)))) c#(X) -> activate#(X) c#(X) -> d#(activate(X)) h#(X) -> c#(n__d(X)) activate#(n__f(X)) -> activate#(X) activate#(n__f(X)) -> f#(activate(X)) activate#(n__g(X)) -> g#(X) activate#(n__d(X)) -> d#(X) TRS: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) h(X) -> c(n__d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X graph: h#(X) -> c#(n__d(X)) -> c#(X) -> activate#(X) h#(X) -> c#(n__d(X)) -> c#(X) -> d#(activate(X)) activate#(n__f(X)) -> activate#(X) -> activate#(n__f(X)) -> activate#(X) activate#(n__f(X)) -> activate#(X) -> activate#(n__f(X)) -> f#(activate(X)) activate#(n__f(X)) -> activate#(X) -> activate#(n__g(X)) -> g#(X) activate#(n__f(X)) -> f#(activate(X)) -> f#(f(X)) -> c#(n__f(n__g(n__f(X)))) c#(X) -> activate#(X) -> activate#(n__f(X)) -> activate#(X) c#(X) -> activate#(X) -> activate#(n__f(X)) -> f#(activate(X)) c#(X) -> activate#(X) -> activate#(n__g(X)) -> g#(X) f#(f(X)) -> c#(n__f(n__g(n__f(X)))) -> c#(X) -> activate#(X) f#(f(X)) -> c#(n__f(n__g(n__f(X)))) -> c#(X) -> d#(activate(X)) SCC Processor: #sccs: 1 #rules: 4 #arcs: 11/64 DPs: c#(X) -> activate#(X) activate#(n__f(X)) -> f#(activate(X)) f#(f(X)) -> c#(n__f(n__g(n__f(X)))) activate#(n__f(X)) -> activate#(X) TRS: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) h(X) -> c(n__d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X Matrix Interpretation Processor: dim=3 interpretation: [activate#](x0) = [1 0 1]x0, [c#](x0) = [1 0 1]x0 + [1], [f#](x0) = [1 1 1]x0, [1 0 0] [g](x0) = [0 0 0]x0 [0 0 0] , [0] [n__d](x0) = [0] [0], [0 1 1] [1] [h](x0) = [0 0 1]x0 + [0] [0 1 0] [1], [0] [d](x0) = [0] [0], [1 0 1] [activate](x0) = [0 1 0]x0 [0 0 1] , [1] [c](x0) = [0] [1], [1 0 0] [n__g](x0) = [0 0 0]x0 [0 0 0] , [1 0 1] [0] [n__f](x0) = [0 0 0]x0 + [1] [0 1 1] [1], [1 0 1] [1] [f](x0) = [0 0 0]x0 + [1] [0 1 1] [1] orientation: c#(X) = [1 0 1]X + [1] >= [1 0 1]X = activate#(X) activate#(n__f(X)) = [1 1 2]X + [1] >= [1 1 2]X = f#(activate(X)) f#(f(X)) = [1 1 2]X + [3] >= [1 0 1]X + [2] = c#(n__f(n__g(n__f(X)))) activate#(n__f(X)) = [1 1 2]X + [1] >= [1 0 1]X = activate#(X) [1 1 2] [3] [1] f(f(X)) = [0 0 0]X + [1] >= [0] = c(n__f(n__g(n__f(X)))) [0 1 1] [3] [1] [1] [0] c(X) = [0] >= [0] = d(activate(X)) [1] [0] [0 1 1] [1] [1] h(X) = [0 0 1]X + [0] >= [0] = c(n__d(X)) [0 1 0] [1] [1] [1 0 1] [1] [1 0 1] [0] f(X) = [0 0 0]X + [1] >= [0 0 0]X + [1] = n__f(X) [0 1 1] [1] [0 1 1] [1] [1 0 0] [1 0 0] g(X) = [0 0 0]X >= [0 0 0]X = n__g(X) [0 0 0] [0 0 0] [0] [0] d(X) = [0] >= [0] = n__d(X) [0] [0] [1 1 2] [1] [1 0 2] [1] activate(n__f(X)) = [0 0 0]X + [1] >= [0 0 0]X + [1] = f(activate(X)) [0 1 1] [1] [0 1 1] [1] [1 0 0] [1 0 0] activate(n__g(X)) = [0 0 0]X >= [0 0 0]X = g(X) [0 0 0] [0 0 0] [0] [0] activate(n__d(X)) = [0] >= [0] = d(X) [0] [0] [1 0 1] activate(X) = [0 1 0]X >= X = X [0 0 1] problem: DPs: TRS: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) h(X) -> c(n__d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X Qed