MAYBE Input TRS: 1: zeros() -> cons(0(),n__zeros()) 2: U11(tt(),V1) -> U12(isNatList(activate(V1))) 3: U12(tt()) -> tt() 4: U21(tt(),V1) -> U22(isNat(activate(V1))) 5: U22(tt()) -> tt() 6: U31(tt(),V) -> U32(isNatList(activate(V))) 7: U32(tt()) -> tt() 8: U41(tt(),V1,V2) -> U42(isNat(activate(V1)),activate(V2)) 9: U42(tt(),V2) -> U43(isNatIList(activate(V2))) 10: U43(tt()) -> tt() 11: U51(tt(),V1,V2) -> U52(isNat(activate(V1)),activate(V2)) 12: U52(tt(),V2) -> U53(isNatList(activate(V2))) 13: U53(tt()) -> tt() 14: U61(tt(),V1,V2) -> U62(isNat(activate(V1)),activate(V2)) 15: U62(tt(),V2) -> U63(isNatIList(activate(V2))) 16: U63(tt()) -> tt() 17: U71(tt(),L) -> s(length(activate(L))) 18: U81(tt()) -> nil() 19: U91(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL))) 20: and(tt(),X) -> activate(X) 21: isNat(n__0()) -> tt() 22: isNat(n__length(V1)) -> U11(isNatIListKind(activate(V1)),activate(V1)) 23: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) 24: isNatIList(V) -> U31(isNatIListKind(activate(V)),activate(V)) 25: isNatIList(n__zeros()) -> tt() 26: isNatIList(n__cons(V1,V2)) -> U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) 27: isNatIListKind(n__nil()) -> tt() 28: isNatIListKind(n__zeros()) -> tt() 29: isNatIListKind(n__cons(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) 30: isNatIListKind(n__take(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) 31: isNatKind(n__0()) -> tt() 32: isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 33: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 34: isNatList(n__nil()) -> tt() 35: isNatList(n__cons(V1,V2)) -> U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) 36: isNatList(n__take(V1,V2)) -> U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) 37: length(nil()) -> 0() 38: length(cons(N,L)) -> U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and(n__isNat(N),n__isNatKind(N))),activate(L)) 39: take(0(),IL) -> U81(and(isNatIList(IL),n__isNatIListKind(IL))) 40: take(s(M),cons(N,IL)) -> U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),n__and(n__and(n__isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N)))),activate(IL),M,N) 41: zeros() -> n__zeros() 42: take(X1,X2) -> n__take(X1,X2) 43: 0() -> n__0() 44: length(X) -> n__length(X) 45: s(X) -> n__s(X) 46: cons(X1,X2) -> n__cons(X1,X2) 47: isNatIListKind(X) -> n__isNatIListKind(X) 48: nil() -> n__nil() 49: and(X1,X2) -> n__and(X1,X2) 50: isNat(X) -> n__isNat(X) 51: isNatKind(X) -> n__isNatKind(X) 52: activate(n__zeros()) -> zeros() 53: activate(n__take(X1,X2)) -> take(activate(X1),activate(X2)) 54: activate(n__0()) -> 0() 55: activate(n__length(X)) -> length(activate(X)) 56: activate(n__s(X)) -> s(activate(X)) 57: activate(n__cons(X1,X2)) -> cons(activate(X1),X2) 58: activate(n__isNatIListKind(X)) -> isNatIListKind(X) 59: activate(n__nil()) -> nil() 60: activate(n__and(X1,X2)) -> and(activate(X1),X2) 61: activate(n__isNat(X)) -> isNat(X) 62: activate(n__isNatKind(X)) -> isNatKind(X) 63: activate(X) -> X Number of strict rules: 63 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #U11(tt(),V1) -> #U12(isNatList(activate(V1))) #2: #U11(tt(),V1) -> #isNatList(activate(V1)) #3: #U11(tt(),V1) -> #activate(V1) #4: #isNatIListKind(n__cons(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #5: #isNatIListKind(n__cons(V1,V2)) -> #isNatKind(activate(V1)) #6: #isNatIListKind(n__cons(V1,V2)) -> #activate(V1) #7: #isNatIListKind(n__cons(V1,V2)) -> #activate(V2) #8: #isNatList(n__cons(V1,V2)) -> #U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) #9: #isNatList(n__cons(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #10: #isNatList(n__cons(V1,V2)) -> #isNatKind(activate(V1)) #11: #isNatList(n__cons(V1,V2)) -> #activate(V1) #12: #isNatList(n__cons(V1,V2)) -> #activate(V2) #13: #isNatList(n__cons(V1,V2)) -> #activate(V1) #14: #isNatList(n__cons(V1,V2)) -> #activate(V2) #15: #length(nil()) -> #0() #16: #activate(n__take(X1,X2)) -> #take(activate(X1),activate(X2)) #17: #activate(n__take(X1,X2)) -> #activate(X1) #18: #activate(n__take(X1,X2)) -> #activate(X2) #19: #activate(n__isNatIListKind(X)) -> #isNatIListKind(X) #20: #activate(n__isNat(X)) -> #isNat(X) #21: #length(cons(N,L)) -> #U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and(n__isNat(N),n__isNatKind(N))),activate(L)) #22: #length(cons(N,L)) -> #and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and(n__isNat(N),n__isNatKind(N))) #23: #length(cons(N,L)) -> #and(isNatList(activate(L)),n__isNatIListKind(activate(L))) #24: #length(cons(N,L)) -> #isNatList(activate(L)) #25: #length(cons(N,L)) -> #activate(L) #26: #length(cons(N,L)) -> #activate(L) #27: #length(cons(N,L)) -> #activate(L) #28: #U31(tt(),V) -> #U32(isNatList(activate(V))) #29: #U31(tt(),V) -> #isNatList(activate(V)) #30: #U31(tt(),V) -> #activate(V) #31: #activate(n__nil()) -> #nil() #32: #activate(n__length(X)) -> #length(activate(X)) #33: #activate(n__length(X)) -> #activate(X) #34: #take(s(M),cons(N,IL)) -> #U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),n__and(n__and(n__isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N)))),activate(IL),M,N) #35: #take(s(M),cons(N,IL)) -> #and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),n__and(n__and(n__isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N)))) #36: #take(s(M),cons(N,IL)) -> #and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))) #37: #take(s(M),cons(N,IL)) -> #isNatIList(activate(IL)) #38: #take(s(M),cons(N,IL)) -> #activate(IL) #39: #take(s(M),cons(N,IL)) -> #activate(IL) #40: #take(s(M),cons(N,IL)) -> #activate(IL) #41: #U42(tt(),V2) -> #U43(isNatIList(activate(V2))) #42: #U42(tt(),V2) -> #isNatIList(activate(V2)) #43: #U42(tt(),V2) -> #activate(V2) #44: #U51(tt(),V1,V2) -> #U52(isNat(activate(V1)),activate(V2)) #45: #U51(tt(),V1,V2) -> #isNat(activate(V1)) #46: #U51(tt(),V1,V2) -> #activate(V1) #47: #U51(tt(),V1,V2) -> #activate(V2) #48: #activate(n__cons(X1,X2)) -> #cons(activate(X1),X2) #49: #activate(n__cons(X1,X2)) -> #activate(X1) #50: #isNatIList(V) -> #U31(isNatIListKind(activate(V)),activate(V)) #51: #isNatIList(V) -> #isNatIListKind(activate(V)) #52: #isNatIList(V) -> #activate(V) #53: #isNatIList(V) -> #activate(V) #54: #isNat(n__s(V1)) -> #U21(isNatKind(activate(V1)),activate(V1)) #55: #isNat(n__s(V1)) -> #isNatKind(activate(V1)) #56: #isNat(n__s(V1)) -> #activate(V1) #57: #isNat(n__s(V1)) -> #activate(V1) #58: #U52(tt(),V2) -> #U53(isNatList(activate(V2))) #59: #U52(tt(),V2) -> #isNatList(activate(V2)) #60: #U52(tt(),V2) -> #activate(V2) #61: #activate(n__s(X)) -> #s(activate(X)) #62: #activate(n__s(X)) -> #activate(X) #63: #U61(tt(),V1,V2) -> #U62(isNat(activate(V1)),activate(V2)) #64: #U61(tt(),V1,V2) -> #isNat(activate(V1)) #65: #U61(tt(),V1,V2) -> #activate(V1) #66: #U61(tt(),V1,V2) -> #activate(V2) #67: #activate(n__isNatKind(X)) -> #isNatKind(X) #68: #isNatIListKind(n__take(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #69: #isNatIListKind(n__take(V1,V2)) -> #isNatKind(activate(V1)) #70: #isNatIListKind(n__take(V1,V2)) -> #activate(V1) #71: #isNatIListKind(n__take(V1,V2)) -> #activate(V2) #72: #activate(n__zeros()) -> #zeros() #73: #and(tt(),X) -> #activate(X) #74: #take(0(),IL) -> #U81(and(isNatIList(IL),n__isNatIListKind(IL))) #75: #take(0(),IL) -> #and(isNatIList(IL),n__isNatIListKind(IL)) #76: #take(0(),IL) -> #isNatIList(IL) #77: #isNatKind(n__s(V1)) -> #isNatKind(activate(V1)) #78: #isNatKind(n__s(V1)) -> #activate(V1) #79: #isNat(n__length(V1)) -> #U11(isNatIListKind(activate(V1)),activate(V1)) #80: #isNat(n__length(V1)) -> #isNatIListKind(activate(V1)) #81: #isNat(n__length(V1)) -> #activate(V1) #82: #isNat(n__length(V1)) -> #activate(V1) #83: #activate(n__and(X1,X2)) -> #and(activate(X1),X2) #84: #activate(n__and(X1,X2)) -> #activate(X1) #85: #U71(tt(),L) -> #s(length(activate(L))) #86: #U71(tt(),L) -> #length(activate(L)) #87: #U71(tt(),L) -> #activate(L) #88: #isNatKind(n__length(V1)) -> #isNatIListKind(activate(V1)) #89: #isNatKind(n__length(V1)) -> #activate(V1) #90: #U91(tt(),IL,M,N) -> #cons(activate(N),n__take(activate(M),activate(IL))) #91: #U91(tt(),IL,M,N) -> #activate(N) #92: #U91(tt(),IL,M,N) -> #activate(M) #93: #U91(tt(),IL,M,N) -> #activate(IL) #94: #isNatIList(n__cons(V1,V2)) -> #U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) #95: #isNatIList(n__cons(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #96: #isNatIList(n__cons(V1,V2)) -> #isNatKind(activate(V1)) #97: #isNatIList(n__cons(V1,V2)) -> #activate(V1) #98: #isNatIList(n__cons(V1,V2)) -> #activate(V2) #99: #isNatIList(n__cons(V1,V2)) -> #activate(V1) #100: #isNatIList(n__cons(V1,V2)) -> #activate(V2) #101: #isNatList(n__take(V1,V2)) -> #U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) #102: #isNatList(n__take(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) #103: #isNatList(n__take(V1,V2)) -> #isNatKind(activate(V1)) #104: #isNatList(n__take(V1,V2)) -> #activate(V1) #105: #isNatList(n__take(V1,V2)) -> #activate(V2) #106: #isNatList(n__take(V1,V2)) -> #activate(V1) #107: #isNatList(n__take(V1,V2)) -> #activate(V2) #108: #zeros() -> #cons(0(),n__zeros()) #109: #zeros() -> #0() #110: #activate(n__0()) -> #0() #111: #U41(tt(),V1,V2) -> #U42(isNat(activate(V1)),activate(V2)) #112: #U41(tt(),V1,V2) -> #isNat(activate(V1)) #113: #U41(tt(),V1,V2) -> #activate(V1) #114: #U41(tt(),V1,V2) -> #activate(V2) #115: #U62(tt(),V2) -> #U63(isNatIList(activate(V2))) #116: #U62(tt(),V2) -> #isNatIList(activate(V2)) #117: #U62(tt(),V2) -> #activate(V2) #118: #U21(tt(),V1) -> #U22(isNat(activate(V1))) #119: #U21(tt(),V1) -> #isNat(activate(V1)) #120: #U21(tt(),V1) -> #activate(V1) #121: #U81(tt()) -> #nil() Number of SCCs: 1, DPs: 103 SCC { #2..14 #16..27 #29 #30 #32..40 #42..47 #49..57 #59 #60 #62..71 #73 #75..84 #86..89 #91..107 #111..114 #116 #117 #119 #120 } POLO(Sum)... POLO(max)... succeeded. #0 w: 0 #U32 w: 0 #isNatIListKind w: x1 isNatKind w: x1 + 12076 U21 w: max(x2 + 4) isNatList w: x1 U11 w: max(x1 + 89, x2 + 2) #cons w: 0 s w: x1 #isNat w: x1 + 1 #take w: max(x1 + 24147, x2 + 36217) U42 w: max(x2 + 24146) U91 w: max(x1 + 12073, x2 + 36219, x3 + 36218, x4 + 48295) activate w: x1 n__isNatIListKind w: x1 take w: max(x1 + 36218, x2 + 36219) U71 w: max(x1 + 32701, x2 + 32705) n__isNatKind w: x1 + 12076 #U81 w: 0 and w: max(x1, x2) n__zeros w: 12272 isNatIList w: x1 + 24146 U43 w: x1 #activate w: x1 #U53 w: 0 #U43 w: 0 U63 w: 18750 zeros w: 12272 n__nil w: 3567 #U52 w: max(x1 + 1906, x2) U12 w: 3 n__s w: x1 #U42 w: max(x2 + 12077) #U12 w: 0 #U62 w: max(x1 + 12076, x2 + 12078) 0 w: 196 #zeros w: 0 n__take w: max(x1 + 36218, x2 + 36219) #isNatList w: x1 #s w: 0 n__cons w: max(x1 + 12076, x2) nil w: 3567 isNatIListKind w: x1 n__isNat w: x1 + 4 U62 w: max(x1 + 18747, x2 + 18750) #U63 w: 0 #nil w: 0 U32 w: 15803 n__0 w: 196 n__length w: x1 + 32705 isNat w: x1 + 4 U52 w: max(x1, x2) U61 w: max(x2 + 36218, x3 + 18750) #U51 w: max(x1, x2 + 1910, x3) #U11 w: max(x2 + 96) U31 w: max(x1 + 15800, x2 + 23611) #U41 w: max(x1 + 12077, x2 + 6108, x3 + 12077) cons w: max(x1 + 12076, x2) #isNatIList w: x1 + 12077 #U21 w: max(x2 + 1) U81 w: 36414 #U22 w: 0 tt w: 2 n__and w: max(x1, x2) #U71 w: max(x2) U22 w: x1 U51 w: max(x2 + 4, x3) #isNatKind w: x1 U53 w: 2 length w: x1 + 32705 #length w: x1 U41 w: max(x3 + 24146) #U31 w: max(x1 + 5009, x2 + 6628) #and w: max(x1, x2) #U91 w: max(x1 + 12071, x2 + 36216, x3 + 11668, x4 + 36216) #U61 w: max(x1 + 24141, x2 + 12081, x3 + 12081) USABLE RULES: { 1..63 } Removed DPs: #2 #3 #5 #6 #10 #11 #13 #16..18 #20 #29 #30 #32 #33 #35..40 #43 #45 #46 #49..53 #55..57 #63..71 #75 #76 #79..82 #88 #89 #91..93 #95..107 #112..114 #116 #117 #120 Number of SCCs: 6, DPs: 18 SCC { #77 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... failed.