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. |0|() weight: (/ 1 8) s(x1) weight: x1 #a__head(x1) weight: (/ 1 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: (/ 3 8) + x1 #mark(x1) weight: (/ 1 4) + x1 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{x2, (/ 1 8) + x1} nil() weight: (/ 1 8) #a__sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{x2, (/ 1 8) + x1} head(x1) weight: x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} a__take(x1,x2) weight: max{x2, x1} a__head(x1) weight: x1 Usable rules: { 1..21 } Removed DPs: #1..4 #6 #10 #14 #16..23 Number of SCCs: 1, DPs: 8, edges: 40 SCC { #5 #7..9 #11..13 #15 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. |0|() weight: (/ 1 8) s(x1) weight: x1 #a__head(x1) weight: (/ 1 8) + x1 #a__from(x1) weight: (/ 3 8) + x1 a__from(x1) weight: (/ 1 4) + x1 take(x1,x2) weight: max{x2, (/ 1 8) + 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: (/ 3 8) + x1 #mark(x1) weight: (/ 1 8) + x1 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{x2, (/ 1 4) + x1} nil() weight: (/ 1 4) #a__sel(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 4) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{x2, (/ 1 4) + x1} head(x1) weight: x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} a__take(x1,x2) weight: max{x2, (/ 1 8) + x1} a__head(x1) weight: x1 Usable rules: { 1..21 } Removed DPs: #7 Number of SCCs: 1, DPs: 7, edges: 29 SCC { #5 #8 #9 #11..13 #15 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. |0|() weight: (/ 1 8) s(x1) weight: x1 #a__head(x1) weight: (/ 1 8) + x1 #a__from(x1) weight: (/ 3 8) + x1 a__from(x1) weight: (/ 1 4) + x1 take(x1,x2) weight: max{x2, (/ 1 8) + 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: (/ 3 8) + x1 #mark(x1) weight: (/ 1 4) + x1 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{x2, (/ 1 4) + x1} nil() weight: (/ 1 4) #a__sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{x2, (/ 1 4) + x1} head(x1) weight: (/ 1 8) + x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} a__take(x1,x2) weight: max{x2, (/ 1 8) + x1} a__head(x1) weight: (/ 1 8) + x1 Usable rules: { 1..21 } Removed DPs: #5 Number of SCCs: 1, DPs: 6, edges: 20 SCC { #8 #9 #11..13 #15 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. |0|() weight: (/ 1 8) s(x1) weight: x1 #a__head(x1) weight: (/ 1 8) + x1 #a__from(x1) weight: (/ 3 8) + x1 a__from(x1) weight: (/ 1 4) + x1 take(x1,x2) weight: max{x2, (/ 1 8) + 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: (/ 3 8) + x1 #mark(x1) weight: (/ 1 4) + x1 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{(/ 3 8) + x2, (/ 5 8) + x1} nil() weight: (/ 1 4) #a__sel(x1,x2) weight: max{(/ 3 8) + x2, (/ 3 4) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 3 8) + x2, (/ 5 8) + x1} head(x1) weight: (/ 1 8) + x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} a__take(x1,x2) weight: max{x2, (/ 1 8) + x1} a__head(x1) weight: (/ 1 8) + x1 Usable rules: { 1..21 } Removed DPs: #9 #11 #15 Number of SCCs: 2, DPs: 3, edges: 5 SCC { #8 #12 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 s(x1) weight: (/ 1 8) + x1 #a__head(x1) weight: (/ 1 8) #a__from(x1) weight: (/ 1 8) a__from(x1) weight: (/ 3 8) take(x1,x2) weight: (/ 1 8) + x1 + x2 |2nd|(x1) weight: (/ 1 4) a__2nd(x1) weight: (/ 1 8) + x1 #a__take(x1,x2) weight: 0 #a__2nd(x1) weight: (/ 1 8) #mark(x1) weight: (/ 3 8) + x1 from(x1) weight: (/ 1 2) sel(x1,x2) weight: (/ 1 4) + x1 + x2 nil() weight: 0 #a__sel(x1,x2) weight: 0 mark(x1) weight: (/ 1 4) a__sel(x1,x2) weight: (/ 1 8) + x1 head(x1) weight: (/ 7 8) + x1 cons(x1,x2) weight: (/ 1 2) a__take(x1,x2) weight: x1 + x2 a__head(x1) weight: (/ 3 4) Usable rules: { } Removed DPs: #8 #12 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #13 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. |0|() weight: (/ 1 8) s(x1) weight: max{0, (/ 3 8) + x1} #a__head(x1) weight: 0 #a__from(x1) weight: 0 a__from(x1) weight: max{0, (/ 1 2) + x1} take(x1,x2) weight: max{0, (/ 1 8) + x2} |2nd|(x1) weight: max{0, (/ 3 4) + x1} a__2nd(x1) weight: max{0, (/ 3 4) + x1} #a__take(x1,x2) weight: 0 #a__2nd(x1) weight: 0 #mark(x1) weight: 0 from(x1) weight: max{0, (/ 1 2) + x1} sel(x1,x2) weight: max{0, (/ 1 8) + x2 + x1} nil() weight: (/ 1 8) #a__sel(x1,x2) weight: max{0, (/ 1 8) + x1} mark(x1) weight: max{0, x1} a__sel(x1,x2) weight: max{0, (/ 1 8) + x2 + x1} head(x1) weight: max{0, (/ 3 8) + x1} cons(x1,x2) weight: max{0, (/ 1 4) + x1, (- (/ 3 8)) + x2} a__take(x1,x2) weight: max{0, (/ 1 8) + x2} a__head(x1) weight: max{0, (/ 3 8) + x1} Usable rules: { 1..21 } Removed DPs: #13 Number of SCCs: 0, DPs: 0, edges: 0 YES