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