Input TRS: 1: filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) 2: filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) 3: sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) 4: sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(filter(activate(Y),N,N))) 5: nats(N) -> cons(N,n__nats(s(N))) 6: zprimes() -> sieve(nats(s(s(0())))) 7: filter(X1,X2,X3) -> n__filter(X1,X2,X3) 8: sieve(X) -> n__sieve(X) 9: nats(X) -> n__nats(X) 10: activate(n__filter(X1,X2,X3)) -> filter(X1,X2,X3) 11: activate(n__sieve(X)) -> sieve(X) 12: activate(n__nats(X)) -> nats(X) 13: activate(X) -> X Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #filter(cons(X,Y),s(N),M) -> #activate(Y) #2: #zprimes() -> #sieve(nats(s(s(0())))) #3: #zprimes() -> #nats(s(s(0()))) #4: #activate(n__sieve(X)) -> #sieve(X) #5: #activate(n__nats(X)) -> #nats(X) #6: #activate(n__filter(X1,X2,X3)) -> #filter(X1,X2,X3) #7: #sieve(cons(0(),Y)) -> #activate(Y) #8: #filter(cons(X,Y),0(),M) -> #activate(Y) #9: #sieve(cons(s(N),Y)) -> #filter(activate(Y),N,N) #10: #sieve(cons(s(N),Y)) -> #activate(Y) Number of SCCs: 1, DPs: 7, edges: 15 SCC { #1 #4 #6..10 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zprimes() weight: 0 #nats(x1) weight: 0 s(x1) weight: (/ 1 4) activate(x1) weight: x1 #filter(x1,x2,x3) weight: x1 #activate(x1) weight: x1 #zprimes() weight: 0 n__nats(x1) weight: (/ 1 4) 0() weight: 0 n__filter(x1,x2,x3) weight: x1 sieve(x1) weight: (/ 1 2) + x1 n__sieve(x1) weight: (/ 1 2) + x1 nats(x1) weight: (/ 1 4) cons(x1,x2) weight: x2 filter(x1,x2,x3) weight: x1 #sieve(x1) weight: (/ 1 4) + x1 Usable rules: { 1..5 7..13 } Removed DPs: #4 #7 #9 #10 Number of SCCs: 1, DPs: 3, edges: 4 SCC { #1 #6 #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zprimes() weight: 0 #nats(x1) weight: 0 s(x1) weight: (/ 1 4) activate(x1) weight: (/ 1 4) + x1 #filter(x1,x2,x3) weight: x1 #activate(x1) weight: x1 #zprimes() weight: 0 n__nats(x1) weight: (/ 1 4) 0() weight: 0 n__filter(x1,x2,x3) weight: (/ 1 4) + x1 sieve(x1) weight: (/ 3 4) n__sieve(x1) weight: (/ 1 2) nats(x1) weight: (/ 1 2) cons(x1,x2) weight: (/ 1 4) + x2 filter(x1,x2,x3) weight: (/ 1 2) + x1 #sieve(x1) weight: (/ 1 4) Usable rules: { } Removed DPs: #1 #6 #8 Number of SCCs: 0, DPs: 0, edges: 0 YES