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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: x1 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) weight: x1 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: x1 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #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 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: x2 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #cons(x1,x2) weight: 0 s(x1) weight: x1 #take(x1,x2) weight: 0 take(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 2) + x1} 2nd(x1) weight: (/ 1 4) + x1 #head(x1) weight: 0 #mark(x1) weight: x1 0() weight: (/ 1 8) #sel(x1,x2) weight: 0 from(x1) weight: (/ 3 8) + x1 sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} #s(x1) weight: 0 nil() weight: (/ 1 2) #2nd(x1) weight: 0 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 4) + 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. #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 #mark(x1) weight: x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 nil() weight: 0 #2nd(x1) 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. #cons(x1,x2) weight: x2 status: [x2] 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: #mark sel nil mark active head cons #active 2nd(x1) weight: (/ 5 16) + x1 status: [x1] precedence above: head #head(x1) weight: (/ 1 16) status: [] precedence above: #mark(x1) weight: (/ 1 16) + x1 status: [x1] precedence above: #active 0() weight: (/ 1 16) status: [] precedence above: #mark mark active head #active #sel(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: from(x1) weight: (/ 1 4) + x1 status: [] precedence above: s #mark sel mark active head cons #active sel(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x1] precedence above: #mark mark active head #active #s(x1) weight: x1 status: [] precedence above: nil() weight: 0 status: [] precedence above: take #mark sel mark active head cons #active #2nd(x1) weight: (/ 1 16) status: [] precedence above: mark(x1) weight: x1 status: x1 #from(x1) weight: (/ 1 16) status: [] precedence above: active(x1) weight: x1 status: x1 head(x1) weight: (/ 1 4) + x1 status: [x1] precedence above: cons(x1,x2) weight: max{x2, (/ 3 16) + x1} status: [x1] precedence above: #mark sel mark active head #active #active(x1) weight: (/ 1 16) + x1 status: [x1] precedence above: #mark Usable rules: { 1..36 } Removed DPs: #25 Number of SCCs: 3, DPs: 0, edges: 0 YES