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