/export/starexec/sandbox2/solver/bin/starexec_run_Default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE Input TRS: 1: active(and(tt(),T)) -> mark(T) 2: active(isNatIList(IL)) -> mark(isNatList(IL)) 3: active(isNat(0())) -> mark(tt()) 4: active(isNat(s(N))) -> mark(isNat(N)) 5: active(isNat(length(L))) -> mark(isNatList(L)) 6: active(isNatIList(zeros())) -> mark(tt()) 7: active(isNatIList(cons(N,IL))) -> mark(and(isNat(N),isNatIList(IL))) 8: active(isNatList(nil())) -> mark(tt()) 9: active(isNatList(cons(N,L))) -> mark(and(isNat(N),isNatList(L))) 10: active(isNatList(take(N,IL))) -> mark(and(isNat(N),isNatIList(IL))) 11: active(zeros()) -> mark(cons(0(),zeros())) 12: active(take(0(),IL)) -> mark(uTake1(isNatIList(IL))) 13: active(uTake1(tt())) -> mark(nil()) 14: active(take(s(M),cons(N,IL))) -> mark(uTake2(and(isNat(M),and(isNat(N),isNatIList(IL))),M,N,IL)) 15: active(uTake2(tt(),M,N,IL)) -> mark(cons(N,take(M,IL))) 16: active(length(cons(N,L))) -> mark(uLength(and(isNat(N),isNatList(L)),L)) 17: active(uLength(tt(),L)) -> mark(s(length(L))) 18: active(and(X1,X2)) -> and(active(X1),X2) 19: active(and(X1,X2)) -> and(X1,active(X2)) 20: active(s(X)) -> s(active(X)) 21: active(length(X)) -> length(active(X)) 22: active(cons(X1,X2)) -> cons(active(X1),X2) 23: active(take(X1,X2)) -> take(active(X1),X2) 24: active(take(X1,X2)) -> take(X1,active(X2)) 25: active(uTake1(X)) -> uTake1(active(X)) 26: active(uTake2(X1,X2,X3,X4)) -> uTake2(active(X1),X2,X3,X4) 27: active(uLength(X1,X2)) -> uLength(active(X1),X2) 28: and(mark(X1),X2) -> mark(and(X1,X2)) 29: and(X1,mark(X2)) -> mark(and(X1,X2)) 30: s(mark(X)) -> mark(s(X)) 31: length(mark(X)) -> mark(length(X)) 32: cons(mark(X1),X2) -> mark(cons(X1,X2)) 33: take(mark(X1),X2) -> mark(take(X1,X2)) 34: take(X1,mark(X2)) -> mark(take(X1,X2)) 35: uTake1(mark(X)) -> mark(uTake1(X)) 36: uTake2(mark(X1),X2,X3,X4) -> mark(uTake2(X1,X2,X3,X4)) 37: uLength(mark(X1),X2) -> mark(uLength(X1,X2)) 38: proper(and(X1,X2)) -> and(proper(X1),proper(X2)) 39: proper(tt()) -> ok(tt()) 40: proper(isNatIList(X)) -> isNatIList(proper(X)) 41: proper(isNatList(X)) -> isNatList(proper(X)) 42: proper(isNat(X)) -> isNat(proper(X)) 43: proper(0()) -> ok(0()) 44: proper(s(X)) -> s(proper(X)) 45: proper(length(X)) -> length(proper(X)) 46: proper(zeros()) -> ok(zeros()) 47: proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 48: proper(nil()) -> ok(nil()) 49: proper(take(X1,X2)) -> take(proper(X1),proper(X2)) 50: proper(uTake1(X)) -> uTake1(proper(X)) 51: proper(uTake2(X1,X2,X3,X4)) -> uTake2(proper(X1),proper(X2),proper(X3),proper(X4)) 52: proper(uLength(X1,X2)) -> uLength(proper(X1),proper(X2)) 53: and(ok(X1),ok(X2)) -> ok(and(X1,X2)) 54: isNatIList(ok(X)) -> ok(isNatIList(X)) 55: isNatList(ok(X)) -> ok(isNatList(X)) 56: isNat(ok(X)) -> ok(isNat(X)) 57: s(ok(X)) -> ok(s(X)) 58: length(ok(X)) -> ok(length(X)) 59: cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 60: take(ok(X1),ok(X2)) -> ok(take(X1,X2)) 61: uTake1(ok(X)) -> ok(uTake1(X)) 62: uTake2(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(uTake2(X1,X2,X3,X4)) 63: uLength(ok(X1),ok(X2)) -> ok(uLength(X1,X2)) 64: top(mark(X)) -> top(proper(X)) 65: top(ok(X)) -> top(active(X)) Number of strict rules: 65 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #active(isNatIList(IL)) -> #isNatList(IL) #2: #and(X1,mark(X2)) -> #and(X1,X2) #3: #uTake1(mark(X)) -> #uTake1(X) #4: #proper(isNat(X)) -> #isNat(proper(X)) #5: #proper(isNat(X)) -> #proper(X) #6: #proper(isNatList(X)) -> #isNatList(proper(X)) #7: #proper(isNatList(X)) -> #proper(X) #8: #uLength(mark(X1),X2) -> #uLength(X1,X2) #9: #proper(cons(X1,X2)) -> #cons(proper(X1),proper(X2)) #10: #proper(cons(X1,X2)) -> #proper(X1) #11: #proper(cons(X1,X2)) -> #proper(X2) #12: #and(ok(X1),ok(X2)) -> #and(X1,X2) #13: #length(ok(X)) -> #length(X) #14: #uTake1(ok(X)) -> #uTake1(X) #15: #proper(and(X1,X2)) -> #and(proper(X1),proper(X2)) #16: #proper(and(X1,X2)) -> #proper(X1) #17: #proper(and(X1,X2)) -> #proper(X2) #18: #cons(ok(X1),ok(X2)) -> #cons(X1,X2) #19: #isNatList(ok(X)) -> #isNatList(X) #20: #proper(isNatIList(X)) -> #isNatIList(proper(X)) #21: #proper(isNatIList(X)) -> #proper(X) #22: #proper(uTake2(X1,X2,X3,X4)) -> #uTake2(proper(X1),proper(X2),proper(X3),proper(X4)) #23: #proper(uTake2(X1,X2,X3,X4)) -> #proper(X1) #24: #proper(uTake2(X1,X2,X3,X4)) -> #proper(X2) #25: #proper(uTake2(X1,X2,X3,X4)) -> #proper(X3) #26: #proper(uTake2(X1,X2,X3,X4)) -> #proper(X4) #27: #active(isNatList(cons(N,L))) -> #and(isNat(N),isNatList(L)) #28: #active(isNatList(cons(N,L))) -> #isNat(N) #29: #active(isNatList(cons(N,L))) -> #isNatList(L) #30: #active(zeros()) -> #cons(0(),zeros()) #31: #s(ok(X)) -> #s(X) #32: #active(take(X1,X2)) -> #take(X1,active(X2)) #33: #active(take(X1,X2)) -> #active(X2) #34: #active(take(X1,X2)) -> #take(active(X1),X2) #35: #active(take(X1,X2)) -> #active(X1) #36: #proper(length(X)) -> #length(proper(X)) #37: #proper(length(X)) -> #proper(X) #38: #active(take(0(),IL)) -> #uTake1(isNatIList(IL)) #39: #active(take(0(),IL)) -> #isNatIList(IL) #40: #length(mark(X)) -> #length(X) #41: #isNat(ok(X)) -> #isNat(X) #42: #active(take(s(M),cons(N,IL))) -> #uTake2(and(isNat(M),and(isNat(N),isNatIList(IL))),M,N,IL) #43: #active(take(s(M),cons(N,IL))) -> #and(isNat(M),and(isNat(N),isNatIList(IL))) #44: #active(take(s(M),cons(N,IL))) -> #isNat(M) #45: #active(take(s(M),cons(N,IL))) -> #and(isNat(N),isNatIList(IL)) #46: #active(take(s(M),cons(N,IL))) -> #isNat(N) #47: #active(take(s(M),cons(N,IL))) -> #isNatIList(IL) #48: #uTake2(ok(X1),ok(X2),ok(X3),ok(X4)) -> #uTake2(X1,X2,X3,X4) #49: #s(mark(X)) -> #s(X) #50: #proper(uLength(X1,X2)) -> #uLength(proper(X1),proper(X2)) #51: #proper(uLength(X1,X2)) -> #proper(X1) #52: #proper(uLength(X1,X2)) -> #proper(X2) #53: #proper(take(X1,X2)) -> #take(proper(X1),proper(X2)) #54: #proper(take(X1,X2)) -> #proper(X1) #55: #proper(take(X1,X2)) -> #proper(X2) #56: #active(uTake1(X)) -> #uTake1(active(X)) #57: #active(uTake1(X)) -> #active(X) #58: #active(s(X)) -> #s(active(X)) #59: #active(s(X)) -> #active(X) #60: #active(isNatIList(cons(N,IL))) -> #and(isNat(N),isNatIList(IL)) #61: #active(isNatIList(cons(N,IL))) -> #isNat(N) #62: #active(isNatIList(cons(N,IL))) -> #isNatIList(IL) #63: #active(isNatList(take(N,IL))) -> #and(isNat(N),isNatIList(IL)) #64: #active(isNatList(take(N,IL))) -> #isNat(N) #65: #active(isNatList(take(N,IL))) -> #isNatIList(IL) #66: #top(mark(X)) -> #top(proper(X)) #67: #top(mark(X)) -> #proper(X) #68: #take(mark(X1),X2) -> #take(X1,X2) #69: #active(isNat(length(L))) -> #isNatList(L) #70: #proper(s(X)) -> #s(proper(X)) #71: #proper(s(X)) -> #proper(X) #72: #top(ok(X)) -> #top(active(X)) #73: #top(ok(X)) -> #active(X) #74: #and(mark(X1),X2) -> #and(X1,X2) #75: #active(cons(X1,X2)) -> #cons(active(X1),X2) #76: #active(cons(X1,X2)) -> #active(X1) #77: #take(X1,mark(X2)) -> #take(X1,X2) #78: #active(uLength(X1,X2)) -> #uLength(active(X1),X2) #79: #active(uLength(X1,X2)) -> #active(X1) #80: #take(ok(X1),ok(X2)) -> #take(X1,X2) #81: #active(uLength(tt(),L)) -> #s(length(L)) #82: #active(uLength(tt(),L)) -> #length(L) #83: #cons(mark(X1),X2) -> #cons(X1,X2) #84: #active(and(X1,X2)) -> #and(X1,active(X2)) #85: #active(and(X1,X2)) -> #active(X2) #86: #uLength(ok(X1),ok(X2)) -> #uLength(X1,X2) #87: #active(uTake2(X1,X2,X3,X4)) -> #uTake2(active(X1),X2,X3,X4) #88: #active(uTake2(X1,X2,X3,X4)) -> #active(X1) #89: #uTake2(mark(X1),X2,X3,X4) -> #uTake2(X1,X2,X3,X4) #90: #active(length(X)) -> #length(active(X)) #91: #active(length(X)) -> #active(X) #92: #active(length(cons(N,L))) -> #uLength(and(isNat(N),isNatList(L)),L) #93: #active(length(cons(N,L))) -> #and(isNat(N),isNatList(L)) #94: #active(length(cons(N,L))) -> #isNat(N) #95: #active(length(cons(N,L))) -> #isNatList(L) #96: #isNatIList(ok(X)) -> #isNatIList(X) #97: #active(uTake2(tt(),M,N,IL)) -> #cons(N,take(M,IL)) #98: #active(uTake2(tt(),M,N,IL)) -> #take(M,IL) #99: #active(isNat(s(N))) -> #isNat(N) #100: #proper(uTake1(X)) -> #uTake1(proper(X)) #101: #proper(uTake1(X)) -> #proper(X) #102: #active(and(X1,X2)) -> #and(active(X1),X2) #103: #active(and(X1,X2)) -> #active(X1) Number of SCCs: 14, DPs: 51 SCC { #41 } POLO(Sum)... succeeded. #uTake2 w: 0 isNatList w: 0 #cons w: 0 s w: 0 #isNat w: x1 #take w: 0 take w: 0 top w: 0 #uTake1 w: 0 and w: 0 isNatIList w: 0 #top w: 0 zeros w: 0 uTake2 w: 0 uLength w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #isNatList w: 0 #s w: 0 nil w: 0 mark w: 0 #proper w: 0 isNat w: 0 active w: 0 cons w: 0 #active w: 0 #isNatIList w: 0 tt w: 0 uTake1 w: 0 length w: 0 #length w: 0 #and w: 0 #uLength w: 0 USABLE RULES: { } Removed DPs: #41 Number of SCCs: 13, DPs: 50 SCC { #19 } POLO(Sum)... succeeded. #uTake2 w: 0 isNatList w: 0 #cons w: 0 s w: 0 #isNat w: 0 #take w: 0 take w: 0 top w: 0 #uTake1 w: 0 and w: 0 isNatIList w: 0 #top w: 0 zeros w: 0 uTake2 w: 0 uLength w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #isNatList w: x1 #s w: 0 nil w: 0 mark w: 0 #proper w: 0 isNat w: 0 active w: 0 cons w: 0 #active w: 0 #isNatIList w: 0 tt w: 0 uTake1 w: 0 length w: 0 #length w: 0 #and w: 0 #uLength w: 0 USABLE RULES: { } Removed DPs: #19 Number of SCCs: 12, DPs: 49 SCC { #96 } POLO(Sum)... succeeded. #uTake2 w: 0 isNatList w: 0 #cons w: 0 s w: 0 #isNat w: 0 #take w: 0 take w: 0 top w: 0 #uTake1 w: 0 and w: 0 isNatIList w: 0 #top w: 0 zeros w: 0 uTake2 w: 0 uLength w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #isNatList w: 0 #s w: 0 nil w: 0 mark w: 0 #proper w: 0 isNat w: 0 active w: 0 cons w: 0 #active w: 0 #isNatIList w: x1 tt w: 0 uTake1 w: 0 length w: 0 #length w: 0 #and w: 0 #uLength w: 0 USABLE RULES: { } Removed DPs: #96 Number of SCCs: 11, DPs: 48 SCC { #3 #14 } POLO(Sum)... succeeded. #uTake2 w: 0 isNatList w: 0 #cons w: 0 s w: 0 #isNat w: 0 #take w: 0 take w: 0 top w: 0 #uTake1 w: x1 and w: 0 isNatIList w: 0 #top w: 0 zeros w: 0 uTake2 w: 0 uLength w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #isNatList w: 0 #s w: 0 nil w: 0 mark w: x1 + 1 #proper w: 0 isNat w: 0 active w: 0 cons w: 0 #active w: 0 #isNatIList w: 0 tt w: 0 uTake1 w: 0 length w: 0 #length w: 0 #and w: 0 #uLength w: 0 USABLE RULES: { } Removed DPs: #3 #14 Number of SCCs: 10, DPs: 46 SCC { #31 #49 } POLO(Sum)... succeeded. #uTake2 w: 0 isNatList w: 0 #cons w: 0 s w: 0 #isNat w: 0 #take w: 0 take w: 0 top w: 0 #uTake1 w: 0 and w: 0 isNatIList w: 0 #top w: 0 zeros w: 0 uTake2 w: 0 uLength w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #isNatList w: 0 #s w: x1 nil w: 0 mark w: x1 + 1 #proper w: 0 isNat w: 0 active w: 0 cons w: 0 #active w: 0 #isNatIList w: 0 tt w: 0 uTake1 w: 0 length w: 0 #length w: 0 #and w: 0 #uLength w: 0 USABLE RULES: { } Removed DPs: #31 #49 Number of SCCs: 9, DPs: 44 SCC { #13 #40 } POLO(Sum)... succeeded. #uTake2 w: 0 isNatList w: 0 #cons w: 0 s w: 0 #isNat w: 0 #take w: 0 take w: 0 top w: 0 #uTake1 w: 0 and w: 0 isNatIList w: 0 #top w: 0 zeros w: 0 uTake2 w: 0 uLength w: 0 proper w: 0 ok w: x1 + 1 0 w: 0 #isNatList w: 0 #s w: 0 nil w: 0 mark w: x1 + 1 #proper w: 0 isNat w: 0 active w: 0 cons w: 0 #active w: 0 #isNatIList w: 0 tt w: 0 uTake1 w: 0 length w: 0 #length w: x1 #and w: 0 #uLength w: 0 USABLE RULES: { } Removed DPs: #13 #40 Number of SCCs: 8, DPs: 42 SCC { #66 #72 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... failed.