YES (VAR x0 x1 x2 a) (RULES multiply(x0,multiply(x1,x2)) -> multiply(multiply(x0,x1),x2) inverse(multiply(x0,x1)) -> multiply(inverse(x1),inverse(x0)) multiply(multiply(x0,inverse(x1)),x1) -> x0 multiply(a,inverse(a)) -> identity() multiply(multiply(x0,x1),inverse(x1)) -> x0 divide(x0,x1) -> multiply(x0,inverse(x1)) multiply(identity(),x0) -> x0 multiply(x0,identity()) -> x0 inverse(inverse(x0)) -> x0 multiply(inverse(x0),x0) -> identity() inverse(identity()) -> identity() ) (COMMENT Termination is shown by ELPO with interpretations on natural numbers divide_A(x1,x2) = x1 + x2 + 2 identity_A = 1 multiply_A(x1,x2) = x1 + x2 + 2 inverse_A(x1) = x1 divide#_A(x1,x2) = x1 + x2 identity#_A = 0 multiply#_A(x1,x2) = x2 inverse#_A(x1) = x1 and precedence: divide > inverse > multiply > identity )