Input TRS: 1: active(from(X)) -> mark(cons(X,from(s(X)))) 2: active(head(cons(X,XS))) -> mark(X) 3: active(|2nd|(cons(X,XS))) -> mark(head(XS)) 4: active(take(|0|(),XS)) -> mark(nil()) 5: active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) 6: active(sel(|0|(),cons(X,XS))) -> mark(X) 7: active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) 8: mark(from(X)) -> active(from(mark(X))) 9: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) 10: mark(s(X)) -> active(s(mark(X))) 11: mark(head(X)) -> active(head(mark(X))) 12: mark(|2nd|(X)) -> active(|2nd|(mark(X))) 13: mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) 14: mark(|0|()) -> active(|0|()) 15: mark(nil()) -> active(nil()) 16: mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) 17: from(mark(X)) -> from(X) 18: from(active(X)) -> from(X) 19: cons(mark(X1),X2) -> cons(X1,X2) 20: cons(X1,mark(X2)) -> cons(X1,X2) 21: cons(active(X1),X2) -> cons(X1,X2) 22: cons(X1,active(X2)) -> cons(X1,X2) 23: s(mark(X)) -> s(X) 24: s(active(X)) -> s(X) 25: head(mark(X)) -> head(X) 26: head(active(X)) -> head(X) 27: |2nd|(mark(X)) -> |2nd|(X) 28: |2nd|(active(X)) -> |2nd|(X) 29: take(mark(X1),X2) -> take(X1,X2) 30: take(X1,mark(X2)) -> take(X1,X2) 31: take(active(X1),X2) -> take(X1,X2) 32: take(X1,active(X2)) -> take(X1,X2) 33: sel(mark(X1),X2) -> sel(X1,X2) 34: sel(X1,mark(X2)) -> sel(X1,X2) 35: sel(active(X1),X2) -> sel(X1,X2) 36: sel(X1,active(X2)) -> sel(X1,X2) Number of strict rules: 36 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #active(head(cons(X,XS))) -> #mark(X) #2: #take(mark(X1),X2) -> #take(X1,X2) #3: #sel(active(X1),X2) -> #sel(X1,X2) #4: #active(sel(|0|(),cons(X,XS))) -> #mark(X) #5: #mark(take(X1,X2)) -> #active(take(mark(X1),mark(X2))) #6: #mark(take(X1,X2)) -> #take(mark(X1),mark(X2)) #7: #mark(take(X1,X2)) -> #mark(X1) #8: #mark(take(X1,X2)) -> #mark(X2) #9: #mark(cons(X1,X2)) -> #active(cons(mark(X1),X2)) #10: #mark(cons(X1,X2)) -> #cons(mark(X1),X2) #11: #mark(cons(X1,X2)) -> #mark(X1) #12: #mark(head(X)) -> #active(head(mark(X))) #13: #mark(head(X)) -> #head(mark(X)) #14: #mark(head(X)) -> #mark(X) #15: #s(active(X)) -> #s(X) #16: #s(mark(X)) -> #s(X) #17: #mark(|2nd|(X)) -> #active(|2nd|(mark(X))) #18: #mark(|2nd|(X)) -> #|2nd|(mark(X)) #19: #mark(|2nd|(X)) -> #mark(X) #20: #take(active(X1),X2) -> #take(X1,X2) #21: #mark(|0|()) -> #active(|0|()) #22: #take(X1,mark(X2)) -> #take(X1,X2) #23: #head(mark(X)) -> #head(X) #24: #cons(X1,mark(X2)) -> #cons(X1,X2) #25: #active(sel(s(N),cons(X,XS))) -> #mark(sel(N,XS)) #26: #active(sel(s(N),cons(X,XS))) -> #sel(N,XS) #27: #mark(s(X)) -> #active(s(mark(X))) #28: #mark(s(X)) -> #s(mark(X)) #29: #mark(s(X)) -> #mark(X) #30: #sel(mark(X1),X2) -> #sel(X1,X2) #31: #active(take(s(N),cons(X,XS))) -> #mark(cons(X,take(N,XS))) #32: #active(take(s(N),cons(X,XS))) -> #cons(X,take(N,XS)) #33: #active(take(s(N),cons(X,XS))) -> #take(N,XS) #34: #|2nd|(active(X)) -> #|2nd|(X) #35: #cons(X1,active(X2)) -> #cons(X1,X2) #36: #sel(X1,mark(X2)) -> #sel(X1,X2) #37: #|2nd|(mark(X)) -> #|2nd|(X) #38: #from(mark(X)) -> #from(X) #39: #take(X1,active(X2)) -> #take(X1,X2) #40: #cons(mark(X1),X2) -> #cons(X1,X2) #41: #head(active(X)) -> #head(X) #42: #sel(X1,active(X2)) -> #sel(X1,X2) #43: #cons(active(X1),X2) -> #cons(X1,X2) #44: #mark(sel(X1,X2)) -> #active(sel(mark(X1),mark(X2))) #45: #mark(sel(X1,X2)) -> #sel(mark(X1),mark(X2)) #46: #mark(sel(X1,X2)) -> #mark(X1) #47: #mark(sel(X1,X2)) -> #mark(X2) #48: #active(|2nd|(cons(X,XS))) -> #mark(head(XS)) #49: #active(|2nd|(cons(X,XS))) -> #head(XS) #50: #active(from(X)) -> #mark(cons(X,from(s(X)))) #51: #active(from(X)) -> #cons(X,from(s(X))) #52: #active(from(X)) -> #from(s(X)) #53: #active(from(X)) -> #s(X) #54: #mark(from(X)) -> #active(from(mark(X))) #55: #mark(from(X)) -> #from(mark(X)) #56: #mark(from(X)) -> #mark(X) #57: #mark(nil()) -> #active(nil()) #58: #active(take(|0|(),XS)) -> #mark(nil()) #59: #from(active(X)) -> #from(X) Number of SCCs: 8, DPs: 40, edges: 231 SCC { #38 #59 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: x1 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #38 #59 Number of SCCs: 7, DPs: 38, edges: 227 SCC { #15 #16 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #15 #16 Number of SCCs: 6, DPs: 36, edges: 223 SCC { #34 #37 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: x1 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #34 #37 Number of SCCs: 5, DPs: 34, edges: 219 SCC { #23 #41 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: x1 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #23 #41 Number of SCCs: 4, DPs: 32, edges: 215 SCC { #2 #20 #22 #39 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: x2 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #22 #39 Number of SCCs: 4, DPs: 30, edges: 203 SCC { #2 #20 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: x1 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #2 #20 Number of SCCs: 3, DPs: 28, edges: 199 SCC { #24 #35 #40 #43 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: x2 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #24 #35 Number of SCCs: 4, DPs: 26, edges: 187 SCC { #40 #43 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: x1 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #40 #43 Number of SCCs: 3, DPs: 24, edges: 183 SCC { #3 #30 #36 #42 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: x1 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #3 #30 Number of SCCs: 4, DPs: 22, edges: 171 SCC { #36 #42 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 |2nd|(x1) weight: 0 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: 0 #sel(x1,x2) weight: x2 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 head(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #36 #42 Number of SCCs: 3, DPs: 20, edges: 167 SCC { #1 #4 #5 #7 #8 #11 #12 #14 #17 #19 #25 #29 #31 #44 #46..48 #50 #54 #56 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. |0|() weight: (/ 1 8) #cons(x1,x2) weight: 0 s(x1) weight: x1 #take(x1,x2) weight: 0 take(x1,x2) weight: max{(/ 1 2) + x2, (/ 1 4) + x1} |2nd|(x1) weight: (/ 1 4) + x1 #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: x1 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} #s(x1) weight: 0 nil() weight: (/ 1 2) mark(x1) weight: x1 #from(x1) weight: 0 active(x1) weight: x1 head(x1) weight: (/ 1 8) + x1 cons(x1,x2) weight: max{x2, (/ 1 8) + x1} #active(x1) weight: x1 Usable rules: { 1..36 } Removed DPs: #1 #4 #7 #8 #11 #14 #19 #46..48 #56 Number of SCCs: 5, DPs: 3, edges: 3 SCC { #29 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 4) |2nd|(x1) weight: (/ 1 4) #head(x1) weight: 0 #|2nd|(x1) weight: 0 #mark(x1) weight: (/ 1 4) + x1 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) #from(x1) weight: 0 active(x1) weight: (/ 1 2) head(x1) weight: (/ 1 4) cons(x1,x2) weight: (/ 1 4) #active(x1) weight: 0 Usable rules: { } Removed DPs: #29 Number of SCCs: 4, DPs: 2, edges: 2 SCC { #25 #44 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. |0|() weight: 0 status: [] precedence above: #cons(x1,x2) weight: (/ 1 4) + x1 status: [x1] precedence above: s(x1) weight: x1 status: [x1] precedence above: #take(x1,x2) weight: x2 status: [] precedence above: take(x1,x2) weight: x2 status: [] precedence above: |0| s |2nd| #mark from nil mark active head cons #active |2nd|(x1) weight: (/ 1 4) + x1 status: [] precedence above: head #head(x1) weight: x1 status: [] precedence above: #|2nd|(x1) weight: x1 status: [] precedence above: #mark(x1) weight: x1 status: [x1] precedence above: s #active #sel(x1,x2) weight: x1 status: [] precedence above: from(x1) weight: (/ 1 2) + x1 status: [x1] precedence above: s cons sel(x1,x2) weight: (/ 1 2) + x2 + x1 status: [x1,x2] precedence above: s |2nd| #mark active head #active #s(x1) weight: (/ 1 4) status: [] precedence above: nil() weight: 0 status: [] precedence above: |0| s take |2nd| #mark from mark active head cons #active mark(x1) weight: x1 status: x1 #from(x1) weight: x1 status: [] precedence above: active(x1) weight: x1 status: x1 head(x1) weight: x1 status: [] precedence above: |2nd| cons(x1,x2) weight: max{x2, (/ 1 4) + x1} status: [x1] precedence above: s from #active(x1) weight: x1 status: [x1] precedence above: s #mark Usable rules: { 1..36 } Removed DPs: #25 Number of SCCs: 3, DPs: 0, edges: 0 YES