Term Rewriting System R: [X, Y, X1, X2, Z] and(true, X) -> activate(X) and(false, Y) -> false if(true, X, Y) -> activate(X) if(false, X, Y) -> activate(Y) add(0, X) -> activate(X) add(s(X), Y) -> s(n__add(activate(X), activate(Y))) add(X1, X2) -> n__add(X1, X2) first(0, X) -> nil first(s(X), cons(Y, Z)) -> cons(activate(Y), n__first(activate(X), activate(Z))) first(X1, X2) -> n__first(X1, X2) from(X) -> cons(activate(X), n__from(n__s(activate(X)))) from(X) -> n__from(X) s(X) -> n__s(X) activate(n__add(X1, X2)) -> add(X1, X2) activate(n__first(X1, X2)) -> first(X1, X2) activate(n__from(X)) -> from(X) activate(n__s(X)) -> s(X) activate(X) -> X Termination of R to be shown. R contains the following Dependency Pairs: ADD(s(X), Y) -> S(n__add(activate(X), activate(Y))) ADD(s(X), Y) -> ACTIVATE(X) ADD(s(X), Y) -> ACTIVATE(Y) ADD(0, X) -> ACTIVATE(X) ACTIVATE(n__from(X)) -> FROM(X) ACTIVATE(n__s(X)) -> S(X) ACTIVATE(n__add(X1, X2)) -> ADD(X1, X2) ACTIVATE(n__first(X1, X2)) -> FIRST(X1, X2) FROM(X) -> ACTIVATE(X) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(Y) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(X) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(Z) AND(true, X) -> ACTIVATE(X) IF(false, X, Y) -> ACTIVATE(Y) IF(true, X, Y) -> ACTIVATE(X) Furthermore, R contains one SCC. SCC1: ADD(0, X) -> ACTIVATE(X) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(Z) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(X) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(Y) ACTIVATE(n__first(X1, X2)) -> FIRST(X1, X2) ADD(s(X), Y) -> ACTIVATE(Y) ACTIVATE(n__add(X1, X2)) -> ADD(X1, X2) FROM(X) -> ACTIVATE(X) ACTIVATE(n__from(X)) -> FROM(X) ADD(s(X), Y) -> 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__first(x_1, x_2)) = x_1 + x_2 POL(n__from(x_1)) = x_1 POL(s(x_1)) = x_1 POL(ADD(x_1, x_2)) = x_1 + x_2 POL(FROM(x_1)) = x_1 POL(ACTIVATE(x_1)) = x_1 POL(0) = 0 POL(FIRST(x_1, x_2)) = x_1 + x_2 POL(n__add(x_1, x_2)) = x_1 + x_2 POL(cons(x_1, x_2)) = x_1 + x_2 The following Dependency Pairs can be deleted: ADD(0, X) -> ACTIVATE(X) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(Z) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(X) FIRST(s(X), cons(Y, Z)) -> ACTIVATE(Y) ACTIVATE(n__first(X1, X2)) -> FIRST(X1, X2) ADD(s(X), Y) -> ACTIVATE(Y) ACTIVATE(n__add(X1, X2)) -> ADD(X1, X2) ACTIVATE(n__from(X)) -> FROM(X) ADD(s(X), Y) -> ACTIVATE(X) This transformation is resulting in no new subcycles. Termination of R successfully shown. Duration: 0.974 seconds.