YES (VAR x1 x0 x2 x y z) (RULES *(f(*(x1,x0)),x2) -> *(f(x0),*(f(x1),x2)) *(x1,*(f(x1),x0)) -> x0 *(f(f(x0)),x1) -> *(x0,x1) *(f(one()),x0) -> x0 *(f(x),*(x,y)) -> y g(x) -> *(f(x),x) *(one(),y) -> y *(*(x,y),z) -> *(x,*(y,z)) ) (COMMENT Termination is shown by LPO with precedence: one > g > f > * )