YES (VAR x1 x0 x y z) (RULES inverse(multiply(x1,x0)) -> multiply(inverse(x0),inverse(x1)) inverse(inverse(x0)) -> x0 multiply(x1,multiply(inverse(x1),x0)) -> x0 multiply(inverse(x1),multiply(x1,x0)) -> x0 inverse(identity()) -> identity() multiply(multiply(x,y),z) -> multiply(x,multiply(y,z)) multiply(inverse(x),x) -> identity() multiply(identity(),x) -> x multiply(x,inverse(x)) -> identity() multiply(x,identity()) -> x ) (COMMENT Termination is shown by EKBO with interpretations on natural numbers multiply_A(x1,x2) = x1 + x2 + 1 identity_A = 1 inverse_A(x1) = x1 identity#_A = 0 weights w0 = 1 w(multiply) = 0 w(identity) = 1 w(inverse) = 0 and precedence: inverse > multiply > identity )