YES Problem: +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(0(),y) -> y +(s(x),y) -> s(+(x,y)) +(x,+(y,z)) -> +(+(x,y),z) f(g(f(x))) -> f(h(s(0()),x)) f(g(h(x,y))) -> f(h(s(x),y)) f(h(x,h(y,z))) -> f(h(+(x,y),z)) Proof: DP Processor: DPs: +#(x,s(y)) -> +#(x,y) +#(s(x),y) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) f#(g(f(x))) -> f#(h(s(0()),x)) f#(g(h(x,y))) -> f#(h(s(x),y)) f#(h(x,h(y,z))) -> +#(x,y) f#(h(x,h(y,z))) -> f#(h(+(x,y),z)) TRS: +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(0(),y) -> y +(s(x),y) -> s(+(x,y)) +(x,+(y,z)) -> +(+(x,y),z) f(g(f(x))) -> f(h(s(0()),x)) f(g(h(x,y))) -> f(h(s(x),y)) f(h(x,h(y,z))) -> f(h(+(x,y),z)) Usable Rule Processor: DPs: +#(x,s(y)) -> +#(x,y) +#(s(x),y) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) f#(g(f(x))) -> f#(h(s(0()),x)) f#(g(h(x,y))) -> f#(h(s(x),y)) f#(h(x,h(y,z))) -> +#(x,y) f#(h(x,h(y,z))) -> f#(h(+(x,y),z)) TRS: +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(0(),y) -> y +(s(x),y) -> s(+(x,y)) +(x,+(y,z)) -> +(+(x,y),z) Matrix Interpretation Processor: dim=1 usable rules: +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(0(),y) -> y +(s(x),y) -> s(+(x,y)) +(x,+(y,z)) -> +(+(x,y),z) interpretation: [f#](x0) = x0 + 1, [+#](x0, x1) = x0 + 3x1, [h](x0, x1) = x0 + 4x1 + 6, [g](x0) = x0 + 3, [f](x0) = 4x0 + 7, [s](x0) = x0 + 1, [+](x0, x1) = x0 + 3x1 + 1, [0] = 0 orientation: +#(x,s(y)) = x + 3y + 3 >= x + 3y = +#(x,y) +#(s(x),y) = x + 3y + 1 >= x + 3y = +#(x,y) +#(x,+(y,z)) = x + 3y + 9z + 3 >= x + 3y = +#(x,y) +#(x,+(y,z)) = x + 3y + 9z + 3 >= x + 3y + 3z + 1 = +#(+(x,y),z) f#(g(f(x))) = 4x + 11 >= 4x + 8 = f#(h(s(0()),x)) f#(g(h(x,y))) = x + 4y + 10 >= x + 4y + 8 = f#(h(s(x),y)) f#(h(x,h(y,z))) = x + 4y + 16z + 31 >= x + 3y = +#(x,y) f#(h(x,h(y,z))) = x + 4y + 16z + 31 >= x + 3y + 4z + 8 = f#(h(+(x,y),z)) +(x,0()) = x + 1 >= x = x +(x,s(y)) = x + 3y + 4 >= x + 3y + 2 = s(+(x,y)) +(0(),y) = 3y + 1 >= y = y +(s(x),y) = x + 3y + 2 >= x + 3y + 2 = s(+(x,y)) +(x,+(y,z)) = x + 3y + 9z + 4 >= x + 3y + 3z + 2 = +(+(x,y),z) problem: DPs: TRS: +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(0(),y) -> y +(s(x),y) -> s(+(x,y)) +(x,+(y,z)) -> +(+(x,y),z) Qed