YES Problem: f(x,f(a(),a())) -> f(f(x,a()),x) Proof: DP Processor: DPs: f#(x,f(a(),a())) -> f#(x,a()) f#(x,f(a(),a())) -> f#(f(x,a()),x) TRS: f(x,f(a(),a())) -> f(f(x,a()),x) EDG Processor: DPs: f#(x,f(a(),a())) -> f#(x,a()) f#(x,f(a(),a())) -> f#(f(x,a()),x) TRS: f(x,f(a(),a())) -> f(f(x,a()),x) graph: f#(x,f(a(),a())) -> f#(f(x,a()),x) -> f#(x,f(a(),a())) -> f#(x,a()) f#(x,f(a(),a())) -> f#(f(x,a()),x) -> f#(x,f(a(),a())) -> f#(f(x,a()),x) SCC Processor: #sccs: 1 #rules: 1 #arcs: 2/4 DPs: f#(x,f(a(),a())) -> f#(f(x,a()),x) TRS: f(x,f(a(),a())) -> f(f(x,a()),x) Matrix Interpretation Processor: dim=4 interpretation: [f#](x0, x1) = [0 1 1 0]x0 + [0 1 0 0]x1, [0 0 0 0] [1] [0 0 1 0] [0] [f](x0, x1) = [0 0 0 0]x0 + [0] [0 0 1 1] [0], [0] [0] [a] = [1] [0] orientation: f#(x,f(a(),a())) = [0 1 1 0]x + [1] >= [0 1 1 0]x = f#(f(x,a()),x) [0 0 0 0] [1] [0 0 0 0] [1] [0 0 1 0] [0] [0 0 0 0] [0] f(x,f(a(),a())) = [0 0 0 0]x + [0] >= [0 0 0 0]x + [0] = f(f(x,a()),x) [0 0 1 1] [0] [0 0 1 1] [0] problem: DPs: TRS: f(x,f(a(),a())) -> f(f(x,a()),x) Qed