NO Input TRS: 1: primes() -> sieve(from(s(s(0())))) 2: from(X) -> cons(X,n__from(s(X))) 3: head(cons(X,Y)) -> X 4: tail(cons(X,Y)) -> activate(Y) 5: if(true(),X,Y) -> activate(X) 6: if(false(),X,Y) -> activate(Y) 7: filter(s(s(X)),cons(Y,Z)) -> if(divides(s(s(X)),Y),n__filter(s(s(X)),activate(Z)),n__cons(Y,n__filter(X,sieve(Y)))) 8: sieve(cons(X,Y)) -> cons(X,n__filter(X,sieve(activate(Y)))) 9: from(X) -> n__from(X) 10: filter(X1,X2) -> n__filter(X1,X2) 11: cons(X1,X2) -> n__cons(X1,X2) 12: activate(n__from(X)) -> from(X) 13: activate(n__filter(X1,X2)) -> filter(X1,X2) 14: activate(n__cons(X1,X2)) -> cons(X1,X2) 15: activate(X) -> X Number of strict rules: 15 Direct POLO(bPol) ... failed. Uncurrying if 1: primes() -> sieve(from(s(s(0())))) 2: from(X) -> cons(X,n__from(s(X))) 3: head(cons(X,Y)) -> X 4: tail(cons(X,Y)) -> activate(Y) 5: if^1_true(X,Y) -> activate(X) 6: if^1_false(X,Y) -> activate(Y) 7: filter(s(s(X)),cons(Y,Z)) -> if^1_divides(s(s(X)),Y,n__filter(s(s(X)),activate(Z)),n__cons(Y,n__filter(X,sieve(Y)))) 8: sieve(cons(X,Y)) -> cons(X,n__filter(X,sieve(activate(Y)))) 9: from(X) -> n__from(X) 10: filter(X1,X2) -> n__filter(X1,X2) 11: cons(X1,X2) -> n__cons(X1,X2) 12: activate(n__from(X)) -> from(X) 13: activate(n__filter(X1,X2)) -> filter(X1,X2) 14: activate(n__cons(X1,X2)) -> cons(X1,X2) 15: activate(X) -> X 16: if(false(),_2,_3) ->= if^1_false(_2,_3) 17: if(divides(_1,_2),_4,_5) ->= if^1_divides(_1,_2,_4,_5) 18: if(true(),_2,_3) ->= if^1_true(_2,_3) Number of strict rules: 15 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #from(X) -> #cons(X,n__from(s(X))) #2: #if^1_false(X,Y) -> #activate(Y) #3: #activate(n__filter(X1,X2)) -> #filter(X1,X2) #4: #activate(n__from(X)) -> #from(X) #5: #activate(n__cons(X1,X2)) -> #cons(X1,X2) #6: #filter(s(s(X)),cons(Y,Z)) -> #activate(Z) #7: #filter(s(s(X)),cons(Y,Z)) -> #sieve(Y) #8: #if^1_true(X,Y) -> #activate(X) #9: #if(false(),_2,_3) ->? #if^1_false(_2,_3) #10: #primes() -> #sieve(from(s(s(0())))) #11: #primes() -> #from(s(s(0()))) #12: #sieve(cons(X,Y)) -> #cons(X,n__filter(X,sieve(activate(Y)))) #13: #sieve(cons(X,Y)) -> #sieve(activate(Y)) #14: #sieve(cons(X,Y)) -> #activate(Y) #15: #tail(cons(X,Y)) -> #activate(Y) #16: #if(true(),_2,_3) ->? #if^1_true(_2,_3) Number of SCCs: 1, DPs: 5 SCC { #3 #6 #7 #13 #14 } POLO(Sum)... succeeded. #cons w: 0 s w: 0 #if^1_false w: 0 if^1_divides w: 0 activate w: x1 + 5394 #filter w: x2 n__from w: x1 + 39468 #activate w: x1 + 5393 false w: 0 #head w: 0 #primes w: 0 true w: 0 if^1_false w: 0 tail w: 0 0 w: 0 if w: 0 from w: x1 + 44862 n__cons w: x1 + x2 + 2085 n__filter w: x2 + 2973 #tail w: 0 sieve w: 44083 #from w: 0 head w: 0 cons w: x1 + x2 + 5394 #if w: 0 filter w: x2 + 2973 primes w: 0 #sieve w: x1 + 5393 #if^1_true w: 0 divides w: 0 if^1_true w: 0 USABLE RULES: { 2 7 9..15 } Removed DPs: #3 #6 #7 #14 Number of SCCs: 1, DPs: 1 SCC { #13 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... found. #sieve(cons(X,n__from(X_{1}))) -#13-> #sieve(activate(n__from(X_{1}))) --->* #sieve(cons(X_{1},n__from(s(X_{1})))) Looping with: [ X := X_{1}; X_{1} := s(X_{1}); ]