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