YES Problem: g(c(x1)) -> g(f(c(x1))) g(f(c(x1))) -> g(f(f(c(x1)))) g(g(x1)) -> g(f(g(x1))) f(f(g(x1))) -> g(f(x1)) Proof: DP Processor: DPs: g#(c(x1)) -> f#(c(x1)) g#(c(x1)) -> g#(f(c(x1))) g#(f(c(x1))) -> f#(f(c(x1))) g#(f(c(x1))) -> g#(f(f(c(x1)))) g#(g(x1)) -> f#(g(x1)) g#(g(x1)) -> g#(f(g(x1))) f#(f(g(x1))) -> f#(x1) f#(f(g(x1))) -> g#(f(x1)) TRS: g(c(x1)) -> g(f(c(x1))) g(f(c(x1))) -> g(f(f(c(x1)))) g(g(x1)) -> g(f(g(x1))) f(f(g(x1))) -> g(f(x1)) Matrix Interpretation Processor: dim=3 interpretation: [f#](x0) = [3 0 0]x0, [g#](x0) = [2 2 3]x0, [0 0 2] [f](x0) = [1 0 0]x0 [1 0 0] , [0 0 0] [0] [g](x0) = [1 1 1]x0 + [1] [1 1 1] [1], [1 0 0] [1] [c](x0) = [2 1 1]x0 + [2] [0 0 0] [0] orientation: g#(c(x1)) = [6 2 2]x1 + [6] >= [3 0 0]x1 + [3] = f#(c(x1)) g#(c(x1)) = [6 2 2]x1 + [6] >= [5 0 0]x1 + [5] = g#(f(c(x1))) g#(f(c(x1))) = [5 0 0]x1 + [5] >= [0] = f#(f(c(x1))) g#(f(c(x1))) = [5 0 0]x1 + [5] >= [4 0 0]x1 + [4] = g#(f(f(c(x1)))) g#(g(x1)) = [5 5 5]x1 + [5] >= [0] = f#(g(x1)) g#(g(x1)) = [5 5 5]x1 + [5] >= [4 4 4]x1 + [4] = g#(f(g(x1))) f#(f(g(x1))) = [6 6 6]x1 + [6] >= [3 0 0]x1 = f#(x1) f#(f(g(x1))) = [6 6 6]x1 + [6] >= [5 0 4]x1 = g#(f(x1)) [0 0 0] [0] [0 0 0] [0] g(c(x1)) = [3 1 1]x1 + [4] >= [2 0 0]x1 + [3] = g(f(c(x1))) [3 1 1] [4] [2 0 0] [3] [0 0 0] [0] [0 0 0] [0] g(f(c(x1))) = [2 0 0]x1 + [3] >= [2 0 0]x1 + [3] = g(f(f(c(x1)))) [2 0 0] [3] [2 0 0] [3] [0 0 0] [0] [0 0 0] [0] g(g(x1)) = [2 2 2]x1 + [3] >= [2 2 2]x1 + [3] = g(f(g(x1))) [2 2 2] [3] [2 2 2] [3] [0 0 0] [0] [0 0 0] [0] f(f(g(x1))) = [2 2 2]x1 + [2] >= [2 0 2]x1 + [1] = g(f(x1)) [2 2 2] [2] [2 0 2] [1] problem: DPs: TRS: g(c(x1)) -> g(f(c(x1))) g(f(c(x1))) -> g(f(f(c(x1)))) g(g(x1)) -> g(f(g(x1))) f(f(g(x1))) -> g(f(x1)) Qed