YES 1: +(x1,0()) -> x1 2: +(x1,s(x2)) -> s(+(x1,x2)) 3: +(0(),x2) -> x2 4: +(s(x1),x2) -> s(+(x1,x2)) 5: dbl(x1) -> +(x1,x1) 6: +(+(x1,x2),x3) -> +(x1,+(x2,x3)) 7: +(x1,x2) -> +(x2,x1) 8: dbl(+(x1,x2)) -> +(dbl(x1),dbl(x2)) @Jouannaud and Kirchner's criterion --- R 1: +(x1,0()) -> x1 2: +(x1,s(x2)) -> s(+(x1,x2)) 3: +(0(),x2) -> x2 4: +(s(x1),x2) -> s(+(x1,x2)) 5: dbl(x1) -> +(x1,x1) 6: +(+(x1,x2),x3) -> +(x1,+(x2,x3)) 7: +(x1,x2) -> +(x2,x1) 8: dbl(+(x1,x2)) -> +(dbl(x1),dbl(x2)) --- S 1: +(x1,0()) -> x1 2: +(x1,s(x2)) -> s(+(x1,x2)) 3: +(0(),x2) -> x2 4: +(s(x1),x2) -> s(+(x1,x2)) 5: dbl(x1) -> +(x1,x1) 6: +(+(x1,x2),x3) -> +(x1,+(x2,x3)) 7: +(x1,x2) -> +(x2,x1) 8: dbl(+(x1,x2)) -> +(dbl(x1),dbl(x2))