Input TRS: 1: U101(tt(),V2) -> U102(isLNat(activate(V2))) 2: U102(tt()) -> tt() 3: U11(tt(),N,XS) -> U12(isLNat(activate(XS)),activate(N),activate(XS)) 4: U111(tt()) -> tt() 5: U12(tt(),N,XS) -> snd(splitAt(activate(N),activate(XS))) 6: U121(tt()) -> tt() 7: U131(tt(),V2) -> U132(isLNat(activate(V2))) 8: U132(tt()) -> tt() 9: U141(tt(),V2) -> U142(isLNat(activate(V2))) 10: U142(tt()) -> tt() 11: U151(tt(),V2) -> U152(isLNat(activate(V2))) 12: U152(tt()) -> tt() 13: U161(tt(),N) -> cons(activate(N),n__natsFrom(s(activate(N)))) 14: U171(tt(),N,XS) -> U172(isLNat(activate(XS)),activate(N),activate(XS)) 15: U172(tt(),N,XS) -> head(afterNth(activate(N),activate(XS))) 16: U181(tt(),Y) -> U182(isLNat(activate(Y)),activate(Y)) 17: U182(tt(),Y) -> activate(Y) 18: U191(tt(),XS) -> pair(nil(),activate(XS)) 19: U201(tt(),N,X,XS) -> U202(isNatural(activate(X)),activate(N),activate(X),activate(XS)) 20: U202(tt(),N,X,XS) -> U203(isLNat(activate(XS)),activate(N),activate(X),activate(XS)) 21: U203(tt(),N,X,XS) -> U204(splitAt(activate(N),activate(XS)),activate(X)) 22: U204(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) 23: U21(tt(),X,Y) -> U22(isLNat(activate(Y)),activate(X)) 24: U211(tt(),XS) -> U212(isLNat(activate(XS)),activate(XS)) 25: U212(tt(),XS) -> activate(XS) 26: U22(tt(),X) -> activate(X) 27: U221(tt(),N,XS) -> U222(isLNat(activate(XS)),activate(N),activate(XS)) 28: U222(tt(),N,XS) -> fst(splitAt(activate(N),activate(XS))) 29: U31(tt(),N,XS) -> U32(isLNat(activate(XS)),activate(N)) 30: U32(tt(),N) -> activate(N) 31: U41(tt(),V2) -> U42(isLNat(activate(V2))) 32: U42(tt()) -> tt() 33: U51(tt(),V2) -> U52(isLNat(activate(V2))) 34: U52(tt()) -> tt() 35: U61(tt()) -> tt() 36: U71(tt()) -> tt() 37: U81(tt()) -> tt() 38: U91(tt()) -> tt() 39: afterNth(N,XS) -> U11(isNatural(N),N,XS) 40: fst(pair(X,Y)) -> U21(isLNat(X),X,Y) 41: head(cons(N,XS)) -> U31(isNatural(N),N,activate(XS)) 42: isLNat(n__nil()) -> tt() 43: isLNat(n__afterNth(V1,V2)) -> U41(isNatural(activate(V1)),activate(V2)) 44: isLNat(n__cons(V1,V2)) -> U51(isNatural(activate(V1)),activate(V2)) 45: isLNat(n__fst(V1)) -> U61(isPLNat(activate(V1))) 46: isLNat(n__natsFrom(V1)) -> U71(isNatural(activate(V1))) 47: isLNat(n__snd(V1)) -> U81(isPLNat(activate(V1))) 48: isLNat(n__tail(V1)) -> U91(isLNat(activate(V1))) 49: isLNat(n__take(V1,V2)) -> U101(isNatural(activate(V1)),activate(V2)) 50: isNatural(n__0()) -> tt() 51: isNatural(n__head(V1)) -> U111(isLNat(activate(V1))) 52: isNatural(n__s(V1)) -> U121(isNatural(activate(V1))) 53: isNatural(n__sel(V1,V2)) -> U131(isNatural(activate(V1)),activate(V2)) 54: isPLNat(n__pair(V1,V2)) -> U141(isLNat(activate(V1)),activate(V2)) 55: isPLNat(n__splitAt(V1,V2)) -> U151(isNatural(activate(V1)),activate(V2)) 56: natsFrom(N) -> U161(isNatural(N),N) 57: sel(N,XS) -> U171(isNatural(N),N,XS) 58: snd(pair(X,Y)) -> U181(isLNat(X),Y) 59: splitAt(|0|(),XS) -> U191(isLNat(XS),XS) 60: splitAt(s(N),cons(X,XS)) -> U201(isNatural(N),N,X,activate(XS)) 61: tail(cons(N,XS)) -> U211(isNatural(N),activate(XS)) 62: take(N,XS) -> U221(isNatural(N),N,XS) 63: natsFrom(X) -> n__natsFrom(X) 64: nil() -> n__nil() 65: afterNth(X1,X2) -> n__afterNth(X1,X2) 66: cons(X1,X2) -> n__cons(X1,X2) 67: fst(X) -> n__fst(X) 68: snd(X) -> n__snd(X) 69: tail(X) -> n__tail(X) 70: take(X1,X2) -> n__take(X1,X2) 71: |0|() -> n__0() 72: head(X) -> n__head(X) 73: s(X) -> n__s(X) 74: sel(X1,X2) -> n__sel(X1,X2) 75: pair(X1,X2) -> n__pair(X1,X2) 76: splitAt(X1,X2) -> n__splitAt(X1,X2) 77: activate(n__natsFrom(X)) -> natsFrom(X) 78: activate(n__nil()) -> nil() 79: activate(n__afterNth(X1,X2)) -> afterNth(X1,X2) 80: activate(n__cons(X1,X2)) -> cons(X1,X2) 81: activate(n__fst(X)) -> fst(X) 82: activate(n__snd(X)) -> snd(X) 83: activate(n__tail(X)) -> tail(X) 84: activate(n__take(X1,X2)) -> take(X1,X2) 85: activate(n__0()) -> |0|() 86: activate(n__head(X)) -> head(X) 87: activate(n__s(X)) -> s(X) 88: activate(n__sel(X1,X2)) -> sel(X1,X2) 89: activate(n__pair(X1,X2)) -> pair(X1,X2) 90: activate(n__splitAt(X1,X2)) -> splitAt(X1,X2) 91: activate(X) -> X Number of strict rules: 91 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #activate(n__head(X)) -> #head(X) #2: #isLNat(n__afterNth(V1,V2)) -> #U41(isNatural(activate(V1)),activate(V2)) #3: #isLNat(n__afterNth(V1,V2)) -> #isNatural(activate(V1)) #4: #isLNat(n__afterNth(V1,V2)) -> #activate(V1) #5: #isLNat(n__afterNth(V1,V2)) -> #activate(V2) #6: #U31(tt(),N,XS) -> #U32(isLNat(activate(XS)),activate(N)) #7: #U31(tt(),N,XS) -> #isLNat(activate(XS)) #8: #U31(tt(),N,XS) -> #activate(XS) #9: #U31(tt(),N,XS) -> #activate(N) #10: #activate(n__tail(X)) -> #tail(X) #11: #isLNat(n__natsFrom(V1)) -> #U71(isNatural(activate(V1))) #12: #isLNat(n__natsFrom(V1)) -> #isNatural(activate(V1)) #13: #isLNat(n__natsFrom(V1)) -> #activate(V1) #14: #head(cons(N,XS)) -> #U31(isNatural(N),N,activate(XS)) #15: #head(cons(N,XS)) -> #isNatural(N) #16: #head(cons(N,XS)) -> #activate(XS) #17: #isLNat(n__snd(V1)) -> #U81(isPLNat(activate(V1))) #18: #isLNat(n__snd(V1)) -> #isPLNat(activate(V1)) #19: #isLNat(n__snd(V1)) -> #activate(V1) #20: #isNatural(n__sel(V1,V2)) -> #U131(isNatural(activate(V1)),activate(V2)) #21: #isNatural(n__sel(V1,V2)) -> #isNatural(activate(V1)) #22: #isNatural(n__sel(V1,V2)) -> #activate(V1) #23: #isNatural(n__sel(V1,V2)) -> #activate(V2) #24: #isLNat(n__tail(V1)) -> #U91(isLNat(activate(V1))) #25: #isLNat(n__tail(V1)) -> #isLNat(activate(V1)) #26: #isLNat(n__tail(V1)) -> #activate(V1) #27: #snd(pair(X,Y)) -> #U181(isLNat(X),Y) #28: #snd(pair(X,Y)) -> #isLNat(X) #29: #tail(cons(N,XS)) -> #U211(isNatural(N),activate(XS)) #30: #tail(cons(N,XS)) -> #isNatural(N) #31: #tail(cons(N,XS)) -> #activate(XS) #32: #splitAt(|0|(),XS) -> #U191(isLNat(XS),XS) #33: #splitAt(|0|(),XS) -> #isLNat(XS) #34: #isPLNat(n__splitAt(V1,V2)) -> #U151(isNatural(activate(V1)),activate(V2)) #35: #isPLNat(n__splitAt(V1,V2)) -> #isNatural(activate(V1)) #36: #isPLNat(n__splitAt(V1,V2)) -> #activate(V1) #37: #isPLNat(n__splitAt(V1,V2)) -> #activate(V2) #38: #fst(pair(X,Y)) -> #U21(isLNat(X),X,Y) #39: #fst(pair(X,Y)) -> #isLNat(X) #40: #activate(n__splitAt(X1,X2)) -> #splitAt(X1,X2) #41: #isNatural(n__head(V1)) -> #U111(isLNat(activate(V1))) #42: #isNatural(n__head(V1)) -> #isLNat(activate(V1)) #43: #isNatural(n__head(V1)) -> #activate(V1) #44: #U161(tt(),N) -> #cons(activate(N),n__natsFrom(s(activate(N)))) #45: #U161(tt(),N) -> #activate(N) #46: #U161(tt(),N) -> #s(activate(N)) #47: #U161(tt(),N) -> #activate(N) #48: #U141(tt(),V2) -> #U142(isLNat(activate(V2))) #49: #U141(tt(),V2) -> #isLNat(activate(V2)) #50: #U141(tt(),V2) -> #activate(V2) #51: #U151(tt(),V2) -> #U152(isLNat(activate(V2))) #52: #U151(tt(),V2) -> #isLNat(activate(V2)) #53: #U151(tt(),V2) -> #activate(V2) #54: #sel(N,XS) -> #U171(isNatural(N),N,XS) #55: #sel(N,XS) -> #isNatural(N) #56: #U211(tt(),XS) -> #U212(isLNat(activate(XS)),activate(XS)) #57: #U211(tt(),XS) -> #isLNat(activate(XS)) #58: #U211(tt(),XS) -> #activate(XS) #59: #U211(tt(),XS) -> #activate(XS) #60: #U21(tt(),X,Y) -> #U22(isLNat(activate(Y)),activate(X)) #61: #U21(tt(),X,Y) -> #isLNat(activate(Y)) #62: #U21(tt(),X,Y) -> #activate(Y) #63: #U21(tt(),X,Y) -> #activate(X) #64: #activate(n__fst(X)) -> #fst(X) #65: #activate(n__nil()) -> #nil() #66: #isLNat(n__fst(V1)) -> #U61(isPLNat(activate(V1))) #67: #isLNat(n__fst(V1)) -> #isPLNat(activate(V1)) #68: #isLNat(n__fst(V1)) -> #activate(V1) #69: #U41(tt(),V2) -> #U42(isLNat(activate(V2))) #70: #U41(tt(),V2) -> #isLNat(activate(V2)) #71: #U41(tt(),V2) -> #activate(V2) #72: #activate(n__afterNth(X1,X2)) -> #afterNth(X1,X2) #73: #natsFrom(N) -> #U161(isNatural(N),N) #74: #natsFrom(N) -> #isNatural(N) #75: #activate(n__pair(X1,X2)) -> #pair(X1,X2) #76: #activate(n__snd(X)) -> #snd(X) #77: #U171(tt(),N,XS) -> #U172(isLNat(activate(XS)),activate(N),activate(XS)) #78: #U171(tt(),N,XS) -> #isLNat(activate(XS)) #79: #U171(tt(),N,XS) -> #activate(XS) #80: #U171(tt(),N,XS) -> #activate(N) #81: #U171(tt(),N,XS) -> #activate(XS) #82: #take(N,XS) -> #U221(isNatural(N),N,XS) #83: #take(N,XS) -> #isNatural(N) #84: #U32(tt(),N) -> #activate(N) #85: #isNatural(n__s(V1)) -> #U121(isNatural(activate(V1))) #86: #isNatural(n__s(V1)) -> #isNatural(activate(V1)) #87: #isNatural(n__s(V1)) -> #activate(V1) #88: #isLNat(n__take(V1,V2)) -> #U101(isNatural(activate(V1)),activate(V2)) #89: #isLNat(n__take(V1,V2)) -> #isNatural(activate(V1)) #90: #isLNat(n__take(V1,V2)) -> #activate(V1) #91: #isLNat(n__take(V1,V2)) -> #activate(V2) #92: #U212(tt(),XS) -> #activate(XS) #93: #U202(tt(),N,X,XS) -> #U203(isLNat(activate(XS)),activate(N),activate(X),activate(XS)) #94: #U202(tt(),N,X,XS) -> #isLNat(activate(XS)) #95: #U202(tt(),N,X,XS) -> #activate(XS) #96: #U202(tt(),N,X,XS) -> #activate(N) #97: #U202(tt(),N,X,XS) -> #activate(X) #98: #U202(tt(),N,X,XS) -> #activate(XS) #99: #activate(n__sel(X1,X2)) -> #sel(X1,X2) #100: #U131(tt(),V2) -> #U132(isLNat(activate(V2))) #101: #U131(tt(),V2) -> #isLNat(activate(V2)) #102: #U131(tt(),V2) -> #activate(V2) #103: #afterNth(N,XS) -> #U11(isNatural(N),N,XS) #104: #afterNth(N,XS) -> #isNatural(N) #105: #U51(tt(),V2) -> #U52(isLNat(activate(V2))) #106: #U51(tt(),V2) -> #isLNat(activate(V2)) #107: #U51(tt(),V2) -> #activate(V2) #108: #U12(tt(),N,XS) -> #snd(splitAt(activate(N),activate(XS))) #109: #U12(tt(),N,XS) -> #splitAt(activate(N),activate(XS)) #110: #U12(tt(),N,XS) -> #activate(N) #111: #U12(tt(),N,XS) -> #activate(XS) #112: #isLNat(n__cons(V1,V2)) -> #U51(isNatural(activate(V1)),activate(V2)) #113: #isLNat(n__cons(V1,V2)) -> #isNatural(activate(V1)) #114: #isLNat(n__cons(V1,V2)) -> #activate(V1) #115: #isLNat(n__cons(V1,V2)) -> #activate(V2) #116: #U222(tt(),N,XS) -> #fst(splitAt(activate(N),activate(XS))) #117: #U222(tt(),N,XS) -> #splitAt(activate(N),activate(XS)) #118: #U222(tt(),N,XS) -> #activate(N) #119: #U222(tt(),N,XS) -> #activate(XS) #120: #U204(pair(YS,ZS),X) -> #pair(cons(activate(X),YS),ZS) #121: #U204(pair(YS,ZS),X) -> #cons(activate(X),YS) #122: #U204(pair(YS,ZS),X) -> #activate(X) #123: #activate(n__take(X1,X2)) -> #take(X1,X2) #124: #activate(n__s(X)) -> #s(X) #125: #U221(tt(),N,XS) -> #U222(isLNat(activate(XS)),activate(N),activate(XS)) #126: #U221(tt(),N,XS) -> #isLNat(activate(XS)) #127: #U221(tt(),N,XS) -> #activate(XS) #128: #U221(tt(),N,XS) -> #activate(N) #129: #U221(tt(),N,XS) -> #activate(XS) #130: #splitAt(s(N),cons(X,XS)) -> #U201(isNatural(N),N,X,activate(XS)) #131: #splitAt(s(N),cons(X,XS)) -> #isNatural(N) #132: #splitAt(s(N),cons(X,XS)) -> #activate(XS) #133: #U182(tt(),Y) -> #activate(Y) #134: #U201(tt(),N,X,XS) -> #U202(isNatural(activate(X)),activate(N),activate(X),activate(XS)) #135: #U201(tt(),N,X,XS) -> #isNatural(activate(X)) #136: #U201(tt(),N,X,XS) -> #activate(X) #137: #U201(tt(),N,X,XS) -> #activate(N) #138: #U201(tt(),N,X,XS) -> #activate(X) #139: #U201(tt(),N,X,XS) -> #activate(XS) #140: #U22(tt(),X) -> #activate(X) #141: #activate(n__0()) -> #|0|() #142: #U203(tt(),N,X,XS) -> #U204(splitAt(activate(N),activate(XS)),activate(X)) #143: #U203(tt(),N,X,XS) -> #splitAt(activate(N),activate(XS)) #144: #U203(tt(),N,X,XS) -> #activate(N) #145: #U203(tt(),N,X,XS) -> #activate(XS) #146: #U203(tt(),N,X,XS) -> #activate(X) #147: #U181(tt(),Y) -> #U182(isLNat(activate(Y)),activate(Y)) #148: #U181(tt(),Y) -> #isLNat(activate(Y)) #149: #U181(tt(),Y) -> #activate(Y) #150: #U181(tt(),Y) -> #activate(Y) #151: #U11(tt(),N,XS) -> #U12(isLNat(activate(XS)),activate(N),activate(XS)) #152: #U11(tt(),N,XS) -> #isLNat(activate(XS)) #153: #U11(tt(),N,XS) -> #activate(XS) #154: #U11(tt(),N,XS) -> #activate(N) #155: #U11(tt(),N,XS) -> #activate(XS) #156: #activate(n__natsFrom(X)) -> #natsFrom(X) #157: #U101(tt(),V2) -> #U102(isLNat(activate(V2))) #158: #U101(tt(),V2) -> #isLNat(activate(V2)) #159: #U101(tt(),V2) -> #activate(V2) #160: #isPLNat(n__pair(V1,V2)) -> #U141(isLNat(activate(V1)),activate(V2)) #161: #isPLNat(n__pair(V1,V2)) -> #isLNat(activate(V1)) #162: #isPLNat(n__pair(V1,V2)) -> #activate(V1) #163: #isPLNat(n__pair(V1,V2)) -> #activate(V2) #164: #U172(tt(),N,XS) -> #head(afterNth(activate(N),activate(XS))) #165: #U172(tt(),N,XS) -> #afterNth(activate(N),activate(XS)) #166: #U172(tt(),N,XS) -> #activate(N) #167: #U172(tt(),N,XS) -> #activate(XS) #168: #activate(n__cons(X1,X2)) -> #cons(X1,X2) #169: #U191(tt(),XS) -> #pair(nil(),activate(XS)) #170: #U191(tt(),XS) -> #nil() #171: #U191(tt(),XS) -> #activate(XS) Number of SCCs: 1, DPs: 148, edges: 1284 SCC { #1..10 #12..16 #18..23 #25..40 #42 #43 #45 #47 #49 #50 #52..64 #67 #68 #70..74 #76..84 #86..99 #101..104 #106..119 #122 #123 #125..140 #142..156 #158..167 #171 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. |0|() weight: (/ 1 8) #U201(x1,x2,x3,x4) weight: max{0, (/ 273067 16) + x4, (/ 68269 4) + x3, (/ 273075 16) + x2} U204(x1,x2) weight: max{(/ 136539 8) + x2, x1} #U32(x1,x2) weight: max{0, (/ 34133 2) + x2} U21(x1,x2,x3) weight: max{0, (/ 136535 8) + x2, x1} U161(x1,x2) weight: max{0, (/ 273069 16) + x2} #|0|() weight: 0 U182(x1,x2) weight: max{0, (/ 3 16) + x2} U11(x1,x2,x3) weight: max{0, (/ 273071 16) + x3, 17067 + x2} #cons(x1,x2) weight: 0 s(x1) weight: x1 n__pair(x1,x2) weight: max{(/ 68267 4) + x2, (/ 273069 16) + x1} #U142(x1) weight: 0 #take(x1,x2) weight: max{(/ 273073 16) + x2, (/ 136539 8) + x1} U142(x1) weight: (/ 1 16) #U152(x1) weight: 0 #U181(x1,x2) weight: max{0, (/ 273067 16) + x2} isPLNat(x1) weight: (/ 1 16) U42(x1) weight: x1 U91(x1) weight: (/ 1 8) U221(x1,x2,x3) weight: max{0, (/ 273071 16) + x3, (/ 136535 8) + x2} #U101(x1,x2) weight: max{(/ 546137 16) + x2, (/ 546137 16) + x1} activate(x1) weight: x1 take(x1,x2) weight: max{17067 + x2, (/ 136537 8) + x1} U71(x1) weight: (/ 1 8) #U81(x1) weight: 0 U131(x1,x2) weight: max{0, x1} #U222(x1,x2,x3) weight: max{0, (/ 273071 16) + x3, (/ 68269 4) + x2} #U212(x1,x2) weight: max{0, (/ 273067 16) + x2} U101(x1,x2) weight: max{0, x1} pair(x1,x2) weight: max{(/ 68267 4) + x2, (/ 273069 16) + x1} fst(x1) weight: (/ 1 16) + x1 U111(x1) weight: (/ 1 8) U132(x1) weight: (/ 1 8) #activate(x1) weight: (/ 7 16) + x1 U152(x1) weight: 0 natsFrom(x1) weight: (/ 273069 16) + x1 #head(x1) weight: (/ 273075 16) + x1 #U121(x1) weight: 0 U172(x1,x2,x3) weight: max{(/ 546147 16) + x3, (/ 273073 8) + x2, x1} splitAt(x1,x2) weight: max{(/ 136535 8) + x2, (/ 273069 16) + x1} #U131(x1,x2) weight: max{0, (/ 819221 16) + x2} #fst(x1) weight: x1 n__nil() weight: (/ 1 16) #U52(x1) weight: 0 U12(x1,x2,x3) weight: max{(/ 273071 16) + x3, 17067 + x2, x1} #U202(x1,x2,x3,x4) weight: max{0, (/ 273067 16) + x4, (/ 68269 4) + x3, (/ 273075 16) + x2} n__natsFrom(x1) weight: (/ 273069 16) + x1 isNatural(x1) weight: (/ 1 8) U222(x1,x2,x3) weight: max{(/ 273071 16) + x3, (/ 136535 8) + x2, (/ 1 16) + x1} n__snd(x1) weight: (/ 1 16) + x1 U201(x1,x2,x3,x4) weight: max{0, (/ 136535 8) + x4, (/ 136539 8) + x3, (/ 273069 16) + x2} n__s(x1) weight: x1 n__splitAt(x1,x2) weight: max{(/ 136535 8) + x2, (/ 273069 16) + x1} #U42(x1) weight: 0 #U141(x1,x2) weight: max{0, (/ 273067 16) + x2} #U12(x1,x2,x3) weight: max{0, (/ 68269 4) + x3, (/ 68269 4) + x2} U141(x1,x2) weight: max{0, (/ 1 16) + x2} #U171(x1,x2,x3) weight: max{0, (/ 546151 16) + x3, (/ 546151 16) + x2} tail(x1) weight: (/ 136535 8) + x1 U191(x1,x2) weight: max{(/ 136535 8) + x2, (/ 1 16) + x1} n__take(x1,x2) weight: max{17067 + x2, (/ 136537 8) + x1} #sel(x1,x2) weight: max{(/ 68269 2) + x2, (/ 68269 2) + x1} #U102(x1) weight: 0 U171(x1,x2,x3) weight: max{0, (/ 546147 16) + x3, (/ 273073 8) + x2} #isLNat(x1) weight: (/ 136533 8) + x1 U202(x1,x2,x3,x4) weight: max{0, (/ 136535 8) + x4, (/ 136539 8) + x3, (/ 273069 16) + x2} sel(x1,x2) weight: max{(/ 136537 4) + x2, (/ 273073 8) + x1} #s(x1) weight: 0 afterNth(x1,x2) weight: max{(/ 136537 8) + x2, 17067 + x1} n__cons(x1,x2) weight: max{x2, (/ 9 16) + x1} #U211(x1,x2) weight: max{(/ 273067 16) + x2, (/ 136537 8) + x1} #isPLNat(x1) weight: (/ 3 8) + x1 nil() weight: (/ 1 16) isLNat(x1) weight: (/ 136535 8) n__sel(x1,x2) weight: max{(/ 136537 4) + x2, (/ 273073 8) + x1} #tail(x1) weight: (/ 273075 16) + x1 #U182(x1,x2) weight: max{0, (/ 1 2) + x2} #splitAt(x1,x2) weight: max{(/ 273067 16) + x2, (/ 273075 16) + x1} U151(x1,x2) weight: max{0, x1} #nil() weight: 0 n__tail(x1) weight: (/ 136535 8) + x1 #afterNth(x1,x2) weight: max{(/ 136539 8) + x2, (/ 136539 8) + x1} #U111(x1) weight: 0 U32(x1,x2) weight: max{0, (/ 273071 16) + x2} #U221(x1,x2,x3) weight: max{0, 17067 + x3, (/ 273077 16) + x2} n__0() weight: (/ 1 8) n__afterNth(x1,x2) weight: max{(/ 136537 8) + x2, 17067 + x1} U211(x1,x2) weight: max{(/ 136535 8) + x2, x1} U203(x1,x2,x3,x4) weight: max{0, (/ 136535 8) + x4, (/ 136539 8) + x3, (/ 273069 16) + x2} U52(x1) weight: (/ 1 8) U61(x1) weight: (/ 1 8) #U51(x1,x2) weight: max{0, (/ 136533 8) + x2} n__fst(x1) weight: (/ 1 16) + x1 #U11(x1,x2,x3) weight: max{0, (/ 273077 16) + x3, (/ 273077 16) + x2} U31(x1,x2,x3) weight: max{0, (/ 273071 16) + x2, (/ 68267 4) + x1} head(x1) weight: (/ 273069 16) + x1 #snd(x1) weight: x1 #U41(x1,x2) weight: max{(/ 546139 16) + x2, (/ 546137 16) + x1} cons(x1,x2) weight: max{x2, (/ 9 16) + x1} #natsFrom(x1) weight: (/ 273075 16) + x1 U102(x1) weight: (/ 1 8) snd(x1) weight: (/ 1 16) + x1 #U191(x1,x2) weight: max{0, (/ 1 2) + x2} #U21(x1,x2,x3) weight: max{0, (/ 273067 16) + x3, (/ 273067 16) + x2} U81(x1) weight: (/ 1 8) #U22(x1,x2) weight: max{0, (/ 1 2) + x2} tt() weight: (/ 1 8) #U71(x1) weight: 0 #U151(x1,x2) weight: max{0, (/ 273067 16) + x2} #isNatural(x1) weight: (/ 136537 8) + x1 #pair(x1,x2) weight: 0 U22(x1,x2) weight: max{0, (/ 3 16) + x2} n__head(x1) weight: (/ 273069 16) + x1 U51(x1,x2) weight: max{0, x1} #U161(x1,x2) weight: max{0, (/ 1 2) + x2} #U172(x1,x2,x3) weight: max{0, (/ 273075 8) + x3, (/ 273075 8) + x2} #U203(x1,x2,x3,x4) weight: max{0, (/ 273067 16) + x4, (/ 68269 4) + x3, (/ 273075 16) + x2} U212(x1,x2) weight: max{(/ 3 16) + x2, x1} U41(x1,x2) weight: max{0, (/ 68267 4) + x1} #U31(x1,x2,x3) weight: max{0, (/ 273067 16) + x3, (/ 273065 16) + x2} #U91(x1) weight: 0 #U132(x1) weight: 0 U121(x1) weight: (/ 1 8) #U61(x1) weight: 0 #U204(x1,x2) weight: max{0, (/ 1 2) + x2} U181(x1,x2) weight: max{(/ 273069 16) + x2, x1} Usable rules: { 1..8 13..53 56..91 } Removed DPs: #1..10 #12..16 #18..23 #25..40 #42 #43 #45 #47 #49 #50 #52..55 #57..64 #67 #68 #70..74 #76..84 #87..92 #94..99 #101..104 #107..111 #113..119 #122 #123 #125..129 #131..133 #135..140 #142 #144..156 #158..167 #171 Number of SCCs: 3, DPs: 7, edges: 7 SCC { #86 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. |0|() weight: (/ 3 8) status: [] precedence above: U11 U142 U42 U71 U131 U172 n__snd U141 afterNth isLNat n__0 n__afterNth U52 snd U81 tt U51 U41 #U201(x1,x2,x3,x4) weight: max{(/ 1 16) + x4, (/ 1 16) + x3, (/ 1 16) + x2, (/ 1 16) + x1} status: [x3,x1,x4,x2] precedence above: U204(x1,x2) weight: max{(/ 13 16) + x2, x1} status: [] precedence above: n__pair pair #U32(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: U21(x1,x2,x3) weight: max{0, (/ 5 8) + x2} status: [x2] precedence above: U204 U11 n__pair activate pair U172 splitAt n__nil n__snd U201 n__splitAt U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 snd tt U22 U161(x1,x2) weight: max{0, (/ 9 16) + x2} status: [] precedence above: U11 U142 U71 U131 U111 U172 n__snd U141 afterNth n__cons U32 n__afterNth U211 U52 cons U81 tt U51 U212 #|0|() weight: 0 status: [] precedence above: U182(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: U204 U11 n__pair activate pair U172 splitAt n__nil n__snd U201 n__splitAt U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 snd tt U11(x1,x2,x3) weight: max{(/ 1 2) + x3, (/ 7 16) + x2, x1} status: [x1] precedence above: #cons(x1,x2) weight: x1 status: [] precedence above: s(x1) weight: x1 status: [x1] precedence above: U204 U11 n__pair U142 activate U131 pair U111 U172 splitAt n__nil n__snd U201 n__s n__splitAt U141 U191 U171 U202 sel afterNth nil n__sel n__afterNth U211 U203 snd U81 tt U212 n__pair(x1,x2) weight: max{(/ 3 8) + x2, (/ 5 16) + x1} status: [x1,x2] precedence above: pair #U142(x1) weight: (/ 1 16) status: [] precedence above: #take(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x1,x2] precedence above: U142(x1) weight: (/ 1 4) status: [] precedence above: U11 U172 afterNth n__afterNth tt #U152(x1) weight: (/ 1 16) status: [] precedence above: #U181(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: isPLNat(x1) weight: x1 status: [x1] precedence above: U204 U182 U11 n__pair activate pair U152 U172 splitAt n__nil n__snd U201 n__splitAt U191 U171 U202 sel afterNth nil n__sel U151 n__afterNth U203 snd tt U42(x1) weight: (/ 1 4) status: [] precedence above: U11 U172 afterNth n__afterNth tt U91(x1) weight: x1 status: x1 U221(x1,x2,x3) weight: max{(/ 7 8) + x3, (/ 9 16) + x2, x1} status: [] precedence above: U204 U21 U11 n__pair U142 activate pair fst U172 splitAt n__nil U222 n__snd U201 n__splitAt U141 U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 n__fst snd U81 tt U22 #U101(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: activate(x1) weight: x1 status: [x1] precedence above: U204 U11 n__pair pair U172 splitAt n__nil n__snd U201 n__splitAt U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 snd tt take(x1,x2) weight: (/ 15 16) + x2 + x1 status: [x2,x1] precedence above: U204 U21 U11 n__pair U142 U221 activate U101 pair fst U172 splitAt n__nil U222 n__snd U201 n__splitAt U141 U191 n__take U171 U202 sel afterNth nil n__sel n__afterNth U203 n__fst snd U81 tt U22 U71(x1) weight: (/ 1 16) + x1 status: [] precedence above: #U81(x1) weight: x1 status: [] precedence above: U131(x1,x2) weight: (/ 1 2) status: [] precedence above: #U222(x1,x2,x3) weight: (/ 1 16) + x3 + x2 + x1 status: [x1,x2,x3] precedence above: #U212(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: U101(x1,x2) weight: (/ 5 16) status: [] precedence above: pair(x1,x2) weight: max{(/ 3 8) + x2, (/ 5 16) + x1} status: [x1,x2] precedence above: n__pair fst(x1) weight: (/ 5 16) + x1 status: [x1] precedence above: U204 U21 U11 n__pair U142 activate pair U172 splitAt n__nil n__snd U201 n__splitAt U141 U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 n__fst snd U81 tt U22 U111(x1) weight: x1 status: [] precedence above: tt U132(x1) weight: (/ 1 4) status: [] precedence above: #activate(x1) weight: x1 status: [] precedence above: U152(x1) weight: (/ 7 16) + x1 status: [] precedence above: U11 U172 afterNth n__afterNth tt natsFrom(x1) weight: (/ 9 16) + x1 status: [] precedence above: U161 U11 U142 U42 U71 U131 U111 U172 n__natsFrom isNatural n__snd U141 afterNth n__cons isLNat U32 n__afterNth U211 U52 cons snd U81 tt U51 U212 U41 U121 #head(x1) weight: x1 status: [] precedence above: #U121(x1) weight: x1 status: [] precedence above: U172(x1,x2,x3) weight: max{0, (/ 9 16) + x3, (/ 9 16) + x2} status: [] precedence above: U11 afterNth n__afterNth tt splitAt(x1,x2) weight: max{0, (/ 7 16) + x2} status: [x2] precedence above: U204 n__pair pair n__nil U201 n__splitAt U191 U202 nil U203 tt #U131(x1,x2) weight: (/ 1 16) + x1 status: [x1] precedence above: #fst(x1) weight: x1 status: [] precedence above: n__nil() weight: (/ 3 16) status: [] precedence above: #U52(x1) weight: (/ 1 16) status: [] precedence above: U12(x1,x2,x3) weight: max{0, (/ 7 16) + x3, x2} status: [x3] precedence above: U204 n__pair U71 U131 pair U111 splitAt n__nil n__snd U201 n__splitAt U191 U202 nil U203 snd tt #U202(x1,x2,x3,x4) weight: max{0, (/ 1 16) + x4, (/ 1 16) + x3, (/ 1 16) + x1} status: [x1,x4,x3] precedence above: n__natsFrom(x1) weight: (/ 9 16) + x1 status: [] precedence above: U161 U11 U142 U42 U71 U131 U111 natsFrom U172 isNatural n__snd U141 afterNth n__cons isLNat U32 n__afterNth U211 U52 cons snd U81 tt U51 U212 U41 U121 isNatural(x1) weight: (/ 1 4) + x1 status: [] precedence above: U11 U142 U42 U71 U131 U111 U172 n__snd U141 afterNth isLNat n__afterNth U52 snd U81 tt U51 U41 U121 U222(x1,x2,x3) weight: max{(/ 13 16) + x3, (/ 1 2) + x2, (/ 1 4) + x1} status: [x1,x2,x3] precedence above: U204 U21 U11 n__pair U142 activate pair fst U172 splitAt n__nil n__snd U201 n__splitAt U141 U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 n__fst snd U81 tt U22 n__snd(x1) weight: x1 status: [] precedence above: tt U201(x1,x2,x3,x4) weight: max{0, (/ 7 16) + x4, (/ 15 16) + x3} status: [x3] precedence above: U204 n__pair pair splitAt n__nil n__splitAt U191 U202 nil U203 tt n__s(x1) weight: x1 status: [x1] precedence above: U204 U11 s n__pair U142 activate U131 pair U111 U172 splitAt n__nil n__snd U201 n__splitAt U141 U191 U171 U202 sel afterNth nil n__sel n__afterNth U211 U203 snd U81 tt U212 n__splitAt(x1,x2) weight: max{0, (/ 7 16) + x2} status: [] precedence above: #U42(x1) weight: (/ 1 16) status: [] precedence above: #U141(x1,x2) weight: (/ 1 16) + x2 status: [x2] precedence above: #U12(x1,x2,x3) weight: (/ 1 16) + x2 + x1 status: [x1,x2] precedence above: U141(x1,x2) weight: max{0, (/ 1 8) + x1} status: [] precedence above: U11 U142 U172 afterNth n__afterNth tt #U171(x1,x2,x3) weight: (/ 1 16) + x1 status: [x1] precedence above: tail(x1) weight: (/ 11 16) + x1 status: [] precedence above: U204 U182 U11 n__pair activate U71 U131 pair U111 U172 splitAt n__nil n__snd U201 n__splitAt U191 U171 U202 sel afterNth nil n__sel n__tail n__afterNth U203 snd tt U191(x1,x2) weight: max{(/ 7 16) + x2, (/ 7 16) + x1} status: [x1] precedence above: n__pair pair n__take(x1,x2) weight: (/ 15 16) + x2 + x1 status: [x2,x1] precedence above: U204 U21 U11 n__pair U142 U221 activate take U101 pair fst U172 splitAt n__nil U222 n__snd U201 n__splitAt U141 U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 n__fst snd U81 tt U22 #sel(x1,x2) weight: (/ 1 16) + x1 status: [x1] precedence above: #U102(x1) weight: (/ 1 16) status: [] precedence above: U171(x1,x2,x3) weight: max{(/ 9 16) + x3, (/ 9 16) + x2, x1} status: [x3] precedence above: U11 U172 afterNth n__afterNth tt #isLNat(x1) weight: (/ 1 16) status: [] precedence above: U202(x1,x2,x3,x4) weight: max{0, (/ 7 16) + x4, (/ 15 16) + x3} status: [] precedence above: U204 n__pair pair splitAt n__nil U201 n__splitAt U191 nil U203 tt sel(x1,x2) weight: (/ 9 16) + x2 + x1 status: [x2] precedence above: U11 U172 U171 afterNth n__sel n__afterNth tt #s(x1) weight: x1 status: [] precedence above: afterNth(x1,x2) weight: max{(/ 9 16) + x2, (/ 9 16) + x1} status: [x2] precedence above: U11 n__afterNth n__cons(x1,x2) weight: max{x2, (/ 1 2) + x1} status: [] precedence above: U11 U142 U71 U131 U111 U172 n__snd U141 afterNth U32 n__afterNth U211 U52 cons U81 tt U51 U212 #U211(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: #isPLNat(x1) weight: x1 status: [] precedence above: nil() weight: (/ 3 16) status: [] precedence above: n__nil isLNat(x1) weight: x1 status: [] precedence above: U11 U142 U42 U71 U131 U172 n__snd U141 afterNth n__afterNth U52 snd U81 tt U51 U41 n__sel(x1,x2) weight: (/ 9 16) + x2 + x1 status: [x2] precedence above: U11 U172 U171 sel afterNth n__afterNth tt #tail(x1) weight: x1 status: [] precedence above: #U182(x1,x2) weight: (/ 1 16) + x2 status: [x2] precedence above: #splitAt(x1,x2) weight: max{(/ 1 16) + x2, (/ 1 16) + x1} status: [x1,x2] precedence above: U151(x1,x2) weight: max{0, (/ 7 16) + x2} status: [] precedence above: U11 U152 U172 n__splitAt afterNth n__afterNth tt #nil() weight: 0 status: [] precedence above: n__tail(x1) weight: (/ 11 16) + x1 status: [] precedence above: U204 U182 U11 n__pair activate U71 U131 pair U111 U172 splitAt n__nil n__snd U201 n__splitAt tail U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 snd tt #afterNth(x1,x2) weight: (/ 1 16) + x1 status: [x1] precedence above: #U111(x1) weight: (/ 1 16) status: [] precedence above: U32(x1,x2) weight: max{0, (/ 1 4) + x2} status: [] precedence above: U11 U71 U131 afterNth n__afterNth #U221(x1,x2,x3) weight: x3 status: [] precedence above: n__0() weight: (/ 3 8) status: [] precedence above: |0| U11 U142 U42 U71 U131 U172 n__snd U141 afterNth isLNat n__afterNth U52 snd U81 tt U51 U41 n__afterNth(x1,x2) weight: max{(/ 9 16) + x2, (/ 9 16) + x1} status: [x2] precedence above: U11 afterNth U211(x1,x2) weight: max{(/ 5 8) + x2, (/ 5 16) + x1} status: [x1] precedence above: U11 U131 afterNth n__afterNth U212 U203(x1,x2,x3,x4) weight: max{0, (/ 7 16) + x4, (/ 7 8) + x3} status: [x4,x3] precedence above: U204 n__pair pair U52(x1) weight: (/ 3 16) status: [] precedence above: U11 U172 afterNth n__afterNth tt U61(x1) weight: (/ 1 4) status: [] precedence above: U11 U142 U42 U71 U131 U172 n__snd U141 afterNth isLNat n__afterNth U52 snd U81 tt U51 U41 #U51(x1,x2) weight: max{(/ 1 16) + x2, (/ 1 16) + x1} status: [x1,x2] precedence above: n__fst(x1) weight: (/ 5 16) + x1 status: [x1] precedence above: U204 U21 U11 n__pair U142 activate pair fst U172 splitAt n__nil n__snd U201 n__splitAt U141 U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 snd U81 tt U22 #U11(x1,x2,x3) weight: (/ 1 16) + x3 + x2 + x1 status: [x2,x1,x3] precedence above: U31(x1,x2,x3) weight: max{0, (/ 5 16) + x2, x1} status: [x1] precedence above: U204 U182 U11 n__pair activate U71 U131 pair U111 U172 splitAt n__nil n__snd U201 n__splitAt tail U191 U171 U202 sel afterNth nil n__sel n__tail U32 n__afterNth U203 snd tt head(x1) weight: x1 status: x1 #snd(x1) weight: x1 status: [] precedence above: #U41(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x1,x2] precedence above: cons(x1,x2) weight: max{x2, (/ 1 2) + x1} status: [] precedence above: U11 U142 U71 U131 U111 U172 n__snd U141 afterNth n__cons U32 n__afterNth U211 U52 U81 tt U51 U212 #natsFrom(x1) weight: x1 status: [] precedence above: U102(x1) weight: (/ 1 4) status: [] precedence above: U11 U101 U172 afterNth n__afterNth tt snd(x1) weight: x1 status: [] precedence above: n__snd tt #U191(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x1,x2] precedence above: #U21(x1,x2,x3) weight: x3 + x1 status: [x3,x1] precedence above: U81(x1) weight: x1 status: [] precedence above: U11 U172 n__snd afterNth n__afterNth tt #U22(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: tt() weight: (/ 3 16) status: [] precedence above: #U71(x1) weight: x1 status: [] precedence above: #U151(x1,x2) weight: (/ 1 16) + x1 status: [x1] precedence above: #isNatural(x1) weight: x1 status: [x1] precedence above: #pair(x1,x2) weight: (/ 1 16) + x1 status: [x1] precedence above: U22(x1,x2) weight: max{0, (/ 5 8) + x2} status: [x2] precedence above: U204 U11 n__pair activate pair U172 splitAt n__nil n__snd U201 n__splitAt U191 U171 U202 sel afterNth nil n__sel n__afterNth U203 snd tt n__head(x1) weight: x1 status: x1 U51(x1,x2) weight: max{0, x1} status: [] precedence above: U11 U172 afterNth n__afterNth U52 tt #U161(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x2,x1] precedence above: #U172(x1,x2,x3) weight: (/ 1 16) + x2 + x1 status: [x1,x2] precedence above: #U203(x1,x2,x3,x4) weight: max{0, x4} status: [x4] precedence above: U212(x1,x2) weight: max{(/ 9 16) + x2, (/ 9 16) + x1} status: [] precedence above: U11 U131 afterNth n__afterNth U41(x1,x2) weight: max{0, (/ 1 2) + x2} status: [x2] precedence above: U11 U42 U172 afterNth n__afterNth tt #U31(x1,x2,x3) weight: x1 status: [x1] precedence above: #U91(x1) weight: x1 status: [] precedence above: #U132(x1) weight: x1 status: [] precedence above: U121(x1) weight: (/ 1 4) status: [] precedence above: U11 U172 afterNth n__afterNth tt #U61(x1) weight: x1 status: [] precedence above: #U204(x1,x2) weight: (/ 1 16) + x2 + x1 status: [x1,x2] precedence above: U181(x1,x2) weight: max{0, x2} status: [x2] precedence above: U204 U182 U11 n__pair U142 U42 activate U71 U131 pair U172 splitAt n__nil n__snd U201 n__splitAt U141 U191 U171 U202 sel afterNth nil isLNat n__sel n__afterNth U203 U52 snd U81 tt U51 U41 Usable rules: { 1..91 } Removed DPs: #86 Number of SCCs: 2, DPs: 6, edges: 6 SCC { #106 #112 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... failed. MAYBE