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