YES Input TRS: 1: active(pairNs()) -> mark(cons(0(),incr(oddNs()))) 2: active(oddNs()) -> mark(incr(pairNs())) 3: active(incr(cons(X,XS))) -> mark(cons(s(X),incr(XS))) 4: active(take(0(),XS)) -> mark(nil()) 5: active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) 6: active(zip(nil(),XS)) -> mark(nil()) 7: active(zip(X,nil())) -> mark(nil()) 8: active(zip(cons(X,XS),cons(Y,YS))) -> mark(cons(pair(X,Y),zip(XS,YS))) 9: active(tail(cons(X,XS))) -> mark(XS) 10: active(repItems(nil())) -> mark(nil()) 11: active(repItems(cons(X,XS))) -> mark(cons(X,cons(X,repItems(XS)))) 12: active(cons(X1,X2)) -> cons(active(X1),X2) 13: active(incr(X)) -> incr(active(X)) 14: active(s(X)) -> s(active(X)) 15: active(take(X1,X2)) -> take(active(X1),X2) 16: active(take(X1,X2)) -> take(X1,active(X2)) 17: active(zip(X1,X2)) -> zip(active(X1),X2) 18: active(zip(X1,X2)) -> zip(X1,active(X2)) 19: active(pair(X1,X2)) -> pair(active(X1),X2) 20: active(pair(X1,X2)) -> pair(X1,active(X2)) 21: active(tail(X)) -> tail(active(X)) 22: active(repItems(X)) -> repItems(active(X)) 23: cons(mark(X1),X2) -> mark(cons(X1,X2)) 24: incr(mark(X)) -> mark(incr(X)) 25: s(mark(X)) -> mark(s(X)) 26: take(mark(X1),X2) -> mark(take(X1,X2)) 27: take(X1,mark(X2)) -> mark(take(X1,X2)) 28: zip(mark(X1),X2) -> mark(zip(X1,X2)) 29: zip(X1,mark(X2)) -> mark(zip(X1,X2)) 30: pair(mark(X1),X2) -> mark(pair(X1,X2)) 31: pair(X1,mark(X2)) -> mark(pair(X1,X2)) 32: tail(mark(X)) -> mark(tail(X)) 33: repItems(mark(X)) -> mark(repItems(X)) 34: proper(pairNs()) -> ok(pairNs()) 35: proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 36: proper(0()) -> ok(0()) 37: proper(incr(X)) -> incr(proper(X)) 38: proper(oddNs()) -> ok(oddNs()) 39: proper(s(X)) -> s(proper(X)) 40: proper(take(X1,X2)) -> take(proper(X1),proper(X2)) 41: proper(nil()) -> ok(nil()) 42: proper(zip(X1,X2)) -> zip(proper(X1),proper(X2)) 43: proper(pair(X1,X2)) -> pair(proper(X1),proper(X2)) 44: proper(tail(X)) -> tail(proper(X)) 45: proper(repItems(X)) -> repItems(proper(X)) 46: cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 47: incr(ok(X)) -> ok(incr(X)) 48: s(ok(X)) -> ok(s(X)) 49: take(ok(X1),ok(X2)) -> ok(take(X1,X2)) 50: zip(ok(X1),ok(X2)) -> ok(zip(X1,X2)) 51: pair(ok(X1),ok(X2)) -> ok(pair(X1,X2)) 52: tail(ok(X)) -> ok(tail(X)) 53: repItems(ok(X)) -> ok(repItems(X)) 54: top(mark(X)) -> top(proper(X)) 55: top(ok(X)) -> top(active(X)) Number of strict rules: 55 Direct POLO(bPol) ... removes: 4 9 repItems w: 2 * x1 incr w: x1 s w: x1 take w: x1 + x2 + 1 top w: x1 + 28253 pair w: x1 + x2 tail w: x1 + 21885 proper w: x1 ok w: x1 0 w: 0 nil w: 0 mark w: x1 pairNs w: 13855 oddNs w: 13855 active w: x1 cons w: x1 + x2 zip w: x1 + x2 Number of strict rules: 53 Direct POLO(bPol) ... removes: 10 repItems w: 2 * x1 + 1 incr w: x1 s w: x1 take w: x1 + x2 + 1 top w: x1 + 28253 pair w: x1 + x2 tail w: x1 + 28966 proper w: x1 ok w: x1 0 w: 0 nil w: 0 mark w: x1 pairNs w: 1 oddNs w: 1 active w: x1 cons w: x1 + x2 zip w: x1 + x2 Number of strict rules: 52 Direct POLO(bPol) ... removes: 7 6 repItems w: 2 * x1 + 13778 incr w: x1 s w: x1 take w: x1 + x2 + 2765 top w: x1 + 72229 pair w: 2 * x1 + 2 * x2 tail w: x1 + 1 proper w: x1 ok w: x1 0 w: 0 nil w: 1 mark w: x1 pairNs w: 20540 oddNs w: 20540 active w: x1 cons w: x1 + x2 zip w: 2 * x1 + 2 * x2 + 9555 Number of strict rules: 50 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #active(oddNs()) -> #incr(pairNs()) #2: #proper(pair(X1,X2)) -> #pair(proper(X1),proper(X2)) #3: #proper(pair(X1,X2)) -> #proper(X1) #4: #proper(pair(X1,X2)) -> #proper(X2) #5: #zip(X1,mark(X2)) -> #zip(X1,X2) #6: #proper(cons(X1,X2)) -> #cons(proper(X1),proper(X2)) #7: #proper(cons(X1,X2)) -> #proper(X1) #8: #proper(cons(X1,X2)) -> #proper(X2) #9: #cons(ok(X1),ok(X2)) -> #cons(X1,X2) #10: #proper(zip(X1,X2)) -> #zip(proper(X1),proper(X2)) #11: #proper(zip(X1,X2)) -> #proper(X1) #12: #proper(zip(X1,X2)) -> #proper(X2) #13: #proper(incr(X)) -> #incr(proper(X)) #14: #proper(incr(X)) -> #proper(X) #15: #incr(ok(X)) -> #incr(X) #16: #repItems(ok(X)) -> #repItems(X) #17: #s(ok(X)) -> #s(X) #18: #top(ok(X)) -> #top(active(X)) #19: #top(ok(X)) -> #active(X) #20: #proper(take(X1,X2)) -> #take(proper(X1),proper(X2)) #21: #proper(take(X1,X2)) -> #proper(X1) #22: #proper(take(X1,X2)) -> #proper(X2) #23: #pair(ok(X1),ok(X2)) -> #pair(X1,X2) #24: #active(incr(X)) -> #incr(active(X)) #25: #active(incr(X)) -> #active(X) #26: #active(repItems(cons(X,XS))) -> #cons(X,cons(X,repItems(XS))) #27: #active(repItems(cons(X,XS))) -> #cons(X,repItems(XS)) #28: #active(repItems(cons(X,XS))) -> #repItems(XS) #29: #incr(mark(X)) -> #incr(X) #30: #cons(mark(X1),X2) -> #cons(X1,X2) #31: #proper(repItems(X)) -> #repItems(proper(X)) #32: #proper(repItems(X)) -> #proper(X) #33: #active(cons(X1,X2)) -> #cons(active(X1),X2) #34: #active(cons(X1,X2)) -> #active(X1) #35: #pair(X1,mark(X2)) -> #pair(X1,X2) #36: #active(s(X)) -> #s(active(X)) #37: #active(s(X)) -> #active(X) #38: #pair(mark(X1),X2) -> #pair(X1,X2) #39: #tail(ok(X)) -> #tail(X) #40: #take(ok(X1),ok(X2)) -> #take(X1,X2) #41: #s(mark(X)) -> #s(X) #42: #active(pair(X1,X2)) -> #pair(X1,active(X2)) #43: #active(pair(X1,X2)) -> #active(X2) #44: #proper(s(X)) -> #s(proper(X)) #45: #proper(s(X)) -> #proper(X) #46: #repItems(mark(X)) -> #repItems(X) #47: #active(take(s(N),cons(X,XS))) -> #cons(X,take(N,XS)) #48: #active(take(s(N),cons(X,XS))) -> #take(N,XS) #49: #proper(tail(X)) -> #tail(proper(X)) #50: #proper(tail(X)) -> #proper(X) #51: #zip(mark(X1),X2) -> #zip(X1,X2) #52: #active(repItems(X)) -> #repItems(active(X)) #53: #active(repItems(X)) -> #active(X) #54: #take(X1,mark(X2)) -> #take(X1,X2) #55: #active(zip(X1,X2)) -> #zip(active(X1),X2) #56: #active(zip(X1,X2)) -> #active(X1) #57: #tail(mark(X)) -> #tail(X) #58: #active(pair(X1,X2)) -> #pair(active(X1),X2) #59: #active(pair(X1,X2)) -> #active(X1) #60: #take(mark(X1),X2) -> #take(X1,X2) #61: #active(tail(X)) -> #tail(active(X)) #62: #active(tail(X)) -> #active(X) #63: #active(take(X1,X2)) -> #take(X1,active(X2)) #64: #active(take(X1,X2)) -> #active(X2) #65: #active(incr(cons(X,XS))) -> #cons(s(X),incr(XS)) #66: #active(incr(cons(X,XS))) -> #s(X) #67: #active(incr(cons(X,XS))) -> #incr(XS) #68: #active(pairNs()) -> #cons(0(),incr(oddNs())) #69: #active(pairNs()) -> #incr(oddNs()) #70: #top(mark(X)) -> #top(proper(X)) #71: #top(mark(X)) -> #proper(X) #72: #active(zip(cons(X,XS),cons(Y,YS))) -> #cons(pair(X,Y),zip(XS,YS)) #73: #active(zip(cons(X,XS),cons(Y,YS))) -> #pair(X,Y) #74: #active(zip(cons(X,XS),cons(Y,YS))) -> #zip(XS,YS) #75: #active(take(X1,X2)) -> #take(active(X1),X2) #76: #active(take(X1,X2)) -> #active(X1) #77: #zip(ok(X1),ok(X2)) -> #zip(X1,X2) #78: #active(zip(X1,X2)) -> #zip(X1,active(X2)) #79: #active(zip(X1,X2)) -> #active(X2) Number of SCCs: 11, DPs: 44 SCC { #16 #46 } POLO(Sum)... succeeded. repItems w: 0 incr w: 0 #cons w: 0 s w: 0 #take w: 0 take w: 0 top w: 0 pair w: 0 #top w: 0 #zip w: 0 tail w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #s w: 0 nil w: 0 #tail w: 0 mark w: x1 + 1 #incr w: 0 pairNs w: 0 oddNs w: 0 #proper w: 0 #repItems w: x1 active w: 0 cons w: 0 #active w: 0 #pair w: 0 zip w: 0 USABLE RULES: { } Removed DPs: #16 #46 Number of SCCs: 10, DPs: 42 SCC { #39 #57 } POLO(Sum)... succeeded. repItems w: 0 incr w: 0 #cons w: 0 s w: 0 #take w: 0 take w: 0 top w: 0 pair w: 0 #top w: 0 #zip w: 0 tail w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #s w: 0 nil w: 0 #tail w: x1 mark w: x1 + 1 #incr w: 0 pairNs w: 0 oddNs w: 0 #proper w: 0 #repItems w: 0 active w: 0 cons w: 0 #active w: 0 #pair w: 0 zip w: 0 USABLE RULES: { } Removed DPs: #39 #57 Number of SCCs: 9, DPs: 40 SCC { #17 #41 } POLO(Sum)... succeeded. repItems w: 0 incr w: 0 #cons w: 0 s w: 0 #take w: 0 take w: 0 top w: 0 pair w: 0 #top w: 0 #zip w: 0 tail w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #s w: x1 nil w: 0 #tail w: 0 mark w: x1 + 1 #incr w: 0 pairNs w: 0 oddNs w: 0 #proper w: 0 #repItems w: 0 active w: 0 cons w: 0 #active w: 0 #pair w: 0 zip w: 0 USABLE RULES: { } Removed DPs: #17 #41 Number of SCCs: 8, DPs: 38 SCC { #15 #29 } POLO(Sum)... succeeded. repItems w: 0 incr w: 0 #cons w: 0 s w: 0 #take w: 0 take w: 0 top w: 0 pair w: 0 #top w: 0 #zip w: 0 tail w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #s w: 0 nil w: 0 #tail w: 0 mark w: x1 + 1 #incr w: x1 pairNs w: 0 oddNs w: 0 #proper w: 0 #repItems w: 0 active w: 0 cons w: 0 #active w: 0 #pair w: 0 zip w: 0 USABLE RULES: { } Removed DPs: #15 #29 Number of SCCs: 7, DPs: 36 SCC { #18 #70 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 46152 #cons w: 0 s w: x1 + 46151 #take w: 0 take w: x1 + x2 + 30793 top w: 0 pair w: x1 + x2 + 1 #top w: x1 #zip w: 0 tail w: x1 + 38103 proper w: x1 ok w: x1 0 w: 46797 #s w: 0 nil w: 4013 #tail w: 0 mark w: x1 + 1 #incr w: 0 pairNs w: 79382 oddNs w: 125535 #proper w: 0 #repItems w: 0 active w: x1 cons w: x1 + 32584 #active w: 0 #pair w: 0 zip w: x1 + x2 + 40578 USABLE RULES: { 1..3 5 8 11..53 } Removed DPs: #70 Number of SCCs: 7, DPs: 35 SCC { #18 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 46152 #cons w: 0 s w: x1 + 3448 #take w: 0 take w: x2 + 34731 top w: 0 pair w: x2 + 1 #top w: x1 #zip w: 0 tail w: x1 + 38103 proper w: x1 + 2 ok w: x1 + 2 0 w: 1 #s w: 0 nil w: 19560 #tail w: 0 mark w: x1 #incr w: 0 pairNs w: 79382 oddNs w: 156327 #proper w: 0 #repItems w: 0 active w: x1 + 1 cons w: x1 + 1 #active w: 0 #pair w: 0 zip w: x2 + 1 USABLE RULES: { 1..3 5 8 11..53 } Removed DPs: #18 Number of SCCs: 6, DPs: 34 SCC { #9 #30 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 1 #cons w: x2 s w: x1 + 1 #take w: 0 take w: x2 + 22429 top w: 0 pair w: x2 + 1 #top w: x1 #zip w: 0 tail w: x1 + 1 proper w: x1 + 6617 ok w: x1 + 1 0 w: 1 #s w: 0 nil w: 41735 #tail w: 0 mark w: x1 #incr w: 0 pairNs w: 1 oddNs w: 156327 #proper w: 0 #repItems w: 0 active w: x1 + 1 cons w: x1 + 1 #active w: 0 #pair w: 0 zip w: x2 + 1 USABLE RULES: { 1..3 5 8 11..53 } Removed DPs: #9 Number of SCCs: 6, DPs: 33 SCC { #30 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 1 #cons w: x1 s w: 1 #take w: 0 take w: x2 + 1 top w: 0 pair w: 1 #top w: 0 #zip w: 0 tail w: x1 + 1 proper w: x1 + 2631 ok w: x1 + 2631 0 w: 1 #s w: 0 nil w: 41735 #tail w: 0 mark w: x1 + 1 #incr w: 0 pairNs w: 2 oddNs w: 3 #proper w: 0 #repItems w: 0 active w: x1 + 1 cons w: x1 + 1 #active w: 0 #pair w: 0 zip w: x1 + 1 USABLE RULES: { 1 2 5 11 23 24 32..34 36 38 41 46 47 52 53 } Removed DPs: #30 Number of SCCs: 5, DPs: 32 SCC { #5 #51 #77 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 1 #cons w: 0 s w: 1 #take w: 0 take w: x2 + 1 top w: 0 pair w: 1 #top w: 0 #zip w: x2 tail w: x1 + 55545 proper w: x1 + 34682 ok w: x1 + 34682 0 w: 25502 #s w: 0 nil w: 41735 #tail w: 0 mark w: x1 + 13518 #incr w: 0 pairNs w: 48580 oddNs w: 45572 #proper w: 0 #repItems w: 0 active w: x1 + 16527 cons w: x1 + 26087 #active w: 0 #pair w: 0 zip w: x1 + 38902 USABLE RULES: { 1 2 5 11 23 24 32..34 36 38 41 46 47 52 53 } Removed DPs: #5 #77 Number of SCCs: 5, DPs: 30 SCC { #51 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 51426 #cons w: 0 s w: 3494 #take w: 0 take w: x2 + 1 top w: 0 pair w: 1 #top w: 0 #zip w: x1 tail w: x1 + 48419 proper w: x1 + 1 ok w: x1 + 1 0 w: 1 #s w: 0 nil w: 41735 #tail w: 0 mark w: x1 + 1 #incr w: 0 pairNs w: 2 oddNs w: 51428 #proper w: 0 #repItems w: 0 active w: x1 + 1 cons w: x1 + 1 #active w: 0 #pair w: 0 zip w: x1 + 1 USABLE RULES: { 1 2 5 11 23 24 32..34 36 38 41 46 47 52 53 } Removed DPs: #51 Number of SCCs: 4, DPs: 29 SCC { #23 #35 #38 } POLO(Sum)... succeeded. repItems w: x1 + 29509 incr w: x1 + 1 #cons w: 0 s w: 1 #take w: 0 take w: x2 + 1 top w: 0 pair w: 1 #top w: 0 #zip w: 0 tail w: x1 + 1 proper w: x1 + 1 ok w: x1 + 1 0 w: 37073 #s w: 0 nil w: 1 #tail w: 0 mark w: x1 + 7138 #incr w: 0 pairNs w: 28373 oddNs w: 19673 #proper w: 0 #repItems w: 0 active w: x1 + 15839 cons w: x1 + 1 #active w: 0 #pair w: x1 + x2 zip w: x1 + 1 USABLE RULES: { 1 2 5 11 23 24 32..34 36 38 41 46 47 52 53 } Removed DPs: #23 #35 #38 Number of SCCs: 3, DPs: 26 SCC { #40 #54 #60 } POLO(Sum)... succeeded. repItems w: x1 + 16688 incr w: x1 + 21375 #cons w: 0 s w: 1 #take w: x1 + x2 take w: x2 + 1 top w: 0 pair w: 1 #top w: 0 #zip w: 0 tail w: x1 + 17911 proper w: x1 + 18562 ok w: x1 + 18562 0 w: 14827 #s w: 0 nil w: 1 #tail w: 0 mark w: x1 + 1 #incr w: 0 pairNs w: 14828 oddNs w: 36203 #proper w: 0 #repItems w: 0 active w: x1 + 1 cons w: x1 + 1 #active w: 0 #pair w: 0 zip w: x1 + 1 USABLE RULES: { 1 2 5 11 23 24 32..34 36 38 41 46 47 52 53 } Removed DPs: #40 #54 #60 Number of SCCs: 2, DPs: 23 SCC { #25 #34 #37 #43 #53 #56 #59 #62 #64 #76 #79 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 1 #cons w: 0 s w: x1 + 1 #take w: 0 take w: x1 + x2 + 1 top w: 0 pair w: x1 + x2 + 1 #top w: 0 #zip w: 0 tail w: x1 + 1 proper w: x1 ok w: 0 0 w: 1 #s w: 0 nil w: 1 #tail w: 0 mark w: x1 + 1 #incr w: 0 pairNs w: 1 oddNs w: 3 #proper w: 0 #repItems w: 0 active w: x1 + 2 cons w: x1 + 1 #active w: x1 #pair w: 0 zip w: x1 + x2 + 1 USABLE RULES: { 1 2 5 11 23..25 32..34 36 38 41 46..48 52 53 } Removed DPs: #25 #34 #37 #43 #53 #56 #59 #62 #64 #76 #79 Number of SCCs: 1, DPs: 12 SCC { #3 #4 #7 #8 #11 #12 #14 #21 #22 #32 #45 #50 } POLO(Sum)... succeeded. repItems w: x1 + 1 incr w: x1 + 1 #cons w: 0 s w: x1 + 1 #take w: 0 take w: x1 + x2 + 1 top w: 0 pair w: x1 + x2 + 1 #top w: 0 #zip w: 0 tail w: x1 + 1 proper w: x1 ok w: 0 0 w: 1 #s w: 0 nil w: 1 #tail w: 0 mark w: x1 + 52870 #incr w: 0 pairNs w: 1 oddNs w: 1 #proper w: x1 #repItems w: 0 active w: x1 + 52873 cons w: x1 + x2 + 1 #active w: 0 #pair w: 0 zip w: x1 + x2 + 1 USABLE RULES: { 1 2 23..25 32..34 36 38 41 46..48 52 53 } Removed DPs: #3 #4 #7 #8 #11 #12 #14 #21 #22 #32 #45 #50 Number of SCCs: 0, DPs: 0