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. #U201(x1,x2,x3,x4) weight: max{(/ 29 8) + x4, (/ 7 2) + x3, (/ 13 4) + x2, (/ 11 8) + x1} U204(x1,x2) weight: max{(/ 13 4) + x2, x1} #0() weight: 0 #U32(x1,x2) weight: max{0, (/ 1 8) + x2} U21(x1,x2,x3) weight: max{0, x2} U161(x1,x2) weight: max{0, x2} U182(x1,x2) weight: max{0, x2} U11(x1,x2,x3) weight: max{(/ 43 8) + x3, (/ 21 4) + x2, x1} #cons(x1,x2) weight: 0 s(x1) weight: x1 n__pair(x1,x2) weight: max{(/ 3 8) + x2, (/ 5 8) + x1} #U142(x1) weight: 0 #take(x1,x2) weight: max{(/ 21 4) + x2, (/ 11 2) + x1} U142(x1) weight: (/ 5 8) + x1 #U152(x1) weight: 0 #U181(x1,x2) weight: max{0, (/ 1 4) + x2} isPLNat(x1) weight: (/ 1 8) U42(x1) weight: 0 U91(x1) weight: (/ 17 8) + x1 U221(x1,x2,x3) weight: max{(/ 35 8) + x3, (/ 9 2) + x2, (/ 15 4) + x1} #U101(x1,x2) weight: max{(/ 1 8) + x2, (/ 15 4) + x1} activate(x1) weight: x1 take(x1,x2) weight: max{(/ 43 8) + x2, (/ 45 8) + x1} U71(x1) weight: (/ 3 8) #U81(x1) weight: 0 U131(x1,x2) weight: max{0, x1} #U222(x1,x2,x3) weight: max{0, (/ 15 4) + x3, (/ 15 4) + x2} #U212(x1,x2) weight: max{0, (/ 1 8) + x2} U101(x1,x2) weight: max{(/ 11 2) + x2, (/ 33 8) + x1} pair(x1,x2) weight: max{(/ 3 8) + x2, (/ 5 8) + x1} fst(x1) weight: (/ 1 8) + x1 U111(x1) weight: (/ 7 4) U132(x1) weight: (/ 1 2) #activate(x1) weight: x1 U152(x1) weight: (/ 3 8) natsFrom(x1) weight: x1 #head(x1) weight: (/ 3 8) + x1 #U121(x1) weight: 0 U172(x1,x2,x3) weight: max{0, (/ 47 8) + x3, 7 + x2} splitAt(x1,x2) weight: max{(/ 29 8) + x2, (/ 13 4) + x1} #U131(x1,x2) weight: max{x2, (/ 43 8) + x1} #fst(x1) weight: x1 n__nil() weight: (/ 1 8) #U52(x1) weight: 0 U12(x1,x2,x3) weight: max{0, (/ 43 8) + x3, (/ 29 8) + x2} #U202(x1,x2,x3,x4) weight: max{(/ 29 8) + x4, (/ 27 8) + x3, (/ 13 4) + x2, x1} n__natsFrom(x1) weight: x1 isNatural(x1) weight: (/ 7 4) U222(x1,x2,x3) weight: max{0, (/ 35 8) + x3, (/ 9 2) + x2} n__snd(x1) weight: (/ 1 8) + x1 U201(x1,x2,x3,x4) weight: max{(/ 29 8) + x4, (/ 27 8) + x3, (/ 13 4) + x2, (/ 3 2) + x1} n__s(x1) weight: x1 n__splitAt(x1,x2) weight: max{(/ 29 8) + x2, (/ 13 4) + x1} #U42(x1) weight: 0 #U141(x1,x2) weight: max{0, (/ 1 8) + x2} #U12(x1,x2,x3) weight: max{0, (/ 15 4) + x3, 4 + x2} U141(x1,x2) weight: max{(/ 3 4) + x2, (/ 1 8) + x1} #U171(x1,x2,x3) weight: max{7 + x3, (/ 27 4) + x2, (/ 21 4) + x1} tail(x1) weight: 2 + x1 0() weight: 0 U191(x1,x2) weight: max{0, (/ 3 4) + x2} n__take(x1,x2) weight: max{(/ 43 8) + x2, (/ 45 8) + x1} #sel(x1,x2) weight: max{(/ 57 8) + x2, (/ 55 8) + x1} #U102(x1) weight: 0 U171(x1,x2,x3) weight: max{(/ 57 8) + x3, 7 + x2, (/ 43 8) + x1} #isLNat(x1) weight: x1 U202(x1,x2,x3,x4) weight: max{(/ 29 8) + x4, (/ 13 4) + x3, (/ 13 4) + x2, (/ 7 4) + x1} sel(x1,x2) weight: max{(/ 29 4) + x2, 7 + x1} #s(x1) weight: 0 afterNth(x1,x2) weight: max{(/ 43 8) + x2, (/ 49 8) + x1} n__cons(x1,x2) weight: max{x2, x1} #U211(x1,x2) weight: max{(/ 1 4) + x2, x1} #isPLNat(x1) weight: x1 nil() weight: (/ 1 8) isLNat(x1) weight: (/ 1 8) + x1 n__sel(x1,x2) weight: max{(/ 29 4) + x2, 7 + x1} #tail(x1) weight: (/ 15 8) + x1 #U182(x1,x2) weight: max{0, (/ 1 8) + x2} #splitAt(x1,x2) weight: max{(/ 29 8) + x2, (/ 13 4) + x1} U151(x1,x2) weight: max{(/ 1 4) + x2, x1} #nil() weight: 0 n__tail(x1) weight: 2 + x1 #afterNth(x1,x2) weight: max{(/ 21 4) + x2, 6 + x1} #U111(x1) weight: 0 U32(x1,x2) weight: max{0, x2} #U221(x1,x2,x3) weight: max{(/ 31 8) + x3, (/ 43 8) + x2, (/ 27 8) + x1} n__0() weight: 0 n__afterNth(x1,x2) weight: max{(/ 43 8) + x2, (/ 49 8) + x1} U211(x1,x2) weight: max{x2, x1} U203(x1,x2,x3,x4) weight: max{0, (/ 29 8) + x4, (/ 13 4) + x3, (/ 13 4) + x2} U52(x1) weight: (/ 1 4) U61(x1) weight: (/ 3 8) #U51(x1,x2) weight: max{0, x2} n__fst(x1) weight: (/ 1 8) + x1 #U11(x1,x2,x3) weight: max{(/ 31 8) + x3, (/ 43 8) + x2, (/ 27 8) + x1} U31(x1,x2,x3) weight: max{0, (/ 1 2) + x2} head(x1) weight: (/ 1 2) + x1 #snd(x1) weight: x1 #U41(x1,x2) weight: max{(/ 1 8) + x2, (/ 15 4) + x1} cons(x1,x2) weight: max{x2, x1} #natsFrom(x1) weight: x1 U102(x1) weight: (/ 37 8) + x1 snd(x1) weight: (/ 1 8) + x1 #U191(x1,x2) weight: max{0, (/ 1 8) + x2} #U21(x1,x2,x3) weight: max{0, (/ 1 4) + x3, (/ 1 2) + x2} U81(x1) weight: (/ 1 4) + x1 #U22(x1,x2) weight: max{0, (/ 1 8) + x2} tt() weight: (/ 1 2) #U71(x1) weight: 0 #U151(x1,x2) weight: max{(/ 27 8) + x2, x1} #isNatural(x1) weight: x1 #pair(x1,x2) weight: 0 U22(x1,x2) weight: max{0, x2} n__head(x1) weight: (/ 1 2) + x1 U51(x1,x2) weight: max{(/ 1 4) + x2, x1} #U161(x1,x2) weight: max{0, x2} #U172(x1,x2,x3) weight: max{0, (/ 47 8) + x3, (/ 53 8) + x2} #U203(x1,x2,x3,x4) weight: max{0, (/ 29 8) + x4, (/ 25 8) + x3, (/ 13 4) + x2} U212(x1,x2) weight: max{0, x2} U41(x1,x2) weight: max{0, (/ 37 8) + x1} #U31(x1,x2,x3) weight: max{0, (/ 1 4) + x3, (/ 1 4) + x2} #U91(x1) weight: 0 #U132(x1) weight: 0 U121(x1) weight: (/ 1 2) #U61(x1) weight: 0 #U204(x1,x2) weight: max{(/ 25 8) + x2, x1} U181(x1,x2) weight: max{0, x2} Usable rules: { 3..8 13..30 39..41 50..53 56..91 } Removed DPs: #1..10 #14..16 #18..23 #25..39 #42 #43 #49 #50 #52..64 #67 #68 #70..72 #76..84 #88..92 #94..99 #103 #104 #108..111 #116..119 #122 #123 #125..129 #131..133 #135..140 #144..155 #158..167 #171 Number of SCCs: 3, DPs: 13, edges: 17 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)...