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