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