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