YES exiting with thread! (VAR a x y z ) (RULES inverse(identity) -> identity multiply(inverse(x),x) -> identity multiply(x,identity) -> x multiply(identity,x) -> x multiply(x,inverse(x)) -> identity divide(a,x) -> multiply(a,inverse(x)) inverse(inverse(x)) -> x multiply(inverse(x),multiply(x,y)) -> y multiply(x,multiply(inverse(x),y)) -> y inverse(multiply(x,y)) -> multiply(inverse(y),inverse(x)) multiply(multiply(x,y),z) -> multiply(x,multiply(y,z)) )