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