/export/starexec/sandbox/solver/bin/starexec_run_Default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- NO Input TRS: 1: and(tt(),T) -> T 2: isNatIList(IL) -> isNatList(activate(IL)) 3: isNat(n__0()) -> tt() 4: isNat(n__s(N)) -> isNat(activate(N)) 5: isNat(n__length(L)) -> isNatList(activate(L)) 6: isNatIList(n__zeros()) -> tt() 7: isNatIList(n__cons(N,IL)) -> and(isNat(activate(N)),isNatIList(activate(IL))) 8: isNatList(n__nil()) -> tt() 9: isNatList(n__cons(N,L)) -> and(isNat(activate(N)),isNatList(activate(L))) 10: isNatList(n__take(N,IL)) -> and(isNat(activate(N)),isNatIList(activate(IL))) 11: zeros() -> cons(0(),n__zeros()) 12: take(0(),IL) -> uTake1(isNatIList(IL)) 13: uTake1(tt()) -> nil() 14: take(s(M),cons(N,IL)) -> uTake2(and(isNat(M),and(isNat(N),isNatIList(activate(IL)))),M,N,activate(IL)) 15: uTake2(tt(),M,N,IL) -> cons(activate(N),n__take(activate(M),activate(IL))) 16: length(cons(N,L)) -> uLength(and(isNat(N),isNatList(activate(L))),activate(L)) 17: uLength(tt(),L) -> s(length(activate(L))) 18: 0() -> n__0() 19: s(X) -> n__s(X) 20: length(X) -> n__length(X) 21: zeros() -> n__zeros() 22: cons(X1,X2) -> n__cons(X1,X2) 23: nil() -> n__nil() 24: take(X1,X2) -> n__take(X1,X2) 25: activate(n__0()) -> 0() 26: activate(n__s(X)) -> s(X) 27: activate(n__length(X)) -> length(X) 28: activate(n__zeros()) -> zeros() 29: activate(n__cons(X1,X2)) -> cons(X1,X2) 30: activate(n__nil()) -> nil() 31: activate(n__take(X1,X2)) -> take(X1,X2) 32: activate(X) -> X Number of strict rules: 32 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #isNatIList(IL) -> #isNatList(activate(IL)) #2: #isNatIList(IL) -> #activate(IL) #3: #activate(n__cons(X1,X2)) -> #cons(X1,X2) #4: #uTake1(tt()) -> #nil() #5: #isNatList(n__cons(N,L)) -> #and(isNat(activate(N)),isNatList(activate(L))) #6: #isNatList(n__cons(N,L)) -> #isNat(activate(N)) #7: #isNatList(n__cons(N,L)) -> #activate(N) #8: #isNatList(n__cons(N,L)) -> #isNatList(activate(L)) #9: #isNatList(n__cons(N,L)) -> #activate(L) #10: #zeros() -> #cons(0(),n__zeros()) #11: #zeros() -> #0() #12: #take(0(),IL) -> #uTake1(isNatIList(IL)) #13: #take(0(),IL) -> #isNatIList(IL) #14: #activate(n__take(X1,X2)) -> #take(X1,X2) #15: #take(s(M),cons(N,IL)) -> #uTake2(and(isNat(M),and(isNat(N),isNatIList(activate(IL)))),M,N,activate(IL)) #16: #take(s(M),cons(N,IL)) -> #and(isNat(M),and(isNat(N),isNatIList(activate(IL)))) #17: #take(s(M),cons(N,IL)) -> #isNat(M) #18: #take(s(M),cons(N,IL)) -> #and(isNat(N),isNatIList(activate(IL))) #19: #take(s(M),cons(N,IL)) -> #isNat(N) #20: #take(s(M),cons(N,IL)) -> #isNatIList(activate(IL)) #21: #take(s(M),cons(N,IL)) -> #activate(IL) #22: #take(s(M),cons(N,IL)) -> #activate(IL) #23: #activate(n__nil()) -> #nil() #24: #activate(n__0()) -> #0() #25: #isNatIList(n__cons(N,IL)) -> #and(isNat(activate(N)),isNatIList(activate(IL))) #26: #isNatIList(n__cons(N,IL)) -> #isNat(activate(N)) #27: #isNatIList(n__cons(N,IL)) -> #activate(N) #28: #isNatIList(n__cons(N,IL)) -> #isNatIList(activate(IL)) #29: #isNatIList(n__cons(N,IL)) -> #activate(IL) #30: #isNatList(n__take(N,IL)) -> #and(isNat(activate(N)),isNatIList(activate(IL))) #31: #isNatList(n__take(N,IL)) -> #isNat(activate(N)) #32: #isNatList(n__take(N,IL)) -> #activate(N) #33: #isNatList(n__take(N,IL)) -> #isNatIList(activate(IL)) #34: #isNatList(n__take(N,IL)) -> #activate(IL) #35: #isNat(n__length(L)) -> #isNatList(activate(L)) #36: #isNat(n__length(L)) -> #activate(L) #37: #activate(n__zeros()) -> #zeros() #38: #activate(n__length(X)) -> #length(X) #39: #uLength(tt(),L) -> #s(length(activate(L))) #40: #uLength(tt(),L) -> #length(activate(L)) #41: #uLength(tt(),L) -> #activate(L) #42: #activate(n__s(X)) -> #s(X) #43: #length(cons(N,L)) -> #uLength(and(isNat(N),isNatList(activate(L))),activate(L)) #44: #length(cons(N,L)) -> #and(isNat(N),isNatList(activate(L))) #45: #length(cons(N,L)) -> #isNat(N) #46: #length(cons(N,L)) -> #isNatList(activate(L)) #47: #length(cons(N,L)) -> #activate(L) #48: #length(cons(N,L)) -> #activate(L) #49: #uTake2(tt(),M,N,IL) -> #cons(activate(N),n__take(activate(M),activate(IL))) #50: #uTake2(tt(),M,N,IL) -> #activate(N) #51: #uTake2(tt(),M,N,IL) -> #activate(M) #52: #uTake2(tt(),M,N,IL) -> #activate(IL) #53: #isNat(n__s(N)) -> #isNat(activate(N)) #54: #isNat(n__s(N)) -> #activate(N) Number of SCCs: 1, DPs: 37 SCC { #1 #2 #6..9 #13..15 #17 #19..22 #26..29 #31..36 #38 #40 #41 #43 #45..48 #50..54 } POLO(Sum)... succeeded. #uTake2 w: x2 + x3 + x4 + 1 #0 w: 0 isNatList w: 2 #cons w: 0 s w: x1 #isNat w: x1 #take w: x1 + x2 + 2 activate w: x1 take w: x1 + x2 + 3 #uTake1 w: 0 and w: 3 n__zeros w: 1 isNatIList w: 1 #activate w: x1 zeros w: 1 n__nil w: 1 uTake2 w: x2 + x3 + x4 + 3 n__s w: x1 uLength w: x2 + 1 0 w: 0 #zeros w: 0 n__take w: x1 + x2 + 3 #isNatList w: x1 #s w: 0 n__cons w: x1 + x2 nil w: 1 #nil w: 0 n__0 w: 0 n__length w: x1 + 1 isNat w: 1 cons w: x1 + x2 #isNatIList w: x1 + 1 tt w: 3 uTake1 w: 1 length w: x1 + 1 #length w: x1 #and w: 0 #uLength w: x2 USABLE RULES: { 11..32 } Removed DPs: #1 #2 #13..15 #17 #19..22 #26 #27 #29 #31..36 #38 #50..52 Number of SCCs: 4, DPs: 5 SCC { #53 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... succeeded. #uTake2 w: [0;0] #0 w: [0;0] isNatList w: x1 + [2;1] #cons w: [0;0] s w: [0,1;1,0] * x1 + [1;1] #isNat w: [1,1;0,0] * x1 #take w: [0;0] activate w: x1 take w: [1,1;0,0] * x1 + x2 + [1;2] #uTake1 w: [0;0] and w: x2 n__zeros w: [0;0] isNatIList w: x1 + [2;3] #activate w: [0;0] zeros w: [0;0] n__nil w: [1;2] uTake2 w: [1,1;0,0] * x2 + [0,0;1,0] * x3 + [1,1;0,1] * x4 + [3;2] n__s w: [0,1;1,0] * x1 + [1;1] uLength w: [0,1;0,0] * x1 + [1,0;1,1] * x2 + [0;2] 0 w: [0;1] #zeros w: [0;0] n__take w: [1,1;0,0] * x1 + x2 + [1;2] #isNatList w: [0;0] #s w: [0;0] n__cons w: [0,0;1,0] * x1 + [1,1;0,1] * x2 nil w: [1;2] #nil w: [0;0] n__0 w: [0;1] n__length w: [1,0;1,0] * x1 + [1;2] isNat w: [1;3] cons w: [0,0;1,0] * x1 + [1,1;0,1] * x2 #isNatIList w: [0;0] tt w: [1;3] uTake1 w: [1;2] length w: [1,0;1,0] * x1 + [1;2] #length w: [0;0] #and w: [0;0] #uLength w: [0;0] USABLE RULES: { 1 2 6..32 } Removed DPs: #53 Number of SCCs: 3, DPs: 4 SCC { #28 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... found. #isNatIList(n__cons(N,n__zeros())) -#28-> #isNatIList(activate(n__zeros())) --->* #isNatIList(n__cons(0(),n__zeros())) Looping with: [ N := 0(); ]