YES (VAR x1 x0 x2 x3) (RULES multiply(multiply(x1,x0),x2) -> multiply(x1,multiply(x0,x2)) inverse(multiply(x2,x3)) -> multiply(inverse(x3),inverse(x2)) double_divide(x1,x0) -> multiply(inverse(x1),inverse(x0)) multiply(x0,multiply(inverse(x0),x2)) -> x2 multiply(x0,inverse(x0)) -> identity() multiply(inverse(x1),multiply(x1,x0)) -> x0 inverse(inverse(x0)) -> x0 multiply(x0,identity()) -> x0 inverse(identity()) -> identity() multiply(identity(),x0) -> x0 multiply(inverse(x0),x0) -> identity() ) (COMMENT Termination is shown by KBO with weight w0 = 1 w(double_divide) = 1 w(identity) = 1 w(multiply) = 0 w(inverse) = 0 and precedence: inverse > multiply > double_divide > identity )