YES Problem: p(a(a(x0)),p(x1,p(a(x2),x3))) -> p(x2,p(a(a(b(x1))),p(a(a(x0)),x3))) Proof: DP Processor: DPs: p#(a(a(x0)),p(x1,p(a(x2),x3))) -> p#(a(a(x0)),x3) p#(a(a(x0)),p(x1,p(a(x2),x3))) -> p#(a(a(b(x1))),p(a(a(x0)),x3)) p#(a(a(x0)),p(x1,p(a(x2),x3))) -> p#(x2,p(a(a(b(x1))),p(a(a(x0)),x3))) TRS: p(a(a(x0)),p(x1,p(a(x2),x3))) -> p(x2,p(a(a(b(x1))),p(a(a(x0)),x3))) Matrix Interpretation Processor: dim=3 usable rules: p(a(a(x0)),p(x1,p(a(x2),x3))) -> p(x2,p(a(a(b(x1))),p(a(a(x0)),x3))) interpretation: [p#](x0, x1) = [0 1 0]x0 + [0 1 0]x1, [0] [b](x0) = [0] [0], [0 1 0] [0 0 1] [0] [p](x0, x1) = [0 0 1]x0 + [0 1 0]x1 + [1] [0 1 0] [0 1 0] [0], [1 1 1] [1] [a](x0) = [1 0 0]x0 + [0] [0 1 1] [0] orientation: p#(a(a(x0)),p(x1,p(a(x2),x3))) = [1 1 1]x0 + [0 0 1]x1 + [0 1 1]x2 + [0 1 0]x3 + [3] >= [1 1 1]x0 + [0 1 0]x3 + [1] = p#(a(a(x0)),x3) p#(a(a(x0)),p(x1,p(a(x2),x3))) = [1 1 1]x0 + [0 0 1]x1 + [0 1 1]x2 + [0 1 0]x3 + [3] >= [1 1 1]x0 + [0 1 0]x3 + [2] = p#(a(a(b(x1))),p(a(a(x0)),x3)) p#(a(a(x0)),p(x1,p(a(x2),x3))) = [1 1 1]x0 + [0 0 1]x1 + [0 1 1]x2 + [0 1 0]x3 + [3] >= [1 1 1]x0 + [0 1 0]x2 + [0 1 0]x3 + [2] = p#(x2,p(a(a(b(x1))),p(a(a(x0)),x3))) [1 1 1] [0 1 0] [0 1 1] [0 1 0] [2] [1 1 1] [0 1 0] [0 1 0] [2] p(a(a(x0)),p(x1,p(a(x2),x3))) = [1 1 1]x0 + [0 0 1]x1 + [0 1 1]x2 + [0 1 0]x3 + [3] >= [1 1 1]x0 + [0 0 1]x2 + [0 1 0]x3 + [3] = p(x2,p(a(a(b(x1))),p(a(a(x0)),x3))) [1 1 1] [0 0 1] [0 1 1] [0 1 0] [3] [1 1 1] [0 1 0] [0 1 0] [2] problem: DPs: TRS: p(a(a(x0)),p(x1,p(a(x2),x3))) -> p(x2,p(a(a(b(x1))),p(a(a(x0)),x3))) Qed