YES Input TRS: 1: le(0(),Y) -> true() 2: le(s(X),0()) -> false() 3: le(s(X),s(Y)) -> le(X,Y) 4: app(nil(),Y) -> Y 5: app(cons(N,L),Y) -> cons(N,app(L,Y)) 6: low(N,nil()) -> nil() 7: low(N,cons(M,L)) -> iflow(le(M,N),N,cons(M,L)) 8: iflow(true(),N,cons(M,L)) -> cons(M,low(N,L)) 9: iflow(false(),N,cons(M,L)) -> low(N,L) 10: high(N,nil()) -> nil() 11: high(N,cons(M,L)) -> ifhigh(le(M,N),N,cons(M,L)) 12: ifhigh(true(),N,cons(M,L)) -> high(N,L) 13: ifhigh(false(),N,cons(M,L)) -> cons(M,high(N,L)) 14: quicksort(nil()) -> nil() 15: quicksort(cons(N,L)) -> app(quicksort(low(N,L)),cons(N,quicksort(high(N,L)))) Number of strict rules: 15 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #ifhigh(false(),N,cons(M,L)) -> #high(N,L) #2: #iflow(false(),N,cons(M,L)) -> #low(N,L) #3: #high(N,cons(M,L)) -> #ifhigh(le(M,N),N,cons(M,L)) #4: #high(N,cons(M,L)) -> #le(M,N) #5: #ifhigh(true(),N,cons(M,L)) -> #high(N,L) #6: #low(N,cons(M,L)) -> #iflow(le(M,N),N,cons(M,L)) #7: #low(N,cons(M,L)) -> #le(M,N) #8: #app(cons(N,L),Y) -> #app(L,Y) #9: #le(s(X),s(Y)) -> #le(X,Y) #10: #iflow(true(),N,cons(M,L)) -> #low(N,L) #11: #quicksort(cons(N,L)) -> #app(quicksort(low(N,L)),cons(N,quicksort(high(N,L)))) #12: #quicksort(cons(N,L)) -> #quicksort(low(N,L)) #13: #quicksort(cons(N,L)) -> #low(N,L) #14: #quicksort(cons(N,L)) -> #quicksort(high(N,L)) #15: #quicksort(cons(N,L)) -> #high(N,L) Number of SCCs: 5, DPs: 10 SCC { #8 } POLO(Sum)... succeeded. le w: 0 s w: 0 #le w: 0 #quicksort w: 0 #high w: 0 false w: 0 quicksort w: 0 true w: 0 #iflow w: 0 0 w: 0 high w: 0 nil w: 0 #app w: x1 low w: 0 iflow w: 0 ifhigh w: 0 cons w: x2 + 1 #ifhigh w: 0 #low w: 0 app w: 0 USABLE RULES: { } Removed DPs: #8 Number of SCCs: 4, DPs: 9 SCC { #9 } POLO(Sum)... succeeded. le w: 0 s w: x1 + 1 #le w: x1 #quicksort w: 0 #high w: 0 false w: 0 quicksort w: 0 true w: 0 #iflow w: 0 0 w: 0 high w: 0 nil w: 0 #app w: 0 low w: 0 iflow w: 0 ifhigh w: 0 cons w: 1 #ifhigh w: 0 #low w: 0 app w: 0 USABLE RULES: { } Removed DPs: #9 Number of SCCs: 3, DPs: 8 SCC { #12 #14 } POLO(Sum)... succeeded. le w: 1 s w: 1 #le w: 0 #quicksort w: x1 #high w: 0 false w: 1 quicksort w: 0 true w: 1 #iflow w: 0 0 w: 0 high w: x1 + x2 + 1 nil w: 20977 #app w: 0 low w: x1 + x2 + 1 iflow w: x1 + x2 + x3 ifhigh w: x1 + x2 + x3 cons w: x1 + x2 + 2 #ifhigh w: 0 #low w: 0 app w: 0 USABLE RULES: { 1..3 6..13 } Removed DPs: #12 #14 Number of SCCs: 2, DPs: 6 SCC { #1 #3 #5 } POLO(Sum)... succeeded. le w: 1 s w: 1 #le w: 0 #quicksort w: x1 #high w: x1 + x2 + 2 false w: 1 quicksort w: 0 true w: 1 #iflow w: 0 0 w: 0 high w: x1 + x2 + 591 nil w: 1 #app w: 0 low w: x1 + x2 + 1 iflow w: x1 + x2 + x3 ifhigh w: x1 + x2 + x3 + 590 cons w: x1 + x2 + 2 #ifhigh w: x1 + x2 + x3 #low w: 0 app w: 0 USABLE RULES: { 1..3 6..13 } Removed DPs: #1 #3 #5 Number of SCCs: 1, DPs: 3 SCC { #2 #6 #10 } POLO(Sum)... succeeded. le w: 1 s w: 1 #le w: 0 #quicksort w: x1 #high w: 2 false w: 1 quicksort w: 0 true w: 1 #iflow w: x1 + x3 0 w: 1 high w: x1 + x2 + 12618 nil w: 41990 #app w: 0 low w: x1 + x2 + 868 iflow w: x1 + x2 + x3 + 867 ifhigh w: x1 + x2 + x3 + 12617 cons w: x1 + x2 + 2 #ifhigh w: x1 #low w: x2 + 2 app w: 0 USABLE RULES: { 1..3 6..13 } Removed DPs: #2 #6 #10 Number of SCCs: 0, DPs: 0