YES exiting with thread! (VAR b c x y z ) (RULES inverse(identity) -> identity multiply(inverse(x),x) -> identity multiply(x,identity) -> x inverse(inverse(x)) -> x multiply(x,inverse(x)) -> identity multiply(inverse(c),multiply(c,b)) -> b multiply(identity,x) -> x multiply(x,multiply(inverse(x),b)) -> b inverse(multiply(x,y)) -> multiply(inverse(y),inverse(x)) double_divide(x,y) -> multiply(inverse(x),inverse(y)) multiply(multiply(y,x),z) -> multiply(y,multiply(x,z)) )