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