Input TRS: 1: a__from(X) -> cons(mark(X),from(s(X))) 2: a__head(cons(X,XS)) -> mark(X) 3: a__2nd(cons(X,XS)) -> a__head(mark(XS)) 4: a__take(0(),XS) -> nil() 5: a__take(s(N),cons(X,XS)) -> cons(mark(X),take(N,XS)) 6: a__sel(0(),cons(X,XS)) -> mark(X) 7: a__sel(s(N),cons(X,XS)) -> a__sel(mark(N),mark(XS)) 8: mark(from(X)) -> a__from(mark(X)) 9: mark(head(X)) -> a__head(mark(X)) 10: mark(2nd(X)) -> a__2nd(mark(X)) 11: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) 12: mark(sel(X1,X2)) -> a__sel(mark(X1),mark(X2)) 13: mark(cons(X1,X2)) -> cons(mark(X1),X2) 14: mark(s(X)) -> s(mark(X)) 15: mark(0()) -> 0() 16: mark(nil()) -> nil() 17: a__from(X) -> from(X) 18: a__head(X) -> head(X) 19: a__2nd(X) -> 2nd(X) 20: a__take(X1,X2) -> take(X1,X2) 21: a__sel(X1,X2) -> sel(X1,X2) Number of strict rules: 21 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__head(cons(X,XS)) -> #mark(X) #2: #a__sel(0(),cons(X,XS)) -> #mark(X) #3: #mark(cons(X1,X2)) -> #mark(X1) #4: #mark(head(X)) -> #a__head(mark(X)) #5: #mark(head(X)) -> #mark(X) #6: #mark(take(X1,X2)) -> #a__take(mark(X1),mark(X2)) #7: #mark(take(X1,X2)) -> #mark(X1) #8: #mark(take(X1,X2)) -> #mark(X2) #9: #mark(sel(X1,X2)) -> #a__sel(mark(X1),mark(X2)) #10: #mark(sel(X1,X2)) -> #mark(X1) #11: #mark(sel(X1,X2)) -> #mark(X2) #12: #mark(s(X)) -> #mark(X) #13: #a__sel(s(N),cons(X,XS)) -> #a__sel(mark(N),mark(XS)) #14: #a__sel(s(N),cons(X,XS)) -> #mark(N) #15: #a__sel(s(N),cons(X,XS)) -> #mark(XS) #16: #mark(2nd(X)) -> #a__2nd(mark(X)) #17: #mark(2nd(X)) -> #mark(X) #18: #a__take(s(N),cons(X,XS)) -> #mark(X) #19: #a__2nd(cons(X,XS)) -> #a__head(mark(XS)) #20: #a__2nd(cons(X,XS)) -> #mark(XS) #21: #a__from(X) -> #mark(X) #22: #mark(from(X)) -> #a__from(mark(X)) #23: #mark(from(X)) -> #mark(X) Number of SCCs: 1, DPs: 23, edges: 238 SCC { #1..23 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. s(x1) weight: x1 #a__head(x1) weight: (/ 3 8) + x1 #a__from(x1) weight: (/ 3 8) + x1 a__from(x1) weight: (/ 1 4) + x1 take(x1,x2) weight: max{x2, x1} 2nd(x1) weight: (/ 1 4) + x1 a__2nd(x1) weight: (/ 1 4) + x1 #a__take(x1,x2) weight: max{0, (/ 1 8) + x2} #a__2nd(x1) weight: (/ 1 2) + x1 #mark(x1) weight: (/ 1 4) + x1 0() weight: (/ 1 8) from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} nil() weight: (/ 1 8) #a__sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} head(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} a__take(x1,x2) weight: max{x2, x1} a__head(x1) weight: (/ 1 4) + x1 Usable rules: { 1..21 } Removed DPs: #1..6 #9..11 #14 #15 #17..23 Number of SCCs: 2, DPs: 4, edges: 10 SCC { #13 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. s(x1) weight: max{0, (/ 1 4) + x1} #a__head(x1) weight: 0 #a__from(x1) weight: 0 a__from(x1) weight: max{0, (/ 5 16) + x1} take(x1,x2) weight: max{0, (- (/ 1 16)) + x2 + x1} 2nd(x1) weight: max{0, (- (/ 1 16)) + x1} a__2nd(x1) weight: max{0, (- (/ 1 16)) + x1} #a__take(x1,x2) weight: 0 #a__2nd(x1) weight: 0 #mark(x1) weight: 0 0() weight: (/ 1 8) from(x1) weight: max{0, (/ 5 16) + x1} sel(x1,x2) weight: max{0, (/ 1 16) + x2 + x1} nil() weight: (/ 1 16) #a__sel(x1,x2) weight: max{0, (- (/ 1 16)) + x1} mark(x1) weight: max{0, x1} a__sel(x1,x2) weight: max{0, (/ 1 16) + x2 + x1} head(x1) weight: max{0, (- (/ 5 16)) + x1} cons(x1,x2) weight: max{0, (/ 5 16) + x1, (- (/ 1 4)) + x2} a__take(x1,x2) weight: max{0, (- (/ 1 16)) + x2 + x1} a__head(x1) weight: max{0, (- (/ 5 16)) + x1} Usable rules: { 1..21 } Removed DPs: #13 Number of SCCs: 1, DPs: 3, edges: 9 SCC { #7 #8 #12 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 8) + x1 #a__head(x1) weight: 0 #a__from(x1) weight: (/ 1 4) a__from(x1) weight: (/ 3 8) take(x1,x2) weight: (/ 1 8) + x1 + x2 2nd(x1) weight: (/ 1 8) a__2nd(x1) weight: x1 #a__take(x1,x2) weight: 0 #a__2nd(x1) weight: (/ 1 8) #mark(x1) weight: (/ 1 4) + x1 0() weight: 0 from(x1) weight: (/ 1 8) sel(x1,x2) weight: (/ 1 8) + x2 nil() weight: 0 #a__sel(x1,x2) weight: (/ 1 4) mark(x1) weight: (/ 1 8) + x1 a__sel(x1,x2) weight: 0 head(x1) weight: (/ 3 8) cons(x1,x2) weight: (/ 1 2) a__take(x1,x2) weight: (/ 1 4) + x1 a__head(x1) weight: (/ 1 2) + x1 Usable rules: { } Removed DPs: #7 #8 #12 Number of SCCs: 0, DPs: 0, edges: 0 YES