/export/starexec/sandbox2/solver/bin/starexec_run_Default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Input TRS: 1: a__and(tt(),T) -> mark(T) 2: a__isNatIList(IL) -> a__isNatList(IL) 3: a__isNat(0()) -> tt() 4: a__isNat(s(N)) -> a__isNat(N) 5: a__isNat(length(L)) -> a__isNatList(L) 6: a__isNatIList(zeros()) -> tt() 7: a__isNatIList(cons(N,IL)) -> a__and(a__isNat(N),a__isNatIList(IL)) 8: a__isNatList(nil()) -> tt() 9: a__isNatList(cons(N,L)) -> a__and(a__isNat(N),a__isNatList(L)) 10: a__isNatList(take(N,IL)) -> a__and(a__isNat(N),a__isNatIList(IL)) 11: a__zeros() -> cons(0(),zeros()) 12: a__take(0(),IL) -> a__uTake1(a__isNatIList(IL)) 13: a__uTake1(tt()) -> nil() 14: a__take(s(M),cons(N,IL)) -> a__uTake2(a__and(a__isNat(M),a__and(a__isNat(N),a__isNatIList(IL))),M,N,IL) 15: a__uTake2(tt(),M,N,IL) -> cons(mark(N),take(M,IL)) 16: a__length(cons(N,L)) -> a__uLength(a__and(a__isNat(N),a__isNatList(L)),L) 17: a__uLength(tt(),L) -> s(a__length(mark(L))) 18: mark(and(X1,X2)) -> a__and(mark(X1),mark(X2)) 19: mark(isNatIList(X)) -> a__isNatIList(X) 20: mark(isNatList(X)) -> a__isNatList(X) 21: mark(isNat(X)) -> a__isNat(X) 22: mark(length(X)) -> a__length(mark(X)) 23: mark(zeros()) -> a__zeros() 24: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) 25: mark(uTake1(X)) -> a__uTake1(mark(X)) 26: mark(uTake2(X1,X2,X3,X4)) -> a__uTake2(mark(X1),X2,X3,X4) 27: mark(uLength(X1,X2)) -> a__uLength(mark(X1),X2) 28: mark(tt()) -> tt() 29: mark(0()) -> 0() 30: mark(s(X)) -> s(mark(X)) 31: mark(cons(X1,X2)) -> cons(mark(X1),X2) 32: mark(nil()) -> nil() 33: a__and(X1,X2) -> and(X1,X2) 34: a__isNatIList(X) -> isNatIList(X) 35: a__isNatList(X) -> isNatList(X) 36: a__isNat(X) -> isNat(X) 37: a__length(X) -> length(X) 38: a__zeros() -> zeros() 39: a__take(X1,X2) -> take(X1,X2) 40: a__uTake1(X) -> uTake1(X) 41: a__uTake2(X1,X2,X3,X4) -> uTake2(X1,X2,X3,X4) 42: a__uLength(X1,X2) -> uLength(X1,X2) Number of strict rules: 42 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #a__isNatIList(IL) -> #a__isNatList(IL) #2: #a__isNatList(cons(N,L)) -> #a__and(a__isNat(N),a__isNatList(L)) #3: #a__isNatList(cons(N,L)) -> #a__isNat(N) #4: #a__isNatList(cons(N,L)) -> #a__isNatList(L) #5: #mark(take(X1,X2)) -> #a__take(mark(X1),mark(X2)) #6: #mark(take(X1,X2)) -> #mark(X1) #7: #mark(take(X1,X2)) -> #mark(X2) #8: #mark(zeros()) -> #a__zeros() #9: #a__take(0(),IL) -> #a__uTake1(a__isNatIList(IL)) #10: #a__take(0(),IL) -> #a__isNatIList(IL) #11: #mark(cons(X1,X2)) -> #mark(X1) #12: #a__take(s(M),cons(N,IL)) -> #a__uTake2(a__and(a__isNat(M),a__and(a__isNat(N),a__isNatIList(IL))),M,N,IL) #13: #a__take(s(M),cons(N,IL)) -> #a__and(a__isNat(M),a__and(a__isNat(N),a__isNatIList(IL))) #14: #a__take(s(M),cons(N,IL)) -> #a__isNat(M) #15: #a__take(s(M),cons(N,IL)) -> #a__and(a__isNat(N),a__isNatIList(IL)) #16: #a__take(s(M),cons(N,IL)) -> #a__isNat(N) #17: #a__take(s(M),cons(N,IL)) -> #a__isNatIList(IL) #18: #mark(s(X)) -> #mark(X) #19: #mark(uTake1(X)) -> #a__uTake1(mark(X)) #20: #mark(uTake1(X)) -> #mark(X) #21: #mark(isNatList(X)) -> #a__isNatList(X) #22: #a__isNatIList(cons(N,IL)) -> #a__and(a__isNat(N),a__isNatIList(IL)) #23: #a__isNatIList(cons(N,IL)) -> #a__isNat(N) #24: #a__isNatIList(cons(N,IL)) -> #a__isNatIList(IL) #25: #a__isNatList(take(N,IL)) -> #a__and(a__isNat(N),a__isNatIList(IL)) #26: #a__isNatList(take(N,IL)) -> #a__isNat(N) #27: #a__isNatList(take(N,IL)) -> #a__isNatIList(IL) #28: #a__isNat(length(L)) -> #a__isNatList(L) #29: #mark(length(X)) -> #a__length(mark(X)) #30: #mark(length(X)) -> #mark(X) #31: #mark(uLength(X1,X2)) -> #a__uLength(mark(X1),X2) #32: #mark(uLength(X1,X2)) -> #mark(X1) #33: #a__uLength(tt(),L) -> #a__length(mark(L)) #34: #a__uLength(tt(),L) -> #mark(L) #35: #mark(isNatIList(X)) -> #a__isNatIList(X) #36: #mark(uTake2(X1,X2,X3,X4)) -> #a__uTake2(mark(X1),X2,X3,X4) #37: #mark(uTake2(X1,X2,X3,X4)) -> #mark(X1) #38: #mark(isNat(X)) -> #a__isNat(X) #39: #a__length(cons(N,L)) -> #a__uLength(a__and(a__isNat(N),a__isNatList(L)),L) #40: #a__length(cons(N,L)) -> #a__and(a__isNat(N),a__isNatList(L)) #41: #a__length(cons(N,L)) -> #a__isNat(N) #42: #a__length(cons(N,L)) -> #a__isNatList(L) #43: #a__and(tt(),T) -> #mark(T) #44: #a__uTake2(tt(),M,N,IL) -> #mark(N) #45: #a__isNat(s(N)) -> #a__isNat(N) #46: #mark(and(X1,X2)) -> #a__and(mark(X1),mark(X2)) #47: #mark(and(X1,X2)) -> #mark(X1) #48: #mark(and(X1,X2)) -> #mark(X2) Number of SCCs: 1, DPs: 45 SCC { #1..7 #10..18 #20..48 } POLO(Sum)... succeeded. #a__uLength w: x2 + 1 #a__uTake2 w: x3 + x4 + 2 isNatList w: 0 s w: x1 a__isNatIList w: 0 #a__isNat w: 0 take w: x1 + x2 + 4 and w: x1 + x2 isNatIList w: 0 zeros w: 1 #a__take w: x2 + 3 uTake2 w: x1 + x2 + x3 + x4 + 4 a__isNatList w: 0 #a__isNatIList w: 0 uLength w: x1 + x2 + 2 #mark w: x1 #a__uTake1 w: 0 0 w: 0 a__uTake2 w: x1 + x2 + x3 + x4 + 4 #a__and w: x2 #a__zeros w: 0 nil w: 1 mark w: x1 #a__length w: x1 + 1 isNat w: 0 a__uLength w: x1 + x2 + 2 a__uTake1 w: x1 + 1 #a__isNatList w: 0 cons w: x1 + x2 a__take w: x1 + x2 + 4 tt w: 0 uTake1 w: x1 + 1 a__isNat w: 0 a__and w: x1 + x2 length w: x1 + 2 a__zeros w: 1 a__length w: x1 + 2 USABLE RULES: { 1..42 } Removed DPs: #5..7 #10 #12..17 #20 #29..32 #34 #36 #37 #40..42 #44 Number of SCCs: 2, DPs: 23 SCC { #33 #39 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... succeeded. #a__uLength w: [1,0;0,0] * x1 + [1,0;0,0] * x2 + [0;1] #a__uTake2 w: [0;0] isNatList w: [0,1;0,0] * x1 + [1;0] s w: [1,1;0,1] * x1 + [2;0] a__isNatIList w: [0,1;0,0] * x1 + [3;0] #a__isNat w: [0;0] take w: x1 + x2 + [1;2] and w: [0,1;0,0] * x1 + x2 isNatIList w: [0,1;0,0] * x1 + [3;0] zeros w: [1;0] #a__take w: [0;0] uTake2 w: [1,1;0,1] * x2 + [0,1;1,1] * x3 + [1,1;0,1] * x4 + [3;2] a__isNatList w: [0,1;0,0] * x1 + [1;0] #a__isNatIList w: [0;0] uLength w: [1,0;0,0] * x1 + [1,1;0,0] * x2 + [1;0] #mark w: [0;0] #a__uTake1 w: [0;0] 0 w: [0;0] a__uTake2 w: [1,1;0,1] * x2 + [0,1;1,1] * x3 + [1,1;0,1] * x4 + [3;2] #a__and w: [0;0] #a__zeros w: [0;0] nil w: [1;2] mark w: x1 #a__length w: [1,0;0,0] * x1 + [2;1] isNat w: x1 + [3;0] a__uLength w: [1,0;0,0] * x1 + [1,1;0,0] * x2 + [1;0] a__uTake1 w: [1;2] #a__isNatList w: [0;0] cons w: [0,1;1,1] * x1 + [1,1;0,1] * x2 a__take w: x1 + x2 + [1;2] tt w: [3;0] uTake1 w: [1;2] a__isNat w: x1 + [3;0] a__and w: [0,1;0,0] * x1 + x2 length w: [1,1;0,0] * x1 + [2;0] a__zeros w: [1;0] a__length w: [1,1;0,0] * x1 + [2;0] USABLE RULES: { 1..42 } Removed DPs: #33 #39 Number of SCCs: 1, DPs: 21 SCC { #1..4 #11 #18 #21..28 #35 #38 #43 #45..48 } POLO(Sum)... succeeded. #a__uLength w: 4 #a__uTake2 w: 2 isNatList w: x1 + 1 s w: x1 a__isNatIList w: x1 + 2 #a__isNat w: x1 + 2 take w: x1 + x2 + 2 and w: x1 + x2 isNatIList w: x1 + 2 zeros w: 1 #a__take w: 3 uTake2 w: x2 + x3 + x4 + 2 a__isNatList w: x1 + 1 #a__isNatIList w: x1 + 5 uLength w: x2 + 3 #mark w: x1 + 3 #a__uTake1 w: 0 0 w: 0 a__uTake2 w: x2 + x3 + x4 + 2 #a__and w: x2 + 3 #a__zeros w: 0 nil w: 1 mark w: x1 #a__length w: 4 isNat w: x1 a__uLength w: x2 + 3 a__uTake1 w: 1 #a__isNatList w: x1 + 4 cons w: x1 + x2 a__take w: x1 + x2 + 2 tt w: 0 uTake1 w: 1 a__isNat w: x1 a__and w: x1 + x2 length w: x1 + 3 a__zeros w: 1 a__length w: x1 + 3 USABLE RULES: { 1..42 } Removed DPs: #1 #3 #23 #25..28 #38 Number of SCCs: 2, DPs: 13 SCC { #45 } POLO(Sum)... succeeded. #a__uLength w: 4 #a__uTake2 w: 2 isNatList w: 2 s w: x1 + 1 a__isNatIList w: x1 + 1 #a__isNat w: x1 + 2 take w: 3 and w: x2 isNatIList w: 1 zeros w: 1 #a__take w: 3 uTake2 w: x4 + 1 a__isNatList w: 2 #a__isNatIList w: 5 uLength w: 3 #mark w: 3 #a__uTake1 w: 0 0 w: 1 a__uTake2 w: x1 + x3 + 1 #a__and w: 3 #a__zeros w: 0 nil w: 1 mark w: x1 + 1 #a__length w: 4 isNat w: x1 a__uLength w: 3 a__uTake1 w: x1 + 1 #a__isNatList w: 4 cons w: 2 a__take w: 4 tt w: 2 uTake1 w: 1 a__isNat w: x1 + 1 a__and w: x1 + x2 length w: x1 + 1 a__zeros w: 2 a__length w: x1 + 1 USABLE RULES: { 3 6 8 11 13 15 23 28 29 31..40 42 } Removed DPs: #45 Number of SCCs: 1, DPs: 12 SCC { #2 #4 #11 #18 #21 #22 #24 #35 #43 #46..48 } POLO(Sum)... succeeded. #a__uLength w: 4 #a__uTake2 w: 2 isNatList w: 0 s w: x1 a__isNatIList w: 0 #a__isNat w: 2 take w: x2 + 1 and w: x1 + x2 isNatIList w: 0 zeros w: 2 #a__take w: 3 uTake2 w: x1 + x3 + 1 a__isNatList w: 0 #a__isNatIList w: 0 uLength w: 1 #mark w: x1 #a__uTake1 w: 0 0 w: 1 a__uTake2 w: x1 + x3 + 1 #a__and w: x2 #a__zeros w: 0 nil w: 1 mark w: x1 #a__length w: 4 isNat w: 0 a__uLength w: 1 a__uTake1 w: x1 + 1 #a__isNatList w: 0 cons w: x1 + 1 a__take w: x2 + 1 tt w: 0 uTake1 w: x1 + 1 a__isNat w: 0 a__and w: x1 + x2 length w: 1 a__zeros w: 2 a__length w: 1 USABLE RULES: { 1..42 } Removed DPs: #11 Number of SCCs: 1, DPs: 11 SCC { #2 #4 #18 #21 #22 #24 #35 #43 #46..48 } POLO(Sum)... POLO(max)... succeeded. #a__uLength w: 0 #a__uTake2 w: 0 isNatList w: x1 + 1 s w: x1 a__isNatIList w: x1 + 10 #a__isNat w: 0 take w: max(x1 + 8, x2 + 13) and w: max(x1 + 1, x2) isNatIList w: x1 + 10 zeros w: 5 #a__take w: 0 uTake2 w: max(x1 + 3, x2 + 8, x3 + 8, x4 + 13) a__isNatList w: x1 + 1 #a__isNatIList w: x1 + 13 uLength w: max(x2 + 1) #mark w: x1 + 3 #a__uTake1 w: 0 0 w: 1 a__uTake2 w: max(x1 + 3, x2 + 8, x3 + 8, x4 + 13) #a__and w: max(x1 + 1, x2 + 3) #a__zeros w: 0 nil w: 1 mark w: x1 #a__length w: 2 isNat w: x1 + 4 a__uLength w: max(x2 + 1) a__uTake1 w: 10 #a__isNatList w: x1 + 4 cons w: max(x1 + 4, x2) a__take w: max(x1 + 8, x2 + 13) tt w: 1 uTake1 w: 10 a__isNat w: x1 + 4 a__and w: max(x1 + 1, x2) length w: x1 + 1 a__zeros w: 5 a__length w: x1 + 1 USABLE RULES: { 1..42 } Removed DPs: #47 Number of SCCs: 1, DPs: 10 SCC { #2 #4 #18 #21 #22 #24 #35 #43 #46 #48 } POLO(Sum)... succeeded. #a__uLength w: 4 #a__uTake2 w: 2 isNatList w: x1 + 1 s w: x1 a__isNatIList w: x1 + 1 #a__isNat w: 2 take w: x2 + 2 and w: x2 + 2 isNatIList w: x1 + 1 zeros w: 1 #a__take w: 3 uTake2 w: x4 + 2 a__isNatList w: x1 + 1 #a__isNatIList w: x1 uLength w: x2 + 3 #mark w: x1 #a__uTake1 w: 0 0 w: 1 a__uTake2 w: x4 + 4 #a__and w: x2 #a__zeros w: 0 nil w: 1 mark w: x1 + 2 #a__length w: 4 isNat w: x1 + 1 a__uLength w: x2 + 3 a__uTake1 w: x1 + 1 #a__isNatList w: x1 cons w: x2 + 2 a__take w: x2 + 2 tt w: 1 uTake1 w: x1 + 1 a__isNat w: x1 + 1 a__and w: x2 + 2 length w: x1 + 1 a__zeros w: 3 a__length w: x1 + 1 USABLE RULES: { 1..42 } Removed DPs: #2 #4 #21 #22 #24 #35 #48 Number of SCCs: 1, DPs: 3 SCC { #18 #43 #46 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... succeeded. #a__uLength s: [] p: 2 w: max(x1 + 1) #a__uTake2 s: [4,3,1] p: 0 w: x1 + x3 + x4 + 1 isNatList s: [1] p: 6 w: x1 + 2 s s: 1 a__isNatIList s: [1] p: 7 w: x1 + 7 #a__isNat s: [] p: 0 w: 0 take s: [1] p: 0 w: max(x1 + 10, x2 + 14) and s: [2,1] p: 3 w: max(x1 + 2, x2) isNatIList s: [1] p: 7 w: x1 + 7 zeros s: [] p: 2 w: 12 #a__take s: [1,2] p: 0 w: x1 + x2 uTake2 s: [3,1,2] p: 0 w: max(x1 + 4, x2 + 10, x3 + 5, x4 + 14) a__isNatList s: [1] p: 6 w: x1 + 2 #a__isNatIList s: [] p: 0 w: 0 uLength s: [] p: 9 w: max(x2 + 6) #mark s: [1] p: 1 w: x1 #a__uTake1 s: [] p: 0 w: 1 0 s: [] p: 1 w: 8 a__uTake2 s: [3] p: 1 w: max(x1 + 4, x2 + 10, x3 + 5, x4 + 14) #a__and s: [1,2] p: 2 w: max(x1 + 2, x2) #a__zeros s: [] p: 0 w: 0 nil s: [] p: 2 w: 13 mark s: [1] p: 3 w: x1 #a__length s: [] p: 1 w: 1 isNat s: [] p: 5 w: x1 + 3 a__uLength s: [] p: 9 w: max(x2 + 6) a__uTake1 s: [] p: 2 w: 13 #a__isNatList s: [] p: 0 w: 0 cons s: [1,2] p: 0 w: max(x1 + 4, x2) a__take s: [] p: 2 w: max(x1 + 10, x2 + 14) tt s: [] p: 8 w: 9 uTake1 s: [] p: 2 w: 13 a__isNat s: [] p: 5 w: x1 + 3 a__and s: [2,1] p: 3 w: max(x1 + 2, x2) length s: [] p: 9 w: x1 + 6 a__zeros s: [] p: 3 w: 12 a__length s: [] p: 9 w: x1 + 6 USABLE RULES: { 1..42 } Removed DPs: #43 #46 Number of SCCs: 1, DPs: 1 SCC { #18 } POLO(Sum)... succeeded. #a__uLength w: 4 #a__uTake2 w: 2 isNatList w: 3 s w: x1 + 2 a__isNatIList w: 1 #a__isNat w: 2 take w: 4 and w: 4 isNatIList w: 1 zeros w: 4 #a__take w: 3 uTake2 w: x2 + 5 a__isNatList w: 2 #a__isNatIList w: 0 uLength w: x1 + 2 #mark w: x1 #a__uTake1 w: 0 0 w: 3 a__uTake2 w: x1 + x3 + x4 + 4 #a__and w: 0 #a__zeros w: 0 nil w: 5 mark w: 2 #a__length w: 4 isNat w: 3 a__uLength w: x1 + 1 a__uTake1 w: 4 #a__isNatList w: 0 cons w: 4 a__take w: 3 tt w: 3 uTake1 w: 5 a__isNat w: 2 a__and w: 3 length w: 3 a__zeros w: 3 a__length w: 3 USABLE RULES: { } Removed DPs: #18 Number of SCCs: 0, DPs: 0