Term Rewriting System R: [X, Z, N, Y, X1, X2] from(X) -> cons(X, n__from(n__s(X))) from(X) -> n__from(X) 2ndspos(0, Z) -> rnil 2ndspos(s(N), cons(X, n__cons(Y, Z))) -> rcons(posrecip(activate(Y)), 2ndsneg(N, activate(Z))) 2ndsneg(0, Z) -> rnil 2ndsneg(s(N), cons(X, n__cons(Y, Z))) -> rcons(negrecip(activate(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) s(X) -> n__s(X) cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__cons(X1, X2)) -> cons(activate(X1), X2) 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) -> S(plus(X, Y)) PLUS(s(X), Y) -> PLUS(X, Y) 2NDSNEG(s(N), cons(X, n__cons(Y, Z))) -> ACTIVATE(Y) 2NDSNEG(s(N), cons(X, n__cons(Y, Z))) -> 2NDSPOS(N, activate(Z)) 2NDSNEG(s(N), cons(X, n__cons(Y, Z))) -> ACTIVATE(Z) ACTIVATE(n__s(X)) -> S(activate(X)) ACTIVATE(n__s(X)) -> ACTIVATE(X) ACTIVATE(n__cons(X1, X2)) -> CONS(activate(X1), X2) ACTIVATE(n__cons(X1, X2)) -> ACTIVATE(X1) ACTIVATE(n__from(X)) -> FROM(activate(X)) ACTIVATE(n__from(X)) -> ACTIVATE(X) 2NDSPOS(s(N), cons(X, n__cons(Y, Z))) -> ACTIVATE(Y) 2NDSPOS(s(N), cons(X, n__cons(Y, Z))) -> 2NDSNEG(N, activate(Z)) 2NDSPOS(s(N), cons(X, n__cons(Y, Z))) -> ACTIVATE(Z) SQUARE(X) -> TIMES(X, X) PI(X) -> 2NDSPOS(X, from(0)) PI(X) -> FROM(0) FROM(X) -> CONS(X, n__from(n__s(X))) Furthermore, R contains four 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: ACTIVATE(n__from(X)) -> ACTIVATE(X) ACTIVATE(n__cons(X1, X2)) -> ACTIVATE(X1) ACTIVATE(n__s(X)) -> ACTIVATE(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(n__from(x_1)) = 1 + x_1 POL(ACTIVATE(x_1)) = 1 + x_1 POL(n__cons(x_1, x_2)) = 1 + x_1 + x_2 POL(n__s(x_1)) = 1 + x_1 The following Dependency Pairs can be deleted: ACTIVATE(n__from(X)) -> ACTIVATE(X) ACTIVATE(n__cons(X1, X2)) -> ACTIVATE(X1) ACTIVATE(n__s(X)) -> ACTIVATE(X) This transformation is resulting in no new 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. SCC4: 2NDSPOS(s(N), cons(X, n__cons(Y, Z))) -> 2NDSNEG(N, activate(Z)) 2NDSNEG(s(N), cons(X, n__cons(Y, Z))) -> 2NDSPOS(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(activate(x_1)) = 0 POL(s(x_1)) = 1 + x_1 POL(n__cons(x_1, x_2)) = 0 POL(from(x_1)) = 0 POL(2NDSPOS(x_1, x_2)) = x_1 POL(n__s(x_1)) = 0 POL(cons(x_1, x_2)) = 0 resulting in no subcycles. Termination of R successfully shown. Duration: 1.141 seconds.