YES (VAR x0 x1 x2 a) (RULES multiply(multiply(x0,x1),x2) -> multiply(x0,multiply(x1,x2)) inverse(multiply(x0,x1)) -> multiply(inverse(x1),inverse(x0)) multiply(x0,multiply(inverse(x0),x1)) -> x1 multiply(inverse(x0),multiply(x0,x1)) -> x1 multiply(inverse(a),a) -> identity() multiply(x0,inverse(x0)) -> identity() double_divide(x1,x0) -> multiply(inverse(x1),inverse(x0)) multiply(identity(),x0) -> x0 multiply(x0,identity()) -> x0 inverse(identity()) -> identity() inverse(inverse(x0)) -> x0 ) (COMMENT Termination is shown by LPO with precedence: double_divide > inverse > multiply > identity )