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