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