YES exiting with thread! (VAR x y z ) (RULES *(*(x,y),z) -> *(x,*(y,z)) *(one,y) -> y g(x) -> *(f(x),x) *(f(x),*(x,y)) -> y *(f(one),x) -> x *(f(f(x)),y) -> *(x,y) *(x,*(f(x),y)) -> y *(f(*(x,y)),z) -> *(f(y),*(f(x),z)) )