Term Rewriting System R: [x, y] app(D, t) -> 1 app(D, constant) -> 0 app(D, app(app(+, x), y)) -> app(app(+, app(D, x)), app(D, y)) app(D, app(app(*, x), y)) -> app(app(+, app(app(*, y), app(D, x))), app(app(*, x), app(D, y))) app(D, app(app(-, x), y)) -> app(app(-, app(D, x)), app(D, y)) app(D, app(minus, x)) -> app(minus, app(D, x)) app(D, app(app(div, x), y)) -> app(app(-, app(app(div, app(D, x)), y)), app(app(div, app(app(*, x), app(D, y))), app(app(pow, y), 2))) app(D, app(ln, x)) -> app(app(div, app(D, x)), x) app(D, app(app(pow, x), y)) -> app(app(+, app(app(*, app(app(*, y), app(app(pow, x), app(app(-, y), 1)))), app(D, x))), app(app(*, app(app(*, app(app(pow, x), y)), app(ln, x))), app(D, y))) Termination of R to be shown. This program has no overlaps, so it is sufficient to show innermost termination. R contains the following Dependency Pairs: APP(D, app(app(pow, x), y)) -> APP(app(+, app(app(*, app(app(*, y), app(app(pow, x), app(app(-, y), 1)))), app(D, x))), app(app(*, app(app(*, app(app(pow, x), y)), app(ln, x))), app(D, y))) APP(D, app(app(pow, x), y)) -> APP(+, app(app(*, app(app(*, y), app(app(pow, x), app(app(-, y), 1)))), app(D, x))) APP(D, app(app(pow, x), y)) -> APP(app(*, app(app(*, y), app(app(pow, x), app(app(-, y), 1)))), app(D, x)) APP(D, app(app(pow, x), y)) -> APP(*, app(app(*, y), app(app(pow, x), app(app(-, y), 1)))) APP(D, app(app(pow, x), y)) -> APP(app(*, y), app(app(pow, x), app(app(-, y), 1))) APP(D, app(app(pow, x), y)) -> APP(*, y) APP(D, app(app(pow, x), y)) -> APP(app(pow, x), app(app(-, y), 1)) APP(D, app(app(pow, x), y)) -> APP(app(-, y), 1) APP(D, app(app(pow, x), y)) -> APP(-, y) APP(D, app(app(pow, x), y)) -> APP(D, x) APP(D, app(app(pow, x), y)) -> APP(app(*, app(app(*, app(app(pow, x), y)), app(ln, x))), app(D, y)) APP(D, app(app(pow, x), y)) -> APP(*, app(app(*, app(app(pow, x), y)), app(ln, x))) APP(D, app(app(pow, x), y)) -> APP(app(*, app(app(pow, x), y)), app(ln, x)) APP(D, app(app(pow, x), y)) -> APP(*, app(app(pow, x), y)) APP(D, app(app(pow, x), y)) -> APP(ln, x) APP(D, app(app(pow, x), y)) -> APP(D, y) APP(D, app(app(-, x), y)) -> APP(app(-, app(D, x)), app(D, y)) APP(D, app(app(-, x), y)) -> APP(-, app(D, x)) APP(D, app(app(-, x), y)) -> APP(D, x) APP(D, app(app(-, x), y)) -> APP(D, y) APP(D, app(minus, x)) -> APP(minus, app(D, x)) APP(D, app(minus, x)) -> APP(D, x) APP(D, app(app(div, x), y)) -> APP(app(-, app(app(div, app(D, x)), y)), app(app(div, app(app(*, x), app(D, y))), app(app(pow, y), 2))) APP(D, app(app(div, x), y)) -> APP(-, app(app(div, app(D, x)), y)) APP(D, app(app(div, x), y)) -> APP(app(div, app(D, x)), y) APP(D, app(app(div, x), y)) -> APP(div, app(D, x)) APP(D, app(app(div, x), y)) -> APP(D, x) APP(D, app(app(div, x), y)) -> APP(app(div, app(app(*, x), app(D, y))), app(app(pow, y), 2)) APP(D, app(app(div, x), y)) -> APP(div, app(app(*, x), app(D, y))) APP(D, app(app(div, x), y)) -> APP(app(*, x), app(D, y)) APP(D, app(app(div, x), y)) -> APP(*, x) APP(D, app(app(div, x), y)) -> APP(D, y) APP(D, app(app(div, x), y)) -> APP(app(pow, y), 2) APP(D, app(app(div, x), y)) -> APP(pow, y) APP(D, app(app(+, x), y)) -> APP(app(+, app(D, x)), app(D, y)) APP(D, app(app(+, x), y)) -> APP(+, app(D, x)) APP(D, app(app(+, x), y)) -> APP(D, x) APP(D, app(app(+, x), y)) -> APP(D, y) APP(D, app(app(*, x), y)) -> APP(app(+, app(app(*, y), app(D, x))), app(app(*, x), app(D, y))) APP(D, app(app(*, x), y)) -> APP(+, app(app(*, y), app(D, x))) APP(D, app(app(*, x), y)) -> APP(app(*, y), app(D, x)) APP(D, app(app(*, x), y)) -> APP(*, y) APP(D, app(app(*, x), y)) -> APP(D, x) APP(D, app(app(*, x), y)) -> APP(app(*, x), app(D, y)) APP(D, app(app(*, x), y)) -> APP(D, y) APP(D, app(ln, x)) -> APP(app(div, app(D, x)), x) APP(D, app(ln, x)) -> APP(div, app(D, x)) APP(D, app(ln, x)) -> APP(D, x) Furthermore, R contains one SCC. SCC1: APP(D, app(ln, x)) -> APP(D, x) APP(D, app(app(*, x), y)) -> APP(D, y) APP(D, app(app(*, x), y)) -> APP(D, x) APP(D, app(app(+, x), y)) -> APP(D, y) APP(D, app(app(+, x), y)) -> APP(D, x) APP(D, app(app(div, x), y)) -> APP(D, y) APP(D, app(app(div, x), y)) -> APP(D, x) APP(D, app(minus, x)) -> APP(D, x) APP(D, app(app(-, x), y)) -> APP(D, y) APP(D, app(app(-, x), y)) -> APP(D, x) APP(D, app(app(pow, x), y)) -> APP(D, y) APP(D, app(app(pow, x), y)) -> APP(D, x) Removing rules from R by ordering and analyzing Dependency Pairs, Usable Rules, and Usable Equations. This is possible by using the following (C_E-compatible) Polynomial ordering. Polynomial interpretation: POL(*) = 1 POL(APP(x_1, x_2)) = 1 + x_1 + x_2 POL(-) = 1 POL(D) = 1 POL(ln) = 1 POL(div) = 1 POL(minus) = 1 POL(+) = 1 POL(pow) = 1 POL(app(x_1, x_2)) = 1 + x_1 + x_2 The following Dependency Pairs can be deleted: APP(D, app(ln, x)) -> APP(D, x) APP(D, app(app(*, x), y)) -> APP(D, y) APP(D, app(app(*, x), y)) -> APP(D, x) APP(D, app(app(+, x), y)) -> APP(D, y) APP(D, app(app(+, x), y)) -> APP(D, x) APP(D, app(app(div, x), y)) -> APP(D, y) APP(D, app(app(div, x), y)) -> APP(D, x) APP(D, app(minus, x)) -> APP(D, x) APP(D, app(app(-, x), y)) -> APP(D, y) APP(D, app(app(-, x), y)) -> APP(D, x) APP(D, app(app(pow, x), y)) -> APP(D, y) APP(D, app(app(pow, x), y)) -> APP(D, x) This transformation is resulting in no new subcycles. Termination of R successfully shown. Duration: 3.392 seconds.