Term Rewriting System R: [X, Z, N, Y] from(X) -> cons(X, n__from(s(X))) from(X) -> n__from(X) 2ndspos(0, Z) -> rnil 2ndspos(s(N), cons(X, Z)) -> 2ndspos(s(N), cons2(X, activate(Z))) 2ndspos(s(N), cons2(X, cons(Y, Z))) -> rcons(posrecip(Y), 2ndsneg(N, activate(Z))) 2ndsneg(0, Z) -> rnil 2ndsneg(s(N), cons(X, Z)) -> 2ndsneg(s(N), cons2(X, activate(Z))) 2ndsneg(s(N), cons2(X, cons(Y, Z))) -> rcons(negrecip(Y), 2ndspos(N, activate(Z))) pi(X) -> 2ndspos(X, from(0)) plus(0, Y) -> Y plus(s(X), Y) -> s(plus(X, Y)) times(0, Y) -> 0 times(s(X), Y) -> plus(Y, times(X, Y)) square(X) -> times(X, X) activate(n__from(X)) -> from(X) activate(X) -> X Termination of R to be shown. R contains the following Dependency Pairs: TIMES(s(X), Y) -> PLUS(Y, times(X, Y)) TIMES(s(X), Y) -> TIMES(X, Y) PLUS(s(X), Y) -> PLUS(X, Y) ACTIVATE(n__from(X)) -> FROM(X) 2NDSPOS(s(N), cons2(X, cons(Y, Z))) -> 2NDSNEG(N, activate(Z)) 2NDSPOS(s(N), cons2(X, cons(Y, Z))) -> ACTIVATE(Z) 2NDSPOS(s(N), cons(X, Z)) -> 2NDSPOS(s(N), cons2(X, activate(Z))) 2NDSPOS(s(N), cons(X, Z)) -> ACTIVATE(Z) 2NDSNEG(s(N), cons2(X, cons(Y, Z))) -> 2NDSPOS(N, activate(Z)) 2NDSNEG(s(N), cons2(X, cons(Y, Z))) -> ACTIVATE(Z) 2NDSNEG(s(N), cons(X, Z)) -> 2NDSNEG(s(N), cons2(X, activate(Z))) 2NDSNEG(s(N), cons(X, Z)) -> ACTIVATE(Z) SQUARE(X) -> TIMES(X, X) PI(X) -> 2NDSPOS(X, from(0)) PI(X) -> FROM(0) Furthermore, R contains three SCCs. SCC1: PLUS(s(X), Y) -> PLUS(X, Y) 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(PLUS(x_1, x_2)) = 1 + x_1 + x_2 POL(s(x_1)) = 1 + x_1 The following Dependency Pairs can be deleted: PLUS(s(X), Y) -> PLUS(X, Y) This transformation is resulting in no new subcycles. SCC2: 2NDSNEG(s(N), cons(X, Z)) -> 2NDSNEG(s(N), cons2(X, activate(Z))) 2NDSPOS(s(N), cons(X, Z)) -> 2NDSPOS(s(N), cons2(X, activate(Z))) 2NDSNEG(s(N), cons2(X, cons(Y, Z))) -> 2NDSPOS(N, activate(Z)) 2NDSPOS(s(N), cons2(X, cons(Y, Z))) -> 2NDSNEG(N, activate(Z)) By using a polynomial ordering, at least one Dependency Pair of this SCC can be strictly oriented. No rules need to be oriented. Used ordering: Polynomial ordering with Polynomial interpretation: POL(n__from(x_1)) = 0 POL(2NDSNEG(x_1, x_2)) = x_1 POL(cons2(x_1, x_2)) = 0 POL(activate(x_1)) = 0 POL(s(x_1)) = 1 + x_1 POL(from(x_1)) = 0 POL(2NDSPOS(x_1, x_2)) = x_1 POL(cons(x_1, x_2)) = 0 resulting in no subcycles. SCC3: TIMES(s(X), Y) -> TIMES(X, Y) 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(s(x_1)) = 1 + x_1 POL(TIMES(x_1, x_2)) = 1 + x_1 + x_2 The following Dependency Pairs can be deleted: TIMES(s(X), Y) -> TIMES(X, Y) This transformation is resulting in no new subcycles. Termination of R successfully shown. Duration: 1.102 seconds.