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