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