YES (VAR x2 x1 x0 x y z) (RULES inverse(multiply(x2,x1)) -> multiply(inverse(x1),inverse(x2)) b() -> d() multiply(x0,multiply(inverse(x0),x1)) -> x1 multiply(x0,inverse(x0)) -> identity() inverse(inverse(x0)) -> x0 inverse(identity()) -> identity() multiply(x0,identity()) -> x0 multiply(inverse(x1),multiply(x1,x0)) -> x0 multiply(inverse(x),x) -> identity() multiply(identity(),x) -> x multiply(multiply(x,y),z) -> multiply(x,multiply(y,z)) ) (COMMENT Termination is shown by ELPO with interpretations on natural numbers multiply_A(x1,x2) = x1 + x2 + 1 identity_A = 0 inverse_A(x1) = x1 b_A = 2 c_A = 4 d_A = 1 identity#_A = 0 inverse#_A(x1) = x1 b#_A = 0 c#_A = 0 d#_A = 0 and precedence: inverse > c > identity > multiply > b > d )