Term Rewriting System R: [X, Y, Z] sel(s(X), cons(Y, Z)) -> sel(X, Z) sel(0, cons(X, Z)) -> X first(0, Z) -> nil first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z)) from(X) -> cons(X, from(s(X))) sel1(s(X), cons(Y, Z)) -> sel1(X, Z) sel1(0, cons(X, Z)) -> quote(X) first1(0, Z) -> nil1 first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z)) quote(0) -> 01 quote(s(X)) -> s1(quote(X)) quote(sel(X, Z)) -> sel1(X, Z) quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z)) quote1(nil) -> nil1 quote1(first(X, Z)) -> first1(X, Z) unquote(01) -> 0 unquote(s1(X)) -> s(unquote(X)) unquote1(nil1) -> nil unquote1(cons1(X, Z)) -> fcons(unquote(X), unquote1(Z)) fcons(X, Z) -> cons(X, Z) Termination of R to be shown. R contains the following Dependency Pairs: FIRST(s(X), cons(Y, Z)) -> FIRST(X, Z) UNQUOTE1(cons1(X, Z)) -> FCONS(unquote(X), unquote1(Z)) UNQUOTE1(cons1(X, Z)) -> UNQUOTE(X) UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z) FROM(X) -> FROM(s(X)) SEL(s(X), cons(Y, Z)) -> SEL(X, Z) QUOTE1(cons(X, Z)) -> QUOTE(X) QUOTE1(cons(X, Z)) -> QUOTE1(Z) QUOTE1(first(X, Z)) -> FIRST1(X, Z) QUOTE(sel(X, Z)) -> SEL1(X, Z) QUOTE(s(X)) -> QUOTE(X) FIRST1(s(X), cons(Y, Z)) -> QUOTE(Y) FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z) UNQUOTE(s1(X)) -> UNQUOTE(X) SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z) SEL1(0, cons(X, Z)) -> QUOTE(X) Furthermore, R contains eight SCCs. SCC1: FIRST(s(X), cons(Y, Z)) -> FIRST(X, Z) 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(FIRST(x_1, x_2)) = 1 + x_1 + x_2 POL(cons(x_1, x_2)) = 1 + x_1 + x_2 The following Dependency Pairs can be deleted: FIRST(s(X), cons(Y, Z)) -> FIRST(X, Z) This transformation is resulting in no new subcycles. SCC2: UNQUOTE(s1(X)) -> UNQUOTE(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(s1(x_1)) = 1 + x_1 POL(UNQUOTE(x_1)) = 1 + x_1 The following Dependency Pairs can be deleted: UNQUOTE(s1(X)) -> UNQUOTE(X) This transformation is resulting in no new subcycles. SCC3: FROM(X) -> FROM(s(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(s(x_1)) = x_1 POL(FROM(x_1)) = 1 + x_1 No Dependency Pairs can be deleted. The following rules of R can be deleted: first(0, Z) -> nil first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z)) unquote1(nil1) -> nil unquote1(cons1(X, Z)) -> fcons(unquote(X), unquote1(Z)) fcons(X, Z) -> cons(X, Z) from(X) -> cons(X, from(s(X))) sel(0, cons(X, Z)) -> X sel(s(X), cons(Y, Z)) -> sel(X, Z) quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z)) quote1(nil) -> nil1 quote1(first(X, Z)) -> first1(X, Z) quote(0) -> 01 quote(sel(X, Z)) -> sel1(X, Z) quote(s(X)) -> s1(quote(X)) first1(0, Z) -> nil1 first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z)) unquote(s1(X)) -> s(unquote(X)) unquote(01) -> 0 sel1(s(X), cons(Y, Z)) -> sel1(X, Z) sel1(0, cons(X, Z)) -> quote(X) This transformation is resulting in one new subcycle: SCC3.MRR1: FROM(X) -> FROM(s(X)) Applying the non-overlappingness check to the DPs. The transformation is resulting in one subcycle: SCC3.MRR1.NOC1: FROM(X) -> FROM(s(X)) Found an infinite P-chain over R: P = FROM(X) -> FROM(s(X)) R = [] s = FROM(X) evaluates to t = FROM(s(X)) Thus, s starts an infinite reduction as s matches t. Non-Termination of R could be shown. Duration: 1.14 seconds.