YES Input TRS: 1: active(first(0(),X)) -> mark(nil()) 2: active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z))) 3: active(from(X)) -> mark(cons(X,from(s(X)))) 4: active(first(X1,X2)) -> first(active(X1),X2) 5: active(first(X1,X2)) -> first(X1,active(X2)) 6: active(s(X)) -> s(active(X)) 7: active(cons(X1,X2)) -> cons(active(X1),X2) 8: active(from(X)) -> from(active(X)) 9: first(mark(X1),X2) -> mark(first(X1,X2)) 10: first(X1,mark(X2)) -> mark(first(X1,X2)) 11: s(mark(X)) -> mark(s(X)) 12: cons(mark(X1),X2) -> mark(cons(X1,X2)) 13: from(mark(X)) -> mark(from(X)) 14: proper(first(X1,X2)) -> first(proper(X1),proper(X2)) 15: proper(0()) -> ok(0()) 16: proper(nil()) -> ok(nil()) 17: proper(s(X)) -> s(proper(X)) 18: proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 19: proper(from(X)) -> from(proper(X)) 20: first(ok(X1),ok(X2)) -> ok(first(X1,X2)) 21: s(ok(X)) -> ok(s(X)) 22: cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 23: from(ok(X)) -> ok(from(X)) 24: top(mark(X)) -> top(proper(X)) 25: top(ok(X)) -> top(active(X)) Number of strict rules: 25 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #active(first(s(X),cons(Y,Z))) -> #cons(Y,first(X,Z)) #2: #active(first(s(X),cons(Y,Z))) -> #first(X,Z) #3: #active(s(X)) -> #s(active(X)) #4: #active(s(X)) -> #active(X) #5: #from(mark(X)) -> #from(X) #6: #first(mark(X1),X2) -> #first(X1,X2) #7: #s(mark(X)) -> #s(X) #8: #top(mark(X)) -> #top(proper(X)) #9: #top(mark(X)) -> #proper(X) #10: #from(ok(X)) -> #from(X) #11: #cons(mark(X1),X2) -> #cons(X1,X2) #12: #proper(first(X1,X2)) -> #first(proper(X1),proper(X2)) #13: #proper(first(X1,X2)) -> #proper(X1) #14: #proper(first(X1,X2)) -> #proper(X2) #15: #top(ok(X)) -> #top(active(X)) #16: #top(ok(X)) -> #active(X) #17: #first(ok(X1),ok(X2)) -> #first(X1,X2) #18: #active(cons(X1,X2)) -> #cons(active(X1),X2) #19: #active(cons(X1,X2)) -> #active(X1) #20: #first(X1,mark(X2)) -> #first(X1,X2) #21: #active(first(X1,X2)) -> #first(X1,active(X2)) #22: #active(first(X1,X2)) -> #active(X2) #23: #cons(ok(X1),ok(X2)) -> #cons(X1,X2) #24: #proper(s(X)) -> #s(proper(X)) #25: #proper(s(X)) -> #proper(X) #26: #proper(from(X)) -> #from(proper(X)) #27: #proper(from(X)) -> #proper(X) #28: #s(ok(X)) -> #s(X) #29: #active(from(X)) -> #cons(X,from(s(X))) #30: #active(from(X)) -> #from(s(X)) #31: #active(from(X)) -> #s(X) #32: #active(from(X)) -> #from(active(X)) #33: #active(from(X)) -> #active(X) #34: #active(first(X1,X2)) -> #first(active(X1),X2) #35: #active(first(X1,X2)) -> #active(X1) #36: #proper(cons(X1,X2)) -> #cons(proper(X1),proper(X2)) #37: #proper(cons(X1,X2)) -> #proper(X1) #38: #proper(cons(X1,X2)) -> #proper(X2) Number of SCCs: 7, DPs: 22 SCC { #7 #28 } POLO(Sum)... succeeded. #cons w: 0 s w: 0 top w: 0 #top w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 from w: 0 #s w: x1 #first w: 0 nil w: 0 mark w: x1 + 1 first w: 0 #proper w: 0 #from w: 0 active w: 0 cons w: 0 #active w: 0 USABLE RULES: { } Removed DPs: #7 #28 Number of SCCs: 6, DPs: 20 SCC { #5 #10 } POLO(Sum)... succeeded. #cons w: 0 s w: 0 top w: 0 #top w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 from w: 0 #s w: 0 #first w: 0 nil w: 0 mark w: x1 + 1 first w: 0 #proper w: 0 #from w: x1 active w: 0 cons w: 0 #active w: 0 USABLE RULES: { } Removed DPs: #5 #10 Number of SCCs: 5, DPs: 18 SCC { #8 #15 } POLO(Sum)... succeeded. #cons w: 0 s w: x1 + 1 top w: 0 #top w: x1 proper w: x1 ok w: x1 0 w: 48808 from w: x1 + 62710 #s w: 0 #first w: 0 nil w: 12213 mark w: x1 + 1 first w: x1 + x2 + 1 #proper w: 0 #from w: 0 active w: x1 cons w: x1 + 62709 #active w: 0 USABLE RULES: { 1..23 } Removed DPs: #8 Number of SCCs: 5, DPs: 17 SCC { #15 } POLO(Sum)... succeeded. #cons w: 0 s w: x1 + 1 top w: 0 #top w: x1 proper w: x1 + 4686 ok w: x1 + 4686 0 w: 1 from w: x1 + 1 #s w: 0 #first w: 0 nil w: 3 mark w: x1 first w: x2 + 1 #proper w: 0 #from w: 0 active w: x1 + 2 cons w: x2 + 1 #active w: 0 USABLE RULES: { 1..23 } Removed DPs: #15 Number of SCCs: 4, DPs: 16 SCC { #11 #23 } POLO(Sum)... succeeded. #cons w: x1 s w: x1 + 1 top w: 0 #top w: x1 proper w: x1 + 1 ok w: x1 + 1 0 w: 20534 from w: x1 + 37414 #s w: 0 #first w: 0 nil w: 1 mark w: x1 first w: x2 + 1 #proper w: 0 #from w: 0 active w: x1 + 2 cons w: x2 + 1 #active w: 0 USABLE RULES: { 1..23 } Removed DPs: #23 Number of SCCs: 4, DPs: 15 SCC { #11 } POLO(Sum)... succeeded. #cons w: x1 s w: x1 + 1 top w: 0 #top w: x1 proper w: x1 ok w: 1 0 w: 1 from w: x1 + 2 #s w: 0 #first w: 0 nil w: 1 mark w: x1 + 1 first w: x1 + x2 + 1 #proper w: 0 #from w: 0 active w: x1 cons w: x1 + 1 #active w: 0 USABLE RULES: { 1..23 } Removed DPs: #11 Number of SCCs: 3, DPs: 14 SCC { #6 #17 #20 } POLO(Sum)... succeeded. #cons w: 0 s w: 1 top w: 0 #top w: 0 proper w: x1 + 1 ok w: x1 + 2 0 w: 33296 from w: x1 + 1 #s w: 0 #first w: x1 nil w: 34919 mark w: x1 + 30954 first w: x1 + 32576 #proper w: 0 #from w: 0 active w: x1 + 1 cons w: x1 + 1625 #active w: 0 USABLE RULES: { 12 22 } Removed DPs: #6 #17 Number of SCCs: 3, DPs: 12 SCC { #20 } POLO(Sum)... succeeded. #cons w: 0 s w: 1 top w: 0 #top w: 0 proper w: x1 + 24238 ok w: x1 + 24239 0 w: 2 from w: x1 + 1 #s w: 0 #first w: x2 nil w: 1 mark w: x1 + 24255 first w: x1 + 1 #proper w: 0 #from w: 0 active w: x1 + 24253 cons w: x1 + 1 #active w: 0 USABLE RULES: { 12 22 } Removed DPs: #20 Number of SCCs: 2, DPs: 11 SCC { #4 #19 #22 #33 #35 } POLO(Sum)... succeeded. #cons w: 0 s w: x1 + 1 top w: 0 #top w: 0 proper w: x1 ok w: x1 + 1 0 w: 1 from w: x1 + 1911 #s w: 0 #first w: 0 nil w: 1 mark w: x1 first w: x1 + x2 + 1 #proper w: 0 #from w: 0 active w: x1 + 41701 cons w: x1 + 43613 #active w: x1 USABLE RULES: { 12 22 } Removed DPs: #4 #19 #22 #33 #35 Number of SCCs: 1, DPs: 6 SCC { #13 #14 #25 #27 #37 #38 } POLO(Sum)... succeeded. #cons w: 0 s w: x1 + 1 top w: 0 #top w: 0 proper w: x1 ok w: x1 + 14756 0 w: 18009 from w: x1 + 1 #s w: 0 #first w: 0 nil w: 1 mark w: x1 first w: x1 + x2 + 51021 #proper w: x1 #from w: 0 active w: x1 + 1 cons w: x1 + x2 + 1 #active w: 0 USABLE RULES: { 9 10 12 20 22 } Removed DPs: #13 #14 #25 #27 #37 #38 Number of SCCs: 0, DPs: 0