YES TRS: dx(X) -> one() dx(a()) -> zero() dx(plus(ALPHA,BETA)) -> plus(dx(ALPHA),dx(BETA)) dx(times(ALPHA,BETA)) -> plus(times(BETA,dx(ALPHA)),times(ALPHA,dx(BETA))) dx(minus(ALPHA,BETA)) -> minus(dx(ALPHA),dx(BETA)) dx(neg(ALPHA)) -> neg(dx(ALPHA)) dx(div(ALPHA,BETA)) -> minus(div(dx(ALPHA),BETA),times(ALPHA,div(dx(BETA),exp(BETA,two())))) dx(ln(ALPHA)) -> div(dx(ALPHA),ALPHA) dx(exp(ALPHA,BETA)) -> plus(times(BETA,times(exp(ALPHA,minus(BETA,one())),dx(ALPHA))),times(exp(ALPHA,BETA),times(ln(ALPHA),dx(BETA)))) max/plus interpretations on N: dx_A(x1) = max{34, 11 + x1} dx#_A(x1) = max{34, 11 + x1} one_A = 14 one#_A = 14 a_A = 1 a#_A = 1 zero_A = 0 zero#_A = 0 plus_A(x1,x2) = max{34, x1, x2} plus#_A(x1,x2) = max{34, x1, x2} times_A(x1,x2) = max{17, 7 + x1, x2} times#_A(x1,x2) = max{17, 7 + x1, x2} minus_A(x1,x2) = max{14, x1, x2} minus#_A(x1,x2) = max{14, x1, x2} neg_A(x1) = max{22, x1} neg#_A(x1) = max{22, x1} div_A(x1,x2) = max{12, x1, 19 + x2} div#_A(x1,x2) = max{12, x1, 19 + x2} exp_A(x1,x2) = max{15, 10 + x1, 13 + x2} exp#_A(x1,x2) = max{15, 10 + x1, 13 + x2} two_A = 2 two#_A = 2 ln_A(x1) = max{20, 9 + x1} ln#_A(x1) = max{20, 9 + x1} precedence: a > zero > dx > plus = neg = div > exp = two > one = times = minus = ln