Input TRS: 1: active(zeros()) -> mark(cons(0(),zeros())) 2: active(and(tt(),X)) -> mark(X) 3: active(length(nil())) -> mark(0()) 4: active(length(cons(N,L))) -> mark(s(length(L))) 5: active(take(0(),IL)) -> mark(nil()) 6: active(take(s(M),cons(N,IL))) -> mark(cons(N,take(M,IL))) 7: mark(zeros()) -> active(zeros()) 8: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) 9: mark(0()) -> active(0()) 10: mark(and(X1,X2)) -> active(and(mark(X1),X2)) 11: mark(tt()) -> active(tt()) 12: mark(length(X)) -> active(length(mark(X))) 13: mark(nil()) -> active(nil()) 14: mark(s(X)) -> active(s(mark(X))) 15: mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) 16: cons(mark(X1),X2) -> cons(X1,X2) 17: cons(X1,mark(X2)) -> cons(X1,X2) 18: cons(active(X1),X2) -> cons(X1,X2) 19: cons(X1,active(X2)) -> cons(X1,X2) 20: and(mark(X1),X2) -> and(X1,X2) 21: and(X1,mark(X2)) -> and(X1,X2) 22: and(active(X1),X2) -> and(X1,X2) 23: and(X1,active(X2)) -> and(X1,X2) 24: length(mark(X)) -> length(X) 25: length(active(X)) -> length(X) 26: s(mark(X)) -> s(X) 27: s(active(X)) -> s(X) 28: take(mark(X1),X2) -> take(X1,X2) 29: take(X1,mark(X2)) -> take(X1,X2) 30: take(active(X1),X2) -> take(X1,X2) 31: take(X1,active(X2)) -> take(X1,X2) Number of strict rules: 31 Direct Order(PosReal,>,Poly) ... removes: 3 5 2 s(x1) weight: x1 take(x1,x2) weight: (/ 195105 8) + x1 + x2 and(x1,x2) weight: (/ 108041 8) + x1 + x2 zeros() weight: 0 0() weight: 0 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 cons(x1,x2) weight: x1 + x2 tt() weight: 0 length(x1) weight: (/ 1 8) + x1 Number of strict rules: 28 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #take(X1,mark(X2)) -> #take(X1,X2) #2: #active(take(s(M),cons(N,IL))) -> #mark(cons(N,take(M,IL))) #3: #active(take(s(M),cons(N,IL))) -> #cons(N,take(M,IL)) #4: #active(take(s(M),cons(N,IL))) -> #take(M,IL) #5: #mark(nil()) -> #active(nil()) #6: #mark(0()) -> #active(0()) #7: #mark(tt()) -> #active(tt()) #8: #length(mark(X)) -> #length(X) #9: #and(X1,active(X2)) -> #and(X1,X2) #10: #mark(length(X)) -> #active(length(mark(X))) #11: #mark(length(X)) -> #length(mark(X)) #12: #mark(length(X)) -> #mark(X) #13: #take(X1,active(X2)) -> #take(X1,X2) #14: #mark(s(X)) -> #active(s(mark(X))) #15: #mark(s(X)) -> #s(mark(X)) #16: #mark(s(X)) -> #mark(X) #17: #take(active(X1),X2) -> #take(X1,X2) #18: #length(active(X)) -> #length(X) #19: #and(mark(X1),X2) -> #and(X1,X2) #20: #mark(zeros()) -> #active(zeros()) #21: #mark(and(X1,X2)) -> #active(and(mark(X1),X2)) #22: #mark(and(X1,X2)) -> #and(mark(X1),X2) #23: #mark(and(X1,X2)) -> #mark(X1) #24: #take(mark(X1),X2) -> #take(X1,X2) #25: #and(active(X1),X2) -> #and(X1,X2) #26: #s(active(X)) -> #s(X) #27: #cons(X1,mark(X2)) -> #cons(X1,X2) #28: #cons(X1,active(X2)) -> #cons(X1,X2) #29: #s(mark(X)) -> #s(X) #30: #and(X1,mark(X2)) -> #and(X1,X2) #31: #cons(mark(X1),X2) -> #cons(X1,X2) #32: #active(zeros()) -> #mark(cons(0(),zeros())) #33: #active(zeros()) -> #cons(0(),zeros()) #34: #mark(cons(X1,X2)) -> #active(cons(mark(X1),X2)) #35: #mark(cons(X1,X2)) -> #cons(mark(X1),X2) #36: #mark(cons(X1,X2)) -> #mark(X1) #37: #mark(take(X1,X2)) -> #active(take(mark(X1),mark(X2))) #38: #mark(take(X1,X2)) -> #take(mark(X1),mark(X2)) #39: #mark(take(X1,X2)) -> #mark(X1) #40: #mark(take(X1,X2)) -> #mark(X2) #41: #active(length(cons(N,L))) -> #mark(s(length(L))) #42: #active(length(cons(N,L))) -> #s(length(L)) #43: #active(length(cons(N,L))) -> #length(L) #44: #cons(active(X1),X2) -> #cons(X1,X2) Number of SCCs: 6, DPs: 28, edges: 116 SCC { #26 #29 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #26 #29 Number of SCCs: 5, DPs: 26, edges: 112 SCC { #8 #18 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: x1 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #8 #18 Number of SCCs: 4, DPs: 24, edges: 108 SCC { #1 #13 #17 #24 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #1 #13 Number of SCCs: 4, DPs: 22, edges: 96 SCC { #17 #24 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #17 #24 Number of SCCs: 3, DPs: 20, edges: 92 SCC { #27 #28 #31 #44 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #27 #28 Number of SCCs: 4, DPs: 18, edges: 80 SCC { #31 #44 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #31 #44 Number of SCCs: 3, DPs: 16, edges: 76 SCC { #9 #19 #25 #30 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: x2 Usable rules: { } Removed DPs: #9 #30 Number of SCCs: 4, DPs: 14, edges: 64 SCC { #19 #25 } 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 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: x1 Usable rules: { } Removed DPs: #19 #25 Number of SCCs: 3, DPs: 12, edges: 60 SCC { #2 #10 #12 #16 #20 #23 #32 #36 #37 #39..41 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 2) + x1 + x2 and(x1,x2) weight: (/ 1 2) + x1 zeros() weight: 0 #mark(x1) weight: x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 cons(x1,x2) weight: x1 + x2 #active(x1) weight: x1 tt() weight: 0 length(x1) weight: (/ 1 2) + x1 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { 1 4 6..31 } Removed DPs: #12 #23 #39 #40 Number of SCCs: 4, DPs: 8, edges: 16 SCC { #2 #10 #16 #20 #32 #36 #37 #41 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 2) + x1 + x2 and(x1,x2) weight: (/ 1 2) + x1 zeros() weight: 0 #mark(x1) weight: x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 cons(x1,x2) weight: x1 #active(x1) weight: x1 tt() weight: 0 length(x1) weight: (/ 1 2) #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { 1 4 6..31 } Removed DPs: #2 Number of SCCs: 4, DPs: 6, edges: 12 SCC { #10 #16 #20 #32 #36 #41 } 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: 0 and(x1,x2) weight: 0 zeros() weight: (/ 1 2) #mark(x1) weight: x1 0() weight: (/ 1 8) #s(x1) weight: 0 nil() weight: (/ 1 8) mark(x1) weight: (/ 1 8) active(x1) weight: 0 cons(x1,x2) weight: max{0, (/ 1 8) + x1} #active(x1) weight: (/ 3 8) tt() weight: (/ 1 8) length(x1) weight: (/ 3 8) #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { 24 25 } Removed DPs: #20 #32 #36 Number of SCCs: 4, DPs: 3, edges: 4 SCC { #10 #16 #41 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... failed. MAYBE