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