/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES We split firstr-order part and higher-order part, and do modular checking by a general modularity. ******** FO SN check ******** Check SN using NaTT (Nagoya Termination Tool) Input TRS: 1: axxu101(tt(),X) -> axxu102(axxisLNat(X)) 2: axxu102(tt()) -> tt() 3: axxu11(tt(),Y,U) -> axxu12(axxisLNat(U),Y,U) 4: axxu111(tt()) -> tt() 5: axxu12(tt(),V,W) -> axxsnd(axxsplitAt(mark(V),mark(W))) 6: axxu121(tt()) -> tt() 7: axxu131(tt(),P) -> axxu132(axxisLNat(P)) 8: axxu132(tt()) -> tt() 9: axxu141(tt(),X1) -> axxu142(axxisLNat(X1)) 10: axxu142(tt()) -> tt() 11: axxu151(tt(),Y1) -> axxu152(axxisLNat(Y1)) 12: axxu152(tt()) -> tt() 13: axxu161(tt(),U1) -> cons(mark(U1),natsFrom(s(U1))) 14: axxu171(tt(),V1,W1) -> axxu172(axxisLNat(W1),V1,W1) 15: axxu172(tt(),P1,X2) -> axxhead(axxafterNth(mark(P1),mark(X2))) 16: axxu181(tt(),Y2) -> axxu182(axxisLNat(Y2),Y2) 17: axxu182(tt(),U2) -> mark(U2) 18: axxu191(tt(),V2) -> pair(nil(),mark(V2)) 19: axxu201(tt(),W2,P2,X3) -> axxu202(axxisNatural(P2),W2,P2,X3) 20: axxu202(tt(),Y3,U3,V3) -> axxu203(axxisLNat(V3),Y3,U3,V3) 21: axxu203(tt(),W3,P3,X4) -> axxu204(axxsplitAt(mark(W3),mark(X4)),P3) 22: axxu204(pair(Y4,U4),V4) -> pair(cons(mark(V4),Y4),mark(U4)) 23: axxu21(tt(),W4,P4) -> axxu22(axxisLNat(P4),W4) 24: axxu211(tt(),X5) -> axxu212(axxisLNat(X5),X5) 25: axxu212(tt(),Y5) -> mark(Y5) 26: axxu22(tt(),U5) -> mark(U5) 27: axxu221(tt(),V5,W5) -> axxu222(axxisLNat(W5),V5,W5) 28: axxu222(tt(),P5,X6) -> axxfst(axxsplitAt(mark(P5),mark(X6))) 29: axxu31(tt(),Y6,U6) -> axxu32(axxisLNat(U6),Y6) 30: axxu32(tt(),V6) -> mark(V6) 31: axxu41(tt(),W6) -> axxu42(axxisLNat(W6)) 32: axxu42(tt()) -> tt() 33: axxu51(tt(),P6) -> axxu52(axxisLNat(P6)) 34: axxu52(tt()) -> tt() 35: axxu61(tt()) -> tt() 36: axxu71(tt()) -> tt() 37: axxu81(tt()) -> tt() 38: axxu91(tt()) -> tt() 39: axxafterNth(X7,Y7) -> axxu11(axxisNatural(X7),X7,Y7) 40: axxfst(pair(U7,V7)) -> axxu21(axxisLNat(U7),U7,V7) 41: axxhead(cons(W7,P7)) -> axxu31(axxisNatural(W7),W7,P7) 42: axxisLNat(nil()) -> tt() 43: axxisLNat(afterNth(X8,Y8)) -> axxu41(axxisNatural(X8),Y8) 44: axxisLNat(cons(U8,V8)) -> axxu51(axxisNatural(U8),V8) 45: axxisLNat(fst(W8)) -> axxu61(axxisPLNat(W8)) 46: axxisLNat(natsFrom(P8)) -> axxu71(axxisNatural(P8)) 47: axxisLNat(snd(X9)) -> axxu81(axxisPLNat(X9)) 48: axxisLNat(tail(Y9)) -> axxu91(axxisLNat(Y9)) 49: axxisLNat(take(U9,V9)) -> axxu101(axxisNatural(U9),V9) 50: axxisNatural(0()) -> tt() 51: axxisNatural(head(W9)) -> axxu111(axxisLNat(W9)) 52: axxisNatural(s(P9)) -> axxu121(axxisNatural(P9)) 53: axxisNatural(sel(X10,Y10)) -> axxu131(axxisNatural(X10),Y10) 54: axxisPLNat(pair(U10,V10)) -> axxu141(axxisLNat(U10),V10) 55: axxisPLNat(splitAt(W10,P10)) -> axxu151(axxisNatural(W10),P10) 56: axxnatsFrom(X11) -> axxu161(axxisNatural(X11),X11) 57: axxsel(Y11,U11) -> axxu171(axxisNatural(Y11),Y11,U11) 58: axxsnd(pair(V11,W11)) -> axxu181(axxisLNat(V11),W11) 59: axxsplitAt(0(),P11) -> axxu191(axxisLNat(P11),P11) 60: axxsplitAt(s(X12),cons(Y12,U12)) -> axxu201(axxisNatural(X12),X12,Y12,U12) 61: axxtail(cons(V12,W12)) -> axxu211(axxisNatural(V12),W12) 62: axxtake(P12,X13) -> axxu221(axxisNatural(P12),P12,X13) 63: mark(u101(Y13,U13)) -> axxu101(mark(Y13),U13) 64: mark(u102(V13)) -> axxu102(mark(V13)) 65: mark(isLNat(W13)) -> axxisLNat(W13) 66: mark(u11(P13,X14,Y14)) -> axxu11(mark(P13),X14,Y14) 67: mark(u12(U14,V14,W14)) -> axxu12(mark(U14),V14,W14) 68: mark(u111(P14)) -> axxu111(mark(P14)) 69: mark(snd(X15)) -> axxsnd(mark(X15)) 70: mark(splitAt(Y15,U15)) -> axxsplitAt(mark(Y15),mark(U15)) 71: mark(u121(V15)) -> axxu121(mark(V15)) 72: mark(u131(W15,P15)) -> axxu131(mark(W15),P15) 73: mark(u132(X16)) -> axxu132(mark(X16)) 74: mark(u141(Y16,U16)) -> axxu141(mark(Y16),U16) 75: mark(u142(V16)) -> axxu142(mark(V16)) 76: mark(u151(W16,P16)) -> axxu151(mark(W16),P16) 77: mark(u152(X17)) -> axxu152(mark(X17)) 78: mark(u161(Y17,U17)) -> axxu161(mark(Y17),U17) 79: mark(natsFrom(V17)) -> axxnatsFrom(mark(V17)) 80: mark(u171(W17,P17,X18)) -> axxu171(mark(W17),P17,X18) 81: mark(u172(Y18,U18,V18)) -> axxu172(mark(Y18),U18,V18) 82: mark(head(W18)) -> axxhead(mark(W18)) 83: mark(afterNth(P18,X19)) -> axxafterNth(mark(P18),mark(X19)) 84: mark(u181(Y19,U19)) -> axxu181(mark(Y19),U19) 85: mark(u182(V19,W19)) -> axxu182(mark(V19),W19) 86: mark(u191(P19,X20)) -> axxu191(mark(P19),X20) 87: mark(u201(Y20,U20,V20,W20)) -> axxu201(mark(Y20),U20,V20,W20) 88: mark(u202(P20,X21,Y21,U21)) -> axxu202(mark(P20),X21,Y21,U21) 89: mark(isNatural(V21)) -> axxisNatural(V21) 90: mark(u203(W21,P21,X22,Y22)) -> axxu203(mark(W21),P21,X22,Y22) 91: mark(u204(U22,V22)) -> axxu204(mark(U22),V22) 92: mark(u21(W22,P22,X23)) -> axxu21(mark(W22),P22,X23) 93: mark(u22(Y23,U23)) -> axxu22(mark(Y23),U23) 94: mark(u211(V23,W23)) -> axxu211(mark(V23),W23) 95: mark(u212(P23,X24)) -> axxu212(mark(P23),X24) 96: mark(u221(Y24,U24,V24)) -> axxu221(mark(Y24),U24,V24) 97: mark(u222(W24,P24,X25)) -> axxu222(mark(W24),P24,X25) 98: mark(fst(Y25)) -> axxfst(mark(Y25)) 99: mark(u31(U25,V25,W25)) -> axxu31(mark(U25),V25,W25) 100: mark(u32(P25,X26)) -> axxu32(mark(P25),X26) 101: mark(u41(Y26,U26)) -> axxu41(mark(Y26),U26) 102: mark(u42(V26)) -> axxu42(mark(V26)) 103: mark(u51(W26,P26)) -> axxu51(mark(W26),P26) 104: mark(u52(X27)) -> axxu52(mark(X27)) 105: mark(u61(Y27)) -> axxu61(mark(Y27)) 106: mark(u71(U27)) -> axxu71(mark(U27)) 107: mark(u81(V27)) -> axxu81(mark(V27)) 108: mark(u91(W27)) -> axxu91(mark(W27)) 109: mark(isPLNat(P27)) -> axxisPLNat(P27) 110: mark(tail(X28)) -> axxtail(mark(X28)) 111: mark(take(Y28,U28)) -> axxtake(mark(Y28),mark(U28)) 112: mark(sel(V28,W28)) -> axxsel(mark(V28),mark(W28)) 113: mark(tt()) -> tt() 114: mark(cons(P28,X29)) -> cons(mark(P28),X29) 115: mark(s(Y29)) -> s(mark(Y29)) 116: mark(pair(U29,V29)) -> pair(mark(U29),mark(V29)) 117: mark(nil()) -> nil() 118: mark(0()) -> 0() 119: axxu101(W29,P29) -> u101(W29,P29) 120: axxu102(X30) -> u102(X30) 121: axxisLNat(Y30) -> isLNat(Y30) 122: axxu11(U30,V30,W30) -> u11(U30,V30,W30) 123: axxu12(P30,X31,Y31) -> u12(P30,X31,Y31) 124: axxu111(U31) -> u111(U31) 125: axxsnd(V31) -> snd(V31) 126: axxsplitAt(W31,P31) -> splitAt(W31,P31) 127: axxu121(X32) -> u121(X32) 128: axxu131(Y32,U32) -> u131(Y32,U32) 129: axxu132(V32) -> u132(V32) 130: axxu141(W32,P32) -> u141(W32,P32) 131: axxu142(X33) -> u142(X33) 132: axxu151(Y33,U33) -> u151(Y33,U33) 133: axxu152(V33) -> u152(V33) 134: axxu161(W33,P33) -> u161(W33,P33) 135: axxnatsFrom(X34) -> natsFrom(X34) 136: axxu171(Y34,U34,V34) -> u171(Y34,U34,V34) 137: axxu172(W34,P34,X35) -> u172(W34,P34,X35) 138: axxhead(Y35) -> head(Y35) 139: axxafterNth(U35,V35) -> afterNth(U35,V35) 140: axxu181(W35,P35) -> u181(W35,P35) 141: axxu182(X36,Y36) -> u182(X36,Y36) 142: axxu191(U36,V36) -> u191(U36,V36) 143: axxu201(W36,P36,X37,Y37) -> u201(W36,P36,X37,Y37) 144: axxu202(U37,V37,W37,P37) -> u202(U37,V37,W37,P37) 145: axxisNatural(X38) -> isNatural(X38) 146: axxu203(Y38,U38,V38,W38) -> u203(Y38,U38,V38,W38) 147: axxu204(P38,X39) -> u204(P38,X39) 148: axxu21(Y39,U39,V39) -> u21(Y39,U39,V39) 149: axxu22(W39,P39) -> u22(W39,P39) 150: axxu211(X40,Y40) -> u211(X40,Y40) 151: axxu212(U40,V40) -> u212(U40,V40) 152: axxu221(W40,P40,X41) -> u221(W40,P40,X41) 153: axxu222(Y41,U41,V41) -> u222(Y41,U41,V41) 154: axxfst(W41) -> fst(W41) 155: axxu31(P41,X42,Y42) -> u31(P41,X42,Y42) 156: axxu32(U42,V42) -> u32(U42,V42) 157: axxu41(W42,P42) -> u41(W42,P42) 158: axxu42(X43) -> u42(X43) 159: axxu51(Y43,U43) -> u51(Y43,U43) 160: axxu52(V43) -> u52(V43) 161: axxu61(W43) -> u61(W43) 162: axxu71(P43) -> u71(P43) 163: axxu81(X44) -> u81(X44) 164: axxu91(Y44) -> u91(Y44) 165: axxisPLNat(U44) -> isPLNat(U44) 166: axxtail(V44) -> tail(V44) 167: axxtake(W44,P44) -> take(W44,P44) 168: axxsel(X45,Y45) -> sel(X45,Y45) 169: _(X1,X2) -> X1 170: _(X1,X2) -> X2 Number of strict rules: 170 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #mark(u191(P19,X20)) -> #axxu191(mark(P19),X20) #2: #mark(u191(P19,X20)) -> #mark(P19) #3: #axxisLNat(afterNth(X8,Y8)) -> #axxu41(axxisNatural(X8),Y8) #4: #axxisLNat(afterNth(X8,Y8)) -> #axxisNatural(X8) #5: #axxu31(tt(),Y6,U6) -> #axxu32(axxisLNat(U6),Y6) #6: #axxu31(tt(),Y6,U6) -> #axxisLNat(U6) #7: #mark(afterNth(P18,X19)) -> #axxafterNth(mark(P18),mark(X19)) #8: #mark(afterNth(P18,X19)) -> #mark(P18) #9: #mark(afterNth(P18,X19)) -> #mark(X19) #10: #mark(u11(P13,X14,Y14)) -> #axxu11(mark(P13),X14,Y14) #11: #mark(u11(P13,X14,Y14)) -> #mark(P13) #12: #axxisLNat(natsFrom(P8)) -> #axxu71(axxisNatural(P8)) #13: #axxisLNat(natsFrom(P8)) -> #axxisNatural(P8) #14: #mark(s(Y29)) -> #mark(Y29) #15: #mark(u212(P23,X24)) -> #axxu212(mark(P23),X24) #16: #mark(u212(P23,X24)) -> #mark(P23) #17: #axxhead(cons(W7,P7)) -> #axxu31(axxisNatural(W7),W7,P7) #18: #axxhead(cons(W7,P7)) -> #axxisNatural(W7) #19: #mark(cons(P28,X29)) -> #mark(P28) #20: #mark(u31(U25,V25,W25)) -> #axxu31(mark(U25),V25,W25) #21: #mark(u31(U25,V25,W25)) -> #mark(U25) #22: #mark(u222(W24,P24,X25)) -> #axxu222(mark(W24),P24,X25) #23: #mark(u222(W24,P24,X25)) -> #mark(W24) #24: #mark(u204(U22,V22)) -> #axxu204(mark(U22),V22) #25: #mark(u204(U22,V22)) -> #mark(U22) #26: #mark(u132(X16)) -> #axxu132(mark(X16)) #27: #mark(u132(X16)) -> #mark(X16) #28: #axxisLNat(snd(X9)) -> #axxu81(axxisPLNat(X9)) #29: #axxisLNat(snd(X9)) -> #axxisPLNat(X9) #30: #axxisNatural(sel(X10,Y10)) -> #axxu131(axxisNatural(X10),Y10) #31: #axxisNatural(sel(X10,Y10)) -> #axxisNatural(X10) #32: #mark(u121(V15)) -> #axxu121(mark(V15)) #33: #mark(u121(V15)) -> #mark(V15) #34: #axxisLNat(tail(Y9)) -> #axxu91(axxisLNat(Y9)) #35: #axxisLNat(tail(Y9)) -> #axxisLNat(Y9) #36: #mark(u142(V16)) -> #axxu142(mark(V16)) #37: #mark(u142(V16)) -> #mark(V16) #38: #mark(sel(V28,W28)) -> #axxsel(mark(V28),mark(W28)) #39: #mark(sel(V28,W28)) -> #mark(V28) #40: #mark(sel(V28,W28)) -> #mark(W28) #41: #mark(u141(Y16,U16)) -> #axxu141(mark(Y16),U16) #42: #mark(u141(Y16,U16)) -> #mark(Y16) #43: #axxsnd(pair(V11,W11)) -> #axxu181(axxisLNat(V11),W11) #44: #axxsnd(pair(V11,W11)) -> #axxisLNat(V11) #45: #axxtail(cons(V12,W12)) -> #axxu211(axxisNatural(V12),W12) #46: #axxtail(cons(V12,W12)) -> #axxisNatural(V12) #47: #mark(pair(U29,V29)) -> #mark(U29) #48: #mark(pair(U29,V29)) -> #mark(V29) #49: #axxsplitAt(0(),P11) -> #axxu191(axxisLNat(P11),P11) #50: #axxsplitAt(0(),P11) -> #axxisLNat(P11) #51: #mark(tail(X28)) -> #axxtail(mark(X28)) #52: #mark(tail(X28)) -> #mark(X28) #53: #axxisPLNat(splitAt(W10,P10)) -> #axxu151(axxisNatural(W10),P10) #54: #axxisPLNat(splitAt(W10,P10)) -> #axxisNatural(W10) #55: #mark(u12(U14,V14,W14)) -> #axxu12(mark(U14),V14,W14) #56: #mark(u12(U14,V14,W14)) -> #mark(U14) #57: #axxfst(pair(U7,V7)) -> #axxu21(axxisLNat(U7),U7,V7) #58: #axxfst(pair(U7,V7)) -> #axxisLNat(U7) #59: #mark(u203(W21,P21,X22,Y22)) -> #axxu203(mark(W21),P21,X22,Y22) #60: #mark(u203(W21,P21,X22,Y22)) -> #mark(W21) #61: #mark(u81(V27)) -> #axxu81(mark(V27)) #62: #mark(u81(V27)) -> #mark(V27) #63: #axxisNatural(head(W9)) -> #axxu111(axxisLNat(W9)) #64: #axxisNatural(head(W9)) -> #axxisLNat(W9) #65: #axxu161(tt(),U1) -> #mark(U1) #66: #axxu141(tt(),X1) -> #axxu142(axxisLNat(X1)) #67: #axxu141(tt(),X1) -> #axxisLNat(X1) #68: #axxu151(tt(),Y1) -> #axxu152(axxisLNat(Y1)) #69: #axxu151(tt(),Y1) -> #axxisLNat(Y1) #70: #mark(fst(Y25)) -> #axxfst(mark(Y25)) #71: #mark(fst(Y25)) -> #mark(Y25) #72: #axxsel(Y11,U11) -> #axxu171(axxisNatural(Y11),Y11,U11) #73: #axxsel(Y11,U11) -> #axxisNatural(Y11) #74: #mark(u151(W16,P16)) -> #axxu151(mark(W16),P16) #75: #mark(u151(W16,P16)) -> #mark(W16) #76: #mark(isPLNat(P27)) -> #axxisPLNat(P27) #77: #mark(u211(V23,W23)) -> #axxu211(mark(V23),W23) #78: #mark(u211(V23,W23)) -> #mark(V23) #79: #axxu211(tt(),X5) -> #axxu212(axxisLNat(X5),X5) #80: #axxu211(tt(),X5) -> #axxisLNat(X5) #81: #mark(splitAt(Y15,U15)) -> #axxsplitAt(mark(Y15),mark(U15)) #82: #mark(splitAt(Y15,U15)) -> #mark(Y15) #83: #mark(splitAt(Y15,U15)) -> #mark(U15) #84: #axxu21(tt(),W4,P4) -> #axxu22(axxisLNat(P4),W4) #85: #axxu21(tt(),W4,P4) -> #axxisLNat(P4) #86: #mark(u172(Y18,U18,V18)) -> #axxu172(mark(Y18),U18,V18) #87: #mark(u172(Y18,U18,V18)) -> #mark(Y18) #88: #mark(u161(Y17,U17)) -> #axxu161(mark(Y17),U17) #89: #mark(u161(Y17,U17)) -> #mark(Y17) #90: #axxisLNat(fst(W8)) -> #axxu61(axxisPLNat(W8)) #91: #axxisLNat(fst(W8)) -> #axxisPLNat(W8) #92: #mark(u221(Y24,U24,V24)) -> #axxu221(mark(Y24),U24,V24) #93: #mark(u221(Y24,U24,V24)) -> #mark(Y24) #94: #mark(snd(X15)) -> #axxsnd(mark(X15)) #95: #mark(snd(X15)) -> #mark(X15) #96: #mark(u41(Y26,U26)) -> #axxu41(mark(Y26),U26) #97: #mark(u41(Y26,U26)) -> #mark(Y26) #98: #axxu41(tt(),W6) -> #axxu42(axxisLNat(W6)) #99: #axxu41(tt(),W6) -> #axxisLNat(W6) #100: #mark(natsFrom(V17)) -> #axxnatsFrom(mark(V17)) #101: #mark(natsFrom(V17)) -> #mark(V17) #102: #axxnatsFrom(X11) -> #axxu161(axxisNatural(X11),X11) #103: #axxnatsFrom(X11) -> #axxisNatural(X11) #104: #mark(isNatural(V21)) -> #axxisNatural(V21) #105: #mark(head(W18)) -> #axxhead(mark(W18)) #106: #mark(head(W18)) -> #mark(W18) #107: #mark(take(Y28,U28)) -> #axxtake(mark(Y28),mark(U28)) #108: #mark(take(Y28,U28)) -> #mark(Y28) #109: #mark(take(Y28,U28)) -> #mark(U28) #110: #axxu171(tt(),V1,W1) -> #axxu172(axxisLNat(W1),V1,W1) #111: #axxu171(tt(),V1,W1) -> #axxisLNat(W1) #112: #mark(u71(U27)) -> #axxu71(mark(U27)) #113: #mark(u71(U27)) -> #mark(U27) #114: #axxtake(P12,X13) -> #axxu221(axxisNatural(P12),P12,X13) #115: #axxtake(P12,X13) -> #axxisNatural(P12) #116: #axxu32(tt(),V6) -> #mark(V6) #117: #axxisNatural(s(P9)) -> #axxu121(axxisNatural(P9)) #118: #axxisNatural(s(P9)) -> #axxisNatural(P9) #119: #axxisLNat(take(U9,V9)) -> #axxu101(axxisNatural(U9),V9) #120: #axxisLNat(take(U9,V9)) -> #axxisNatural(U9) #121: #axxu212(tt(),Y5) -> #mark(Y5) #122: #mark(u91(W27)) -> #axxu91(mark(W27)) #123: #mark(u91(W27)) -> #mark(W27) #124: #axxu202(tt(),Y3,U3,V3) -> #axxu203(axxisLNat(V3),Y3,U3,V3) #125: #axxu202(tt(),Y3,U3,V3) -> #axxisLNat(V3) #126: #mark(u202(P20,X21,Y21,U21)) -> #axxu202(mark(P20),X21,Y21,U21) #127: #mark(u202(P20,X21,Y21,U21)) -> #mark(P20) #128: #axxu131(tt(),P) -> #axxu132(axxisLNat(P)) #129: #axxu131(tt(),P) -> #axxisLNat(P) #130: #axxafterNth(X7,Y7) -> #axxu11(axxisNatural(X7),X7,Y7) #131: #axxafterNth(X7,Y7) -> #axxisNatural(X7) #132: #mark(u21(W22,P22,X23)) -> #axxu21(mark(W22),P22,X23) #133: #mark(u21(W22,P22,X23)) -> #mark(W22) #134: #mark(u22(Y23,U23)) -> #axxu22(mark(Y23),U23) #135: #mark(u22(Y23,U23)) -> #mark(Y23) #136: #mark(u102(V13)) -> #axxu102(mark(V13)) #137: #mark(u102(V13)) -> #mark(V13) #138: #axxu51(tt(),P6) -> #axxu52(axxisLNat(P6)) #139: #axxu51(tt(),P6) -> #axxisLNat(P6) #140: #mark(u131(W15,P15)) -> #axxu131(mark(W15),P15) #141: #mark(u131(W15,P15)) -> #mark(W15) #142: #axxu12(tt(),V,W) -> #axxsnd(axxsplitAt(mark(V),mark(W))) #143: #axxu12(tt(),V,W) -> #axxsplitAt(mark(V),mark(W)) #144: #axxu12(tt(),V,W) -> #mark(V) #145: #axxu12(tt(),V,W) -> #mark(W) #146: #axxisLNat(cons(U8,V8)) -> #axxu51(axxisNatural(U8),V8) #147: #axxisLNat(cons(U8,V8)) -> #axxisNatural(U8) #148: #mark(isLNat(W13)) -> #axxisLNat(W13) #149: #axxu222(tt(),P5,X6) -> #axxfst(axxsplitAt(mark(P5),mark(X6))) #150: #axxu222(tt(),P5,X6) -> #axxsplitAt(mark(P5),mark(X6)) #151: #axxu222(tt(),P5,X6) -> #mark(P5) #152: #axxu222(tt(),P5,X6) -> #mark(X6) #153: #axxu204(pair(Y4,U4),V4) -> #mark(V4) #154: #axxu204(pair(Y4,U4),V4) -> #mark(U4) #155: #mark(u181(Y19,U19)) -> #axxu181(mark(Y19),U19) #156: #mark(u181(Y19,U19)) -> #mark(Y19) #157: #mark(u201(Y20,U20,V20,W20)) -> #axxu201(mark(Y20),U20,V20,W20) #158: #mark(u201(Y20,U20,V20,W20)) -> #mark(Y20) #159: #axxu221(tt(),V5,W5) -> #axxu222(axxisLNat(W5),V5,W5) #160: #axxu221(tt(),V5,W5) -> #axxisLNat(W5) #161: #axxsplitAt(s(X12),cons(Y12,U12)) -> #axxu201(axxisNatural(X12),X12,Y12,U12) #162: #axxsplitAt(s(X12),cons(Y12,U12)) -> #axxisNatural(X12) #163: #axxu182(tt(),U2) -> #mark(U2) #164: #axxu201(tt(),W2,P2,X3) -> #axxu202(axxisNatural(P2),W2,P2,X3) #165: #axxu201(tt(),W2,P2,X3) -> #axxisNatural(P2) #166: #mark(u101(Y13,U13)) -> #axxu101(mark(Y13),U13) #167: #mark(u101(Y13,U13)) -> #mark(Y13) #168: #mark(u61(Y27)) -> #axxu61(mark(Y27)) #169: #mark(u61(Y27)) -> #mark(Y27) #170: #axxu22(tt(),U5) -> #mark(U5) #171: #mark(u32(P25,X26)) -> #axxu32(mark(P25),X26) #172: #mark(u32(P25,X26)) -> #mark(P25) #173: #mark(u182(V19,W19)) -> #axxu182(mark(V19),W19) #174: #mark(u182(V19,W19)) -> #mark(V19) #175: #mark(u111(P14)) -> #axxu111(mark(P14)) #176: #mark(u111(P14)) -> #mark(P14) #177: #axxu203(tt(),W3,P3,X4) -> #axxu204(axxsplitAt(mark(W3),mark(X4)),P3) #178: #axxu203(tt(),W3,P3,X4) -> #axxsplitAt(mark(W3),mark(X4)) #179: #axxu203(tt(),W3,P3,X4) -> #mark(W3) #180: #axxu203(tt(),W3,P3,X4) -> #mark(X4) #181: #axxu181(tt(),Y2) -> #axxu182(axxisLNat(Y2),Y2) #182: #axxu181(tt(),Y2) -> #axxisLNat(Y2) #183: #axxu11(tt(),Y,U) -> #axxu12(axxisLNat(U),Y,U) #184: #axxu11(tt(),Y,U) -> #axxisLNat(U) #185: #mark(u152(X17)) -> #axxu152(mark(X17)) #186: #mark(u152(X17)) -> #mark(X17) #187: #axxu101(tt(),X) -> #axxu102(axxisLNat(X)) #188: #axxu101(tt(),X) -> #axxisLNat(X) #189: #axxisPLNat(pair(U10,V10)) -> #axxu141(axxisLNat(U10),V10) #190: #axxisPLNat(pair(U10,V10)) -> #axxisLNat(U10) #191: #axxu172(tt(),P1,X2) -> #axxhead(axxafterNth(mark(P1),mark(X2))) #192: #axxu172(tt(),P1,X2) -> #axxafterNth(mark(P1),mark(X2)) #193: #axxu172(tt(),P1,X2) -> #mark(P1) #194: #axxu172(tt(),P1,X2) -> #mark(X2) #195: #mark(u42(V26)) -> #axxu42(mark(V26)) #196: #mark(u42(V26)) -> #mark(V26) #197: #mark(u51(W26,P26)) -> #axxu51(mark(W26),P26) #198: #mark(u51(W26,P26)) -> #mark(W26) #199: #mark(u52(X27)) -> #axxu52(mark(X27)) #200: #mark(u52(X27)) -> #mark(X27) #201: #mark(u171(W17,P17,X18)) -> #axxu171(mark(W17),P17,X18) #202: #mark(u171(W17,P17,X18)) -> #mark(W17) #203: #axxu191(tt(),V2) -> #mark(V2) Number of SCCs: 2, DPs: 151 SCC { #3 #4 #13 #29..31 #35 #53 #54 #64 #67 #69 #91 #99 #118..120 #129 #139 #146 #147 #188..190 } POLO(Sum)... succeeded. #axxu172 w: 0 u81 w: 0 #axxu51 w: x1 + x2 u172 w: 0 #axxu32 w: 0 #axxu141 w: x1 + x2 axxu211 w: 0 axxu142 w: x1 s w: x1 + 1 axxisLNat w: x1 + 1 u132 w: 0 #axxu12 w: 0 axxu121 w: x1 u91 w: 0 #axxu111 w: 0 u111 w: 0 #axxu211 w: 0 #axxu132 w: 0 axxu131 w: x1 + x2 u191 w: 0 isPLNat w: 0 axxsnd w: 0 u102 w: 0 axxu191 w: 0 axxu11 w: 0 u121 w: 0 axxu172 w: 0 axxu32 w: 0 #axxu102 w: 0 #axxu181 w: 0 #axxu101 w: x1 + x2 u181 w: 0 #axxisLNat w: x1 axxu132 w: x1 take w: x1 + x2 + 2 #axxu204 w: 0 axxsplitAt w: 0 #axxu221 w: 0 #axxu222 w: 0 pair w: x1 + x2 + 2277 axxu91 w: x1 fst w: x1 + 8880 u222 w: 0 #axxu151 w: x1 + x2 u131 w: 0 natsFrom w: x1 + 9726 u182 w: 0 u212 w: 0 splitAt w: x1 + x2 + 2 u52 w: 0 #axxu11 w: 0 axxu201 w: 0 axxu102 w: x1 u61 w: 0 axxu31 w: 0 axxu203 w: 0 u221 w: 0 _ w: 0 u151 w: 0 axxu22 w: 0 u202 w: 0 isNatural w: 0 #axxu121 w: 0 #axxsplitAt w: 0 axxnatsFrom w: 0 u41 w: 0 axxisNatural w: x1 + 1 u211 w: 0 axxu151 w: x1 + x2 axxu181 w: 0 #axxu91 w: 0 #axxu201 w: 0 tail w: x1 + 8457 u51 w: 0 #axxafterNth w: 0 #mark w: 0 #axxtail w: 0 0 w: 1143 axxu141 w: x1 + x2 #axxnatsFrom w: 0 axxu81 w: x1 axxisPLNat w: x1 + 2 #axxisPLNat w: x1 axxu152 w: x1 axxu182 w: 0 u11 w: 0 axxu204 w: 0 sel w: x1 + x2 + 592 u32 w: 0 afterNth w: x1 + x2 + 2448 #axxu212 w: 0 #axxu161 w: 0 nil w: 1889 #axxsnd w: 0 isLNat w: 0 #axxu21 w: 0 axxu41 w: x1 + x2 #axxu142 w: 0 #axxu202 w: 0 axxafterNth w: 0 mark w: 0 u12 w: 0 #axxu152 w: 0 u203 w: 0 #axxu22 w: 0 axxu71 w: x1 u101 w: 0 #axxu81 w: 0 axxsel w: 0 u201 w: 0 u21 w: 0 axxu52 w: x1 #axxu52 w: 0 axxu111 w: x1 axxfst w: 0 axxu61 w: x1 axxu171 w: 0 #_ w: 0 u161 w: 0 #axxu31 w: 0 u204 w: 0 #axxsel w: 0 #axxu42 w: 0 axxu51 w: x1 + x2 u171 w: 0 axxu221 w: 0 head w: x1 + 1324 cons w: x1 + x2 + 2242 u142 w: 0 axxu222 w: 0 snd w: x1 + 1 #axxu41 w: x1 + x2 u22 w: 0 axxu12 w: 0 axxtail w: 0 u42 w: 0 tt w: 1 #axxu191 w: 0 axxu42 w: x1 #axxu131 w: x1 + x2 + 590 u152 w: 0 axxu161 w: 0 axxu202 w: 0 u71 w: 0 axxtake w: 0 #axxu61 w: 0 #axxfst w: 0 #axxu171 w: 0 axxu101 w: x1 + x2 #axxu71 w: 0 #axxisNatural w: x1 axxu212 w: 0 u31 w: 0 u141 w: 0 axxu21 w: 0 #axxu182 w: 0 #axxu203 w: 0 #axxtake w: 0 #axxhead w: 0 axxhead w: 0 USABLE RULES: { 1 2 4 6..12 31..38 42..55 119..121 124 127..133 145 157..165 } Removed DPs: #3 #4 #13 #29..31 #35 #53 #54 #64 #67 #69 #91 #99 #118..120 #129 #139 #146 #147 #188..190 Number of SCCs: 1, DPs: 127 SCC { #1 #2 #5 #7..11 #14..17 #19..25 #27 #33 #37..40 #42 #43 #45 #47..49 #51 #52 #55..57 #59 #60 #62 #65 #70..72 #75 #77..79 #81..84 #86..89 #92..95 #97 #100..102 #105..110 #113 #114 #116 #121 #123 #124 #126 #127 #130 #132..135 #137 #141..145 #149..159 #161 #163 #164 #167 #169..174 #176..181 #183 #186 #191..194 #196 #198 #200..203 } POLO(Sum)... POLO(max)... succeeded. #axxu172 w: max(x2 + 40784, x3 + 48633) u81 w: x1 + 1 #axxu51 w: 0 u172 w: max(x1 + 59591, x2 + 59602, x3 + 59590) #axxu32 w: max(x1 + 7575, x2 + 7576) #axxu141 w: 0 axxu211 w: max(x1 + 17, x2 + 24) axxu142 w: x1 + 1 s w: x1 axxisLNat w: x1 + 10 u132 w: x1 + 9569 #axxu12 w: max(x2 + 25257, x3 + 25267) axxu121 w: x1 u91 w: x1 + 3 #axxu111 w: 0 u111 w: x1 + 4808 #axxu211 w: max(x2 + 4251) #axxu132 w: 0 axxu131 w: max(x1 + 9575, x2 + 59872) u191 w: max(x1 + 34, x2 + 23) isPLNat w: x1 axxsnd w: x1 + 14656 u102 w: x1 + 78 axxu191 w: max(x1 + 34, x2 + 23) axxu11 w: max(x1 + 33187, x2 + 33189, x3 + 26354) u121 w: x1 axxu172 w: max(x1 + 59591, x2 + 59602, x3 + 59590) axxu32 w: max(x1 + 3342, x2 + 3354) #axxu102 w: 0 #axxu181 w: max(x2 + 18901) #axxu101 w: 0 u181 w: max(x1 + 14667, x2 + 14668) #axxisLNat w: 0 axxu132 w: x1 + 9569 take w: max(x1 + 87, x2 + 80) #axxu204 w: max(x1 + 4225, x2 + 4242) axxsplitAt w: max(x1 + 48, x2 + 44) #axxu221 w: max(x1 + 4311, x2 + 4297, x3 + 4309) #axxu222 w: max(x1 + 4298, x2 + 4296, x3 + 4292) pair w: max(x1 + 21, x2 + 21) axxu91 w: x1 + 3 fst w: x1 + 15 u222 w: max(x1 + 65, x2 + 63, x3 + 63) #axxu151 w: 0 u131 w: max(x1 + 9575, x2 + 59872) natsFrom w: x1 + 14755 u182 w: max(x1 + 14657, x2 + 14655) u212 w: max(x1 + 2, x2 + 17) splitAt w: max(x1 + 48, x2 + 44) u52 w: x1 #axxu11 w: max(x1 + 37420, x2 + 37422, x3 + 25275) axxu201 w: max(x1 + 40, x2 + 48, x3 + 53, x4 + 44) axxu102 w: x1 + 78 u61 w: x1 + 15 axxu31 w: max(x1 + 3350, x2 + 20383, x3 + 3353) axxu203 w: max(x1 + 33, x2 + 48, x3 + 31, x4 + 44) u221 w: max(x1 + 78, x2 + 75, x3 + 76) _ w: 0 u151 w: max(x1 + 37, x2 + 42) axxu22 w: max(x1 + 11, x2 + 10) u202 w: max(x1 + 45, x2 + 48, x3 + 43, x4 + 44) isNatural w: x1 + 8 #axxu121 w: 0 #axxsplitAt w: max(x1 + 4279, x2 + 4274) axxnatsFrom w: x1 + 14755 u41 w: max(x1 + 33195, x2 + 33200) axxisNatural w: x1 + 8 u211 w: max(x1 + 17, x2 + 24) axxu151 w: max(x1 + 37, x2 + 42) axxu181 w: max(x1 + 14667, x2 + 14668) #axxu91 w: 0 #axxu201 w: max(x1 + 4271, x2 + 4279, x3 + 4283, x4 + 4274) tail w: x1 + 25 u51 w: max(x1 + 12, x2 + 10) #axxafterNth w: max(x1 + 37429, x2 + 37423) #mark w: x1 + 4234 #axxtail w: x1 + 4252 0 w: 9502 axxu141 w: max(x1 + 11, x2 + 11) #axxnatsFrom w: x1 + 7943 axxu81 w: x1 + 1 axxisPLNat w: x1 #axxisPLNat w: 0 axxu152 w: x1 + 32 axxu182 w: max(x1 + 14657, x2 + 14655) u11 w: max(x1 + 33187, x2 + 33189, x3 + 26354) axxu204 w: max(x1, x2 + 31) sel w: max(x1 + 59605, x2 + 60799) u32 w: max(x1 + 3342, x2 + 3354) afterNth w: max(x1 + 33196, x2 + 33190) #axxu212 w: max(x1 + 4231, x2 + 4236) #axxu161 w: max(x1, x2 + 7942) nil w: 10 #axxsnd w: x1 + 18881 isLNat w: x1 + 10 #axxu21 w: max(x1 + 4257, x2 + 4254, x3 + 4242) axxu41 w: max(x1 + 33195, x2 + 33200) #axxu142 w: 0 #axxu202 w: max(x2 + 4279, x3 + 4274, x4 + 4274) axxafterNth w: max(x1 + 33196, x2 + 33190) mark w: x1 u12 w: max(x1 + 21023, x2 + 21033, x3 + 21034) #axxu152 w: 0 u203 w: max(x1 + 33, x2 + 48, x3 + 31, x4 + 44) #axxu22 w: max(x1 + 4231, x2 + 4243) axxu71 w: x1 + 7036 u101 w: max(x1 + 83, x2 + 89) #axxu81 w: 0 axxsel w: max(x1 + 59605, x2 + 60799) u201 w: max(x1 + 40, x2 + 48, x3 + 53, x4 + 44) u21 w: max(x1 + 25, x2 + 22, x3 + 21) axxu52 w: x1 #axxu52 w: 0 axxu111 w: x1 + 4808 axxfst w: x1 + 15 axxu61 w: x1 + 15 axxu171 w: max(x1 + 59597, x2 + 59602, x3 + 59603) #_ w: 0 u161 w: max(x1 + 3708, x2 + 14755) #axxu31 w: max(x1 + 7580, x2 + 7584, x3 + 7586) u204 w: max(x1, x2 + 31) #axxsel w: max(x1 + 63838, x2 + 65032) #axxu42 w: 0 axxu51 w: max(x1 + 12, x2 + 10) u171 w: max(x1 + 59597, x2 + 59602, x3 + 59603) axxu221 w: max(x1 + 78, x2 + 75, x3 + 76) head w: x1 + 26400 cons w: max(x1 + 10, x2) u142 w: x1 + 1 axxu222 w: max(x1 + 65, x2 + 63, x3 + 63) snd w: x1 + 14656 #axxu41 w: 0 u22 w: max(x1 + 11, x2 + 10) axxu12 w: max(x1 + 21023, x2 + 21033, x3 + 21034) axxtail w: x1 + 25 u42 w: x1 + 33190 tt w: 4 #axxu191 w: max(x1 + 4233, x2 + 4243) axxu42 w: x1 + 33190 #axxu131 w: 0 u152 w: x1 + 32 axxu161 w: max(x1 + 3708, x2 + 14755) axxu202 w: max(x1 + 45, x2 + 48, x3 + 43, x4 + 44) u71 w: x1 + 7036 axxtake w: max(x1 + 87, x2 + 80) #axxu61 w: 0 #axxfst w: x1 + 4247 #axxu171 w: max(x2 + 48633, x3 + 63831) axxu101 w: max(x1 + 83, x2 + 89) #axxu71 w: 0 #axxisNatural w: 0 axxu212 w: max(x1 + 2, x2 + 17) u31 w: max(x1 + 3350, x2 + 20383, x3 + 3353) u141 w: max(x1 + 11, x2 + 11) axxu21 w: max(x1 + 25, x2 + 22, x3 + 21) #axxu182 w: max(x1 + 18890, x2 + 9382) #axxu203 w: max(x1 + 4264, x2 + 4279, x3 + 4264, x4 + 4274) #axxtake w: max(x1 + 4320, x2 + 4310) #axxhead w: x1 + 7587 axxhead w: x1 + 26400 USABLE RULES: { 1..168 } Removed DPs: #1 #2 #5 #7..11 #15..17 #19..24 #27 #37..40 #42 #43 #45 #47..49 #51 #52 #55..57 #59 #60 #62 #65 #70..72 #75 #77..79 #81..84 #86..89 #92..95 #97 #100..102 #105..110 #113 #114 #116 #121 #123 #126 #127 #130 #132..135 #137 #141..145 #149..159 #163 #167 #169..174 #176 #177 #179..181 #183 #186 #191..194 #196 #198 #201..203 Number of SCCs: 2, DPs: 8 SCC { #14 #25 #33 #200 } POLO(Sum)... succeeded. #axxu172 w: 5 u81 w: x1 + 1 #axxu51 w: 0 u172 w: 0 #axxu32 w: 5 #axxu141 w: 0 axxu211 w: x1 axxu142 w: x1 s w: x1 + 1 axxisLNat w: x1 + 3 u132 w: 1 #axxu12 w: 5 axxu121 w: 8 u91 w: 3 #axxu111 w: 0 u111 w: 1 #axxu211 w: 5 #axxu132 w: 0 axxu131 w: 2 u191 w: 1 isPLNat w: 1 axxsnd w: 1 u102 w: 1 axxu191 w: 1 axxu11 w: x1 + 2 u121 w: x1 + 9 axxu172 w: 1 axxu32 w: x1 + 1 #axxu102 w: 0 #axxu181 w: 3 #axxu101 w: 0 u181 w: 0 #axxisLNat w: 0 axxu132 w: x1 take w: 1 #axxu204 w: 5 axxsplitAt w: 1 #axxu221 w: 5 #axxu222 w: 5 pair w: 1 axxu91 w: x1 + 2 fst w: 1 u222 w: 1 #axxu151 w: 0 u131 w: x1 + 3 natsFrom w: 2 u182 w: 0 u212 w: 1 splitAt w: 1 u52 w: x1 + 3048 #axxu11 w: 5 axxu201 w: x1 axxu102 w: 1 u61 w: 1 axxu31 w: x3 + 1 axxu203 w: x1 u221 w: 0 _ w: 0 u151 w: x1 axxu22 w: x1 + x2 + 1 u202 w: 1 isNatural w: 7 #axxu121 w: 0 #axxsplitAt w: 5 axxnatsFrom w: 2 u41 w: 1 axxisNatural w: x1 + 6 u211 w: 0 axxu151 w: 1 axxu181 w: x1 + x2 + 2 #axxu91 w: 0 #axxu201 w: 5 tail w: 1 u51 w: x2 + 1 #axxafterNth w: 5 #mark w: x1 + 5 #axxtail w: 5 0 w: 2 axxu141 w: 1 #axxnatsFrom w: 5 axxu81 w: 0 axxisPLNat w: 1 #axxisPLNat w: 0 axxu152 w: 1 axxu182 w: x1 u11 w: 2 axxu204 w: 2 sel w: 8547 u32 w: 1 afterNth w: 2 #axxu212 w: 5 #axxu161 w: 5 nil w: 2 #axxsnd w: 3 isLNat w: 3 #axxu21 w: 5 axxu41 w: x1 #axxu142 w: 0 #axxu202 w: 5 axxafterNth w: 2 mark w: 2 u12 w: 0 #axxu152 w: 0 u203 w: 0 #axxu22 w: 5 axxu71 w: 1 u101 w: 6 #axxu81 w: 0 axxsel w: x1 u201 w: 0 u21 w: 0 axxu52 w: 2 #axxu52 w: 0 axxu111 w: 1 axxfst w: 3 axxu61 w: 5 axxu171 w: x1 #_ w: 0 u161 w: 0 #axxu31 w: 5 u204 w: x1 + x2 + 2063 #axxsel w: 5 #axxu42 w: 0 axxu51 w: x1 u171 w: 0 axxu221 w: x1 head w: x1 + 1 cons w: 1 u142 w: 0 axxu222 w: 1 snd w: 1 #axxu41 w: 0 u22 w: 0 axxu12 w: x1 axxtail w: 2 u42 w: 1 tt w: 1 #axxu191 w: 5 axxu42 w: x1 #axxu131 w: 590 u152 w: 1 axxu161 w: 2 axxu202 w: x2 + x3 + 2 u71 w: 1 axxtake w: 6 #axxu61 w: 0 #axxfst w: 5 #axxu171 w: 5 axxu101 w: x2 + 5 #axxu71 w: 0 #axxisNatural w: 0 axxu212 w: 2 u31 w: 1 u141 w: 1 axxu21 w: x1 #axxu182 w: 4 #axxu203 w: 5 #axxtake w: 5 #axxhead w: 3 axxhead w: 1 USABLE RULES: { 2 4 10..13 18 35 36 56 64 68 77..79 86 106 113 114 117 118 120 122..125 130 131 133..137 139..142 148..156 161 162 165..167 } Removed DPs: #14 #25 #33 #200 Number of SCCs: 1, DPs: 4 SCC { #124 #161 #164 #178 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... succeeded. #axxu172 s: [] p: 0 w: 1 u81 s: 1 #axxu51 s: [2,1] p: 0 w: max(x1, x2 + 1) u172 s: [] p: 15 w: max(x2 + 2509, x3 + 6483) #axxu32 s: [2] p: 0 w: x2 + 1 #axxu141 s: [1,2] p: 0 w: max(x1 + 1, x2) axxu211 s: [] p: 14 w: max(x1 + 73, x2 + 57) axxu142 s: [] p: 8 w: x1 + 250 s s: [1] p: 10 w: x1 axxisLNat s: 1 u132 s: [] p: 13 w: 132 #axxu12 s: [] p: 0 w: x1 + x2 + x3 axxu121 s: 1 u91 s: [] p: 9 w: x1 + 1 #axxu111 s: [] p: 0 w: 0 u111 s: 1 #axxu211 s: [1,2] p: 0 w: x1 + x2 #axxu132 s: [] p: 0 w: 0 axxu131 s: [] p: 13 w: x1 + x2 + 15296 u191 s: [] p: 4 w: max(x1 + 1055, x2) isPLNat s: [] p: 11 w: x1 + 263 axxsnd s: [] p: 11 w: x1 + 263 u102 s: [] p: 14 w: 131 axxu191 s: [] p: 4 w: max(x1 + 1055, x2) axxu11 s: [] p: 3 w: max(x1 + 1547, x2 + 1646, x3 + 1683) u121 s: 1 axxu172 s: [] p: 15 w: max(x2 + 2509, x3 + 6483) axxu32 s: [2] p: 10 w: max(x2) #axxu102 s: [] p: 0 w: 0 #axxu181 s: [1,2] p: 0 w: x1 + x2 #axxu101 s: [] p: 0 w: x1 u181 s: [] p: 1 w: max(x2 + 78) #axxisLNat s: [] p: 0 w: 0 axxu132 s: [] p: 13 w: 132 take s: [] p: 2 w: x1 + x2 + 1321 #axxu204 s: [2,1] p: 0 w: x1 + x2 axxsplitAt s: [1] p: 4 w: max(x1 + 625, x2 + 1055) #axxu221 s: [] p: 0 w: x3 #axxu222 s: [2] p: 0 w: x1 + x2 pair s: [] p: 0 w: max(x1 + 27, x2) axxu91 s: [] p: 9 w: x1 + 1 fst s: [1] p: 2 w: x1 + 264 u222 s: [] p: 3 w: max(x2 + 1054, x3 + 1319) #axxu151 s: [] p: 0 w: max(x2) u131 s: [] p: 13 w: x1 + x2 + 15296 natsFrom s: [] p: 10 w: x1 + 9535 u182 s: [2] p: 9 w: max(x2) u212 s: [] p: 10 w: max(x2 + 31) splitAt s: [1] p: 4 w: max(x1 + 625, x2 + 1055) u52 s: [] p: 14 w: 133 #axxu11 s: [3,1,2] p: 0 w: x1 + x2 + x3 axxu201 s: [] p: 3 w: max(x1 + 4, x2 + 625, x3 + 571, x4 + 1055) axxu102 s: [] p: 14 w: 131 u61 s: [] p: 12 w: 160 axxu31 s: [2] p: 10 w: max(x2) axxu203 s: [4] p: 1 w: max(x2 + 625, x3 + 328, x4 + 1055) u221 s: [] p: 2 w: max(x1 + 1320, x2 + 1186, x3 + 1320) _ s: [] p: 0 w: x2 u151 s: [1] p: 10 w: max(x1 + 625) axxu22 s: [] p: 2 w: max(x2 + 26) u202 s: [4] p: 2 w: max(x1 + 450, x2 + 625, x3 + 329, x4 + 1055) isNatural s: 1 #axxu121 s: [] p: 0 w: 0 #axxsplitAt s: 1 axxnatsFrom s: [] p: 10 w: x1 + 9535 u41 s: [] p: 15 w: max(x1 + 1949) axxisNatural s: 1 u211 s: [] p: 14 w: max(x1 + 73, x2 + 57) axxu151 s: [1] p: 10 w: max(x1 + 625) axxu181 s: [] p: 1 w: max(x2 + 78) #axxu91 s: [] p: 0 w: 1 #axxu201 s: [2] p: 6 w: max(x2) tail s: [] p: 15 w: x1 + 2310 u51 s: [] p: 14 w: max(x1 + 12) #axxafterNth s: [1] p: 0 w: x1 + 1 #mark s: [] p: 0 w: 1 #axxtail s: [] p: 0 w: 0 0 s: [] p: 13 w: 377 axxu141 s: [] p: 12 w: max(x1 + 118, x2 + 251) #axxnatsFrom s: [] p: 0 w: 0 axxu81 s: 1 axxisPLNat s: [] p: 11 w: x1 + 263 #axxisPLNat s: [] p: 0 w: 1 axxu152 s: [] p: 14 w: 131 axxu182 s: [2] p: 9 w: max(x2) u11 s: [] p: 3 w: max(x1 + 1547, x2 + 1646, x3 + 1683) axxu204 s: [] p: 1 w: max(x1, x2 + 327) sel s: [] p: 15 w: x1 + x2 + 15296 u32 s: [2] p: 10 w: max(x2) afterNth s: [] p: 3 w: max(x1 + 1950, x2 + 1688) #axxu212 s: [] p: 0 w: x1 #axxu161 s: [] p: 0 w: x1 nil s: [] p: 15 w: 1159 #axxsnd s: [] p: 0 w: 1 isLNat s: 1 #axxu21 s: [3,1,2] p: 0 w: x1 + x2 + x3 + 1 axxu41 s: [] p: 15 w: max(x1 + 1949) #axxu142 s: [] p: 0 w: 0 #axxu202 s: 2 axxafterNth s: [] p: 3 w: max(x1 + 1950, x2 + 1688) mark s: 1 u12 s: [] p: 3 w: max(x1 + 1677, x2 + 1502, x3 + 1679) #axxu152 s: [] p: 0 w: 1 u203 s: [4] p: 1 w: max(x2 + 625, x3 + 328, x4 + 1055) #axxu22 s: [1,2] p: 0 w: x1 + x2 axxu71 s: [] p: 13 w: 3268 u101 s: [] p: 14 w: x1 + 770 #axxu81 s: [] p: 0 w: 0 axxsel s: [] p: 15 w: x1 + x2 + 15296 u201 s: [] p: 3 w: max(x1 + 4, x2 + 625, x3 + 571, x4 + 1055) u21 s: [] p: 1 w: max(x2 + 27) axxu52 s: [] p: 14 w: 133 #axxu52 s: [] p: 0 w: 0 axxu111 s: 1 axxfst s: [1] p: 2 w: x1 + 264 axxu61 s: [] p: 12 w: 160 axxu171 s: [] p: 14 w: max(x1 + 10675, x2 + 6482, x3 + 10675) #_ s: [1] p: 0 w: x1 u161 s: [] p: 8 w: max(x1 + 9411, x2 + 9535) #axxu31 s: [1] p: 0 w: x1 + 1 u204 s: [] p: 1 w: max(x1, x2 + 327) #axxsel s: [1] p: 0 w: x1 #axxu42 s: [] p: 0 w: 0 axxu51 s: [] p: 14 w: max(x1 + 12) u171 s: [] p: 14 w: max(x1 + 10675, x2 + 6482, x3 + 10675) axxu221 s: [] p: 2 w: max(x1 + 1320, x2 + 1186, x3 + 1320) head s: 1 cons s: [] p: 3 w: max(x1 + 72, x2) u142 s: [] p: 8 w: x1 + 250 axxu222 s: [] p: 3 w: max(x2 + 1054, x3 + 1319) snd s: [] p: 11 w: x1 + 263 #axxu41 s: [2,1] p: 0 w: max(x1, x2) u22 s: [] p: 2 w: max(x2 + 26) axxu12 s: [] p: 3 w: max(x1 + 1677, x2 + 1502, x3 + 1679) axxtail s: [] p: 15 w: x1 + 2310 u42 s: [] p: 14 w: 2080 tt s: [] p: 14 w: 131 #axxu191 s: [1] p: 0 w: x1 axxu42 s: [] p: 14 w: 2080 #axxu131 s: [1,2] p: 0 w: x1 + x2 u152 s: [] p: 14 w: 131 axxu161 s: [] p: 8 w: max(x1 + 9411, x2 + 9535) axxu202 s: [4] p: 2 w: max(x1 + 450, x2 + 625, x3 + 329, x4 + 1055) u71 s: [] p: 13 w: 3268 axxtake s: [] p: 2 w: x1 + x2 + 1321 #axxu61 s: [] p: 0 w: 1 #axxfst s: [] p: 0 w: 0 #axxu171 s: [1,3,2] p: 0 w: x1 + x2 + x3 axxu101 s: [] p: 14 w: x1 + 770 #axxu71 s: [] p: 0 w: 1 #axxisNatural s: [] p: 0 w: 0 axxu212 s: [] p: 10 w: max(x2 + 31) u31 s: [2] p: 10 w: max(x2) u141 s: [] p: 12 w: max(x1 + 118, x2 + 251) axxu21 s: [] p: 1 w: max(x2 + 27) #axxu182 s: [] p: 0 w: x2 #axxu203 s: 2 #axxtake s: [2,1] p: 0 w: x1 + x2 #axxhead s: [] p: 0 w: 0 axxhead s: 1 USABLE RULES: { 1..168 } Removed DPs: #161 #164 Number of SCCs: 0, DPs: 0 ... Input TRS: 1: axxu101(tt(),X) -> axxu102(axxisLNat(X)) 2: axxu102(tt()) -> tt() 3: axxu11(tt(),Y,U) -> axxu12(axxisLNat(U),Y,U) 4: axxu111(tt()) -> tt() 5: axxu12(tt(),V,W) -> axxsnd(axxsplitAt(mark(V),mark(W))) 6: axxu121(tt()) -> tt() 7: axxu131(tt(),P) -> axxu132(axxisLNat(P)) 8: axxu132(tt()) -> tt() 9: axxu141(tt(),X1) -> axxu142(axxisLNat(X1)) 10: axxu142(tt()) -> tt() 11: axxu151(tt(),Y1) -> axxu152(axxisLNat(Y1)) 12: axxu152(tt()) -> tt() 13: axxu161(tt(),U1) -> cons(mark(U1),natsFrom(s(U1))) 14: axxu171(tt(),V1,W1) -> axxu172(axxisLNat(W1),V1,W1) 15: axxu172(tt(),P1,X2) -> axxhead(axxafterNth(mark(P1),mark(X2))) 16: axxu181(tt(),Y2) -> axxu182(axxisLNat(Y2),Y2) 17: axxu182(tt(),U2) -> mark(U2) 18: axxu191(tt(),V2) -> pair(nil(),mark(V2)) 19: axxu201(tt(),W2,P2,X3) -> axxu202(axxisNatural(P2),W2,P2,X3) 20: axxu202(tt(),Y3,U3,V3) -> axxu203(axxisLNat(V3),Y3,U3,V3) 21: axxu203(tt(),W3,P3,X4) -> axxu204(axxsplitAt(mark(W3),mark(X4)),P3) 22: axxu204(pair(Y4,U4),V4) -> pair(cons(mark(V4),Y4),mark(U4)) 23: axxu21(tt(),W4,P4) -> axxu22(axxisLNat(P4),W4) 24: axxu211(tt(),X5) -> axxu212(axxisLNat(X5),X5) 25: axxu212(tt(),Y5) -> mark(Y5) 26: axxu22(tt(),U5) -> mark(U5) 27: axxu221(tt(),V5,W5) -> axxu222(axxisLNat(W5),V5,W5) 28: axxu222(tt(),P5,X6) -> axxfst(axxsplitAt(mark(P5),mark(X6))) 29: axxu31(tt(),Y6,U6) -> axxu32(axxisLNat(U6),Y6) 30: axxu32(tt(),V6) -> mark(V6) 31: axxu41(tt(),W6) -> axxu42(axxisLNat(W6)) 32: axxu42(tt()) -> tt() 33: axxu51(tt(),P6) -> axxu52(axxisLNat(P6)) 34: axxu52(tt()) -> tt() 35: axxu61(tt()) -> tt() 36: axxu71(tt()) -> tt() 37: axxu81(tt()) -> tt() 38: axxu91(tt()) -> tt() 39: axxafterNth(X7,Y7) -> axxu11(axxisNatural(X7),X7,Y7) 40: axxfst(pair(U7,V7)) -> axxu21(axxisLNat(U7),U7,V7) 41: axxhead(cons(W7,P7)) -> axxu31(axxisNatural(W7),W7,P7) 42: axxisLNat(nil()) -> tt() 43: axxisLNat(afterNth(X8,Y8)) -> axxu41(axxisNatural(X8),Y8) 44: axxisLNat(cons(U8,V8)) -> axxu51(axxisNatural(U8),V8) 45: axxisLNat(fst(W8)) -> axxu61(axxisPLNat(W8)) 46: axxisLNat(natsFrom(P8)) -> axxu71(axxisNatural(P8)) 47: axxisLNat(snd(X9)) -> axxu81(axxisPLNat(X9)) 48: axxisLNat(tail(Y9)) -> axxu91(axxisLNat(Y9)) 49: axxisLNat(take(U9,V9)) -> axxu101(axxisNatural(U9),V9) 50: axxisNatural(0()) -> tt() 51: axxisNatural(head(W9)) -> axxu111(axxisLNat(W9)) 52: axxisNatural(s(P9)) -> axxu121(axxisNatural(P9)) 53: axxisNatural(sel(X10,Y10)) -> axxu131(axxisNatural(X10),Y10) 54: axxisPLNat(pair(U10,V10)) -> axxu141(axxisLNat(U10),V10) 55: axxisPLNat(splitAt(W10,P10)) -> axxu151(axxisNatural(W10),P10) 56: axxnatsFrom(X11) -> axxu161(axxisNatural(X11),X11) 57: axxsel(Y11,U11) -> axxu171(axxisNatural(Y11),Y11,U11) 58: axxsnd(pair(V11,W11)) -> axxu181(axxisLNat(V11),W11) 59: axxsplitAt(0(),P11) -> axxu191(axxisLNat(P11),P11) 60: axxsplitAt(s(X12),cons(Y12,U12)) -> axxu201(axxisNatural(X12),X12,Y12,U12) 61: axxtail(cons(V12,W12)) -> axxu211(axxisNatural(V12),W12) 62: axxtake(P12,X13) -> axxu221(axxisNatural(P12),P12,X13) 63: mark(u101(Y13,U13)) -> axxu101(mark(Y13),U13) 64: mark(u102(V13)) -> axxu102(mark(V13)) 65: mark(isLNat(W13)) -> axxisLNat(W13) 66: mark(u11(P13,X14,Y14)) -> axxu11(mark(P13),X14,Y14) 67: mark(u12(U14,V14,W14)) -> axxu12(mark(U14),V14,W14) 68: mark(u111(P14)) -> axxu111(mark(P14)) 69: mark(snd(X15)) -> axxsnd(mark(X15)) 70: mark(splitAt(Y15,U15)) -> axxsplitAt(mark(Y15),mark(U15)) 71: mark(u121(V15)) -> axxu121(mark(V15)) 72: mark(u131(W15,P15)) -> axxu131(mark(W15),P15) 73: mark(u132(X16)) -> axxu132(mark(X16)) 74: mark(u141(Y16,U16)) -> axxu141(mark(Y16),U16) 75: mark(u142(V16)) -> axxu142(mark(V16)) 76: mark(u151(W16,P16)) -> axxu151(mark(W16),P16) 77: mark(u152(X17)) -> axxu152(mark(X17)) 78: mark(u161(Y17,U17)) -> axxu161(mark(Y17),U17) 79: mark(natsFrom(V17)) -> axxnatsFrom(mark(V17)) 80: mark(u171(W17,P17,X18)) -> axxu171(mark(W17),P17,X18) 81: mark(u172(Y18,U18,V18)) -> axxu172(mark(Y18),U18,V18) 82: mark(head(W18)) -> axxhead(mark(W18)) 83: mark(afterNth(P18,X19)) -> axxafterNth(mark(P18),mark(X19)) 84: mark(u181(Y19,U19)) -> axxu181(mark(Y19),U19) 85: mark(u182(V19,W19)) -> axxu182(mark(V19),W19) 86: mark(u191(P19,X20)) -> axxu191(mark(P19),X20) 87: mark(u201(Y20,U20,V20,W20)) -> axxu201(mark(Y20),U20,V20,W20) 88: mark(u202(P20,X21,Y21,U21)) -> axxu202(mark(P20),X21,Y21,U21) 89: mark(isNatural(V21)) -> axxisNatural(V21) 90: mark(u203(W21,P21,X22,Y22)) -> axxu203(mark(W21),P21,X22,Y22) 91: mark(u204(U22,V22)) -> axxu204(mark(U22),V22) 92: mark(u21(W22,P22,X23)) -> axxu21(mark(W22),P22,X23) 93: mark(u22(Y23,U23)) -> axxu22(mark(Y23),U23) 94: mark(u211(V23,W23)) -> axxu211(mark(V23),W23) 95: mark(u212(P23,X24)) -> axxu212(mark(P23),X24) 96: mark(u221(Y24,U24,V24)) -> axxu221(mark(Y24),U24,V24) 97: mark(u222(W24,P24,X25)) -> axxu222(mark(W24),P24,X25) 98: mark(fst(Y25)) -> axxfst(mark(Y25)) 99: mark(u31(U25,V25,W25)) -> axxu31(mark(U25),V25,W25) 100: mark(u32(P25,X26)) -> axxu32(mark(P25),X26) 101: mark(u41(Y26,U26)) -> axxu41(mark(Y26),U26) 102: mark(u42(V26)) -> axxu42(mark(V26)) 103: mark(u51(W26,P26)) -> axxu51(mark(W26),P26) 104: mark(u52(X27)) -> axxu52(mark(X27)) 105: mark(u61(Y27)) -> axxu61(mark(Y27)) 106: mark(u71(U27)) -> axxu71(mark(U27)) 107: mark(u81(V27)) -> axxu81(mark(V27)) 108: mark(u91(W27)) -> axxu91(mark(W27)) 109: mark(isPLNat(P27)) -> axxisPLNat(P27) 110: mark(tail(X28)) -> axxtail(mark(X28)) 111: mark(take(Y28,U28)) -> axxtake(mark(Y28),mark(U28)) 112: mark(sel(V28,W28)) -> axxsel(mark(V28),mark(W28)) 113: mark(tt()) -> tt() 114: mark(cons(P28,X29)) -> cons(mark(P28),X29) 115: mark(s(Y29)) -> s(mark(Y29)) 116: mark(pair(U29,V29)) -> pair(mark(U29),mark(V29)) 117: mark(nil()) -> nil() 118: mark(0()) -> 0() 119: axxu101(W29,P29) -> u101(W29,P29) 120: axxu102(X30) -> u102(X30) 121: axxisLNat(Y30) -> isLNat(Y30) 122: axxu11(U30,V30,W30) -> u11(U30,V30,W30) 123: axxu12(P30,X31,Y31) -> u12(P30,X31,Y31) 124: axxu111(U31) -> u111(U31) 125: axxsnd(V31) -> snd(V31) 126: axxsplitAt(W31,P31) -> splitAt(W31,P31) 127: axxu121(X32) -> u121(X32) 128: axxu131(Y32,U32) -> u131(Y32,U32) 129: axxu132(V32) -> u132(V32) 130: axxu141(W32,P32) -> u141(W32,P32) 131: axxu142(X33) -> u142(X33) 132: axxu151(Y33,U33) -> u151(Y33,U33) 133: axxu152(V33) -> u152(V33) 134: axxu161(W33,P33) -> u161(W33,P33) 135: axxnatsFrom(X34) -> natsFrom(X34) 136: axxu171(Y34,U34,V34) -> u171(Y34,U34,V34) 137: axxu172(W34,P34,X35) -> u172(W34,P34,X35) 138: axxhead(Y35) -> head(Y35) 139: axxafterNth(U35,V35) -> afterNth(U35,V35) 140: axxu181(W35,P35) -> u181(W35,P35) 141: axxu182(X36,Y36) -> u182(X36,Y36) 142: axxu191(U36,V36) -> u191(U36,V36) 143: axxu201(W36,P36,X37,Y37) -> u201(W36,P36,X37,Y37) 144: axxu202(U37,V37,W37,P37) -> u202(U37,V37,W37,P37) 145: axxisNatural(X38) -> isNatural(X38) 146: axxu203(Y38,U38,V38,W38) -> u203(Y38,U38,V38,W38) 147: axxu204(P38,X39) -> u204(P38,X39) 148: axxu21(Y39,U39,V39) -> u21(Y39,U39,V39) 149: axxu22(W39,P39) -> u22(W39,P39) 150: axxu211(X40,Y40) -> u211(X40,Y40) 151: axxu212(U40,V40) -> u212(U40,V40) 152: axxu221(W40,P40,X41) -> u221(W40,P40,X41) 153: axxu222(Y41,U41,V41) -> u222(Y41,U41,V41) 154: axxfst(W41) -> fst(W41) 155: axxu31(P41,X42,Y42) -> u31(P41,X42,Y42) 156: axxu32(U42,V42) -> u32(U42,V42) 157: axxu41(W42,P42) -> u41(W42,P42) 158: axxu42(X43) -> u42(X43) 159: axxu51(Y43,U43) -> u51(Y43,U43) 160: axxu52(V43) -> u52(V43) 161: axxu61(W43) -> u61(W43) 162: axxu71(P43) -> u71(P43) 163: axxu81(X44) -> u81(X44) 164: axxu91(Y44) -> u91(Y44) 165: axxisPLNat(U44) -> isPLNat(U44) 166: axxtail(V44) -> tail(V44) 167: axxtake(W44,P44) -> take(W44,P44) 168: axxsel(X45,Y45) -> sel(X45,Y45) 169: _(X1,X2) -> X1 170: _(X1,X2) -> X2 Number of strict rules: 170 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #mark(u191(P19,X20)) -> #axxu191(mark(P19),X20) #2: #mark(u191(P19,X20)) -> #mark(P19) #3: #axxisLNat(afterNth(X8,Y8)) -> #axxu41(axxisNatural(X8),Y8) #4: #axxisLNat(afterNth(X8,Y8)) -> #axxisNatural(X8) #5: #axxu31(tt(),Y6,U6) -> #axxu32(axxisLNat(U6),Y6) #6: #axxu31(tt(),Y6,U6) -> #axxisLNat(U6) #7: #mark(afterNth(P18,X19)) -> #axxafterNth(mark(P18),mark(X19)) #8: #mark(afterNth(P18,X19)) -> #mark(P18) #9: #mark(afterNth(P18,X19)) -> #mark(X19) #10: #mark(u11(P13,X14,Y14)) -> #axxu11(mark(P13),X14,Y14) #11: #mark(u11(P13,X14,Y14)) -> #mark(P13) #12: #axxisLNat(natsFrom(P8)) -> #axxu71(axxisNatural(P8)) #13: #axxisLNat(natsFrom(P8)) -> #axxisNatural(P8) #14: #mark(s(Y29)) -> #mark(Y29) #15: #mark(u212(P23,X24)) -> #axxu212(mark(P23),X24) #16: #mark(u212(P23,X24)) -> #mark(P23) #17: #axxhead(cons(W7,P7)) -> #axxu31(axxisNatural(W7),W7,P7) #18: #axxhead(cons(W7,P7)) -> #axxisNatural(W7) #19: #mark(cons(P28,X29)) -> #mark(P28) #20: #mark(u31(U25,V25,W25)) -> #axxu31(mark(U25),V25,W25) #21: #mark(u31(U25,V25,W25)) -> #mark(U25) #22: #mark(u222(W24,P24,X25)) -> #axxu222(mark(W24),P24,X25) #23: #mark(u222(W24,P24,X25)) -> #mark(W24) #24: #mark(u204(U22,V22)) -> #axxu204(mark(U22),V22) #25: #mark(u204(U22,V22)) -> #mark(U22) #26: #mark(u132(X16)) -> #axxu132(mark(X16)) #27: #mark(u132(X16)) -> #mark(X16) #28: #axxisLNat(snd(X9)) -> #axxu81(axxisPLNat(X9)) #29: #axxisLNat(snd(X9)) -> #axxisPLNat(X9) #30: #axxisNatural(sel(X10,Y10)) -> #axxu131(axxisNatural(X10),Y10) #31: #axxisNatural(sel(X10,Y10)) -> #axxisNatural(X10) #32: #mark(u121(V15)) -> #axxu121(mark(V15)) #33: #mark(u121(V15)) -> #mark(V15) #34: #axxisLNat(tail(Y9)) -> #axxu91(axxisLNat(Y9)) #35: #axxisLNat(tail(Y9)) -> #axxisLNat(Y9) #36: #mark(u142(V16)) -> #axxu142(mark(V16)) #37: #mark(u142(V16)) -> #mark(V16) #38: #mark(sel(V28,W28)) -> #axxsel(mark(V28),mark(W28)) #39: #mark(sel(V28,W28)) -> #mark(V28) #40: #mark(sel(V28,W28)) -> #mark(W28) #41: #mark(u141(Y16,U16)) -> #axxu141(mark(Y16),U16) #42: #mark(u141(Y16,U16)) -> #mark(Y16) #43: #axxsnd(pair(V11,W11)) -> #axxu181(axxisLNat(V11),W11) #44: #axxsnd(pair(V11,W11)) -> #axxisLNat(V11) #45: #axxtail(cons(V12,W12)) -> #axxu211(axxisNatural(V12),W12) #46: #axxtail(cons(V12,W12)) -> #axxisNatural(V12) #47: #mark(pair(U29,V29)) -> #mark(U29) #48: #mark(pair(U29,V29)) -> #mark(V29) #49: #axxsplitAt(0(),P11) -> #axxu191(axxisLNat(P11),P11) #50: #axxsplitAt(0(),P11) -> #axxisLNat(P11) #51: #mark(tail(X28)) -> #axxtail(mark(X28)) #52: #mark(tail(X28)) -> #mark(X28) #53: #axxisPLNat(splitAt(W10,P10)) -> #axxu151(axxisNatural(W10),P10) #54: #axxisPLNat(splitAt(W10,P10)) -> #axxisNatural(W10) #55: #mark(u12(U14,V14,W14)) -> #axxu12(mark(U14),V14,W14) #56: #mark(u12(U14,V14,W14)) -> #mark(U14) #57: #axxfst(pair(U7,V7)) -> #axxu21(axxisLNat(U7),U7,V7) #58: #axxfst(pair(U7,V7)) -> #axxisLNat(U7) #59: #mark(u203(W21,P21,X22,Y22)) -> #axxu203(mark(W21),P21,X22,Y22) #60: #mark(u203(W21,P21,X22,Y22)) -> #mark(W21) #61: #mark(u81(V27)) -> #axxu81(mark(V27)) #62: #mark(u81(V27)) -> #mark(V27) #63: #axxisNatural(head(W9)) -> #axxu111(axxisLNat(W9)) #64: #axxisNatural(head(W9)) -> #axxisLNat(W9) #65: #axxu161(tt(),U1) -> #mark(U1) #66: #axxu141(tt(),X1) -> #axxu142(axxisLNat(X1)) #67: #axxu141(tt(),X1) -> #axxisLNat(X1) #68: #axxu151(tt(),Y1) -> #axxu152(axxisLNat(Y1)) #69: #axxu151(tt(),Y1) -> #axxisLNat(Y1) #70: #mark(fst(Y25)) -> #axxfst(mark(Y25)) #71: #mark(fst(Y25)) -> #mark(Y25) #72: #axxsel(Y11,U11) -> #axxu171(axxisNatural(Y11),Y11,U11) #73: #axxsel(Y11,U11) -> #axxisNatural(Y11) #74: #mark(u151(W16,P16)) -> #axxu151(mark(W16),P16) #75: #mark(u151(W16,P16)) -> #mark(W16) #76: #mark(isPLNat(P27)) -> #axxisPLNat(P27) #77: #mark(u211(V23,W23)) -> #axxu211(mark(V23),W23) #78: #mark(u211(V23,W23)) -> #mark(V23) #79: #axxu211(tt(),X5) -> #axxu212(axxisLNat(X5),X5) #80: #axxu211(tt(),X5) -> #axxisLNat(X5) #81: #mark(splitAt(Y15,U15)) -> #axxsplitAt(mark(Y15),mark(U15)) #82: #mark(splitAt(Y15,U15)) -> #mark(Y15) #83: #mark(splitAt(Y15,U15)) -> #mark(U15) #84: #axxu21(tt(),W4,P4) -> #axxu22(axxisLNat(P4),W4) #85: #axxu21(tt(),W4,P4) -> #axxisLNat(P4) #86: #mark(u172(Y18,U18,V18)) -> #axxu172(mark(Y18),U18,V18) #87: #mark(u172(Y18,U18,V18)) -> #mark(Y18) #88: #mark(u161(Y17,U17)) -> #axxu161(mark(Y17),U17) #89: #mark(u161(Y17,U17)) -> #mark(Y17) #90: #axxisLNat(fst(W8)) -> #axxu61(axxisPLNat(W8)) #91: #axxisLNat(fst(W8)) -> #axxisPLNat(W8) #92: #mark(u221(Y24,U24,V24)) -> #axxu221(mark(Y24),U24,V24) #93: #mark(u221(Y24,U24,V24)) -> #mark(Y24) #94: #mark(snd(X15)) -> #axxsnd(mark(X15)) #95: #mark(snd(X15)) -> #mark(X15) #96: #mark(u41(Y26,U26)) -> #axxu41(mark(Y26),U26) #97: #mark(u41(Y26,U26)) -> #mark(Y26) #98: #axxu41(tt(),W6) -> #axxu42(axxisLNat(W6)) #99: #axxu41(tt(),W6) -> #axxisLNat(W6) #100: #mark(natsFrom(V17)) -> #axxnatsFrom(mark(V17)) #101: #mark(natsFrom(V17)) -> #mark(V17) #102: #axxnatsFrom(X11) -> #axxu161(axxisNatural(X11),X11) #103: #axxnatsFrom(X11) -> #axxisNatural(X11) #104: #mark(isNatural(V21)) -> #axxisNatural(V21) #105: #mark(head(W18)) -> #axxhead(mark(W18)) #106: #mark(head(W18)) -> #mark(W18) #107: #mark(take(Y28,U28)) -> #axxtake(mark(Y28),mark(U28)) #108: #mark(take(Y28,U28)) -> #mark(Y28) #109: #mark(take(Y28,U28)) -> #mark(U28) #110: #axxu171(tt(),V1,W1) -> #axxu172(axxisLNat(W1),V1,W1) #111: #axxu171(tt(),V1,W1) -> #axxisLNat(W1) #112: #mark(u71(U27)) -> #axxu71(mark(U27)) #113: #mark(u71(U27)) -> #mark(U27) #114: #axxtake(P12,X13) -> #axxu221(axxisNatural(P12),P12,X13) #115: #axxtake(P12,X13) -> #axxisNatural(P12) #116: #axxu32(tt(),V6) -> #mark(V6) #117: #axxisNatural(s(P9)) -> #axxu121(axxisNatural(P9)) #118: #axxisNatural(s(P9)) -> #axxisNatural(P9) #119: #axxisLNat(take(U9,V9)) -> #axxu101(axxisNatural(U9),V9) #120: #axxisLNat(take(U9,V9)) -> #axxisNatural(U9) #121: #axxu212(tt(),Y5) -> #mark(Y5) #122: #mark(u91(W27)) -> #axxu91(mark(W27)) #123: #mark(u91(W27)) -> #mark(W27) #124: #axxu202(tt(),Y3,U3,V3) -> #axxu203(axxisLNat(V3),Y3,U3,V3) #125: #axxu202(tt(),Y3,U3,V3) -> #axxisLNat(V3) #126: #mark(u202(P20,X21,Y21,U21)) -> #axxu202(mark(P20),X21,Y21,U21) #127: #mark(u202(P20,X21,Y21,U21)) -> #mark(P20) #128: #axxu131(tt(),P) -> #axxu132(axxisLNat(P)) #129: #axxu131(tt(),P) -> #axxisLNat(P) #130: #axxafterNth(X7,Y7) -> #axxu11(axxisNatural(X7),X7,Y7) #131: #axxafterNth(X7,Y7) -> #axxisNatural(X7) #132: #mark(u21(W22,P22,X23)) -> #axxu21(mark(W22),P22,X23) #133: #mark(u21(W22,P22,X23)) -> #mark(W22) #134: #mark(u22(Y23,U23)) -> #axxu22(mark(Y23),U23) #135: #mark(u22(Y23,U23)) -> #mark(Y23) #136: #mark(u102(V13)) -> #axxu102(mark(V13)) #137: #mark(u102(V13)) -> #mark(V13) #138: #axxu51(tt(),P6) -> #axxu52(axxisLNat(P6)) #139: #axxu51(tt(),P6) -> #axxisLNat(P6) #140: #mark(u131(W15,P15)) -> #axxu131(mark(W15),P15) #141: #mark(u131(W15,P15)) -> #mark(W15) #142: #axxu12(tt(),V,W) -> #axxsnd(axxsplitAt(mark(V),mark(W))) #143: #axxu12(tt(),V,W) -> #axxsplitAt(mark(V),mark(W)) #144: #axxu12(tt(),V,W) -> #mark(V) #145: #axxu12(tt(),V,W) -> #mark(W) #146: #axxisLNat(cons(U8,V8)) -> #axxu51(axxisNatural(U8),V8) #147: #axxisLNat(cons(U8,V8)) -> #axxisNatural(U8) #148: #mark(isLNat(W13)) -> #axxisLNat(W13) #149: #axxu222(tt(),P5,X6) -> #axxfst(axxsplitAt(mark(P5),mark(X6))) #150: #axxu222(tt(),P5,X6) -> #axxsplitAt(mark(P5),mark(X6)) #151: #axxu222(tt(),P5,X6) -> #mark(P5) #152: #axxu222(tt(),P5,X6) -> #mark(X6) #153: #axxu204(pair(Y4,U4),V4) -> #mark(V4) #154: #axxu204(pair(Y4,U4),V4) -> #mark(U4) #155: #mark(u181(Y19,U19)) -> #axxu181(mark(Y19),U19) #156: #mark(u181(Y19,U19)) -> #mark(Y19) #157: #mark(u201(Y20,U20,V20,W20)) -> #axxu201(mark(Y20),U20,V20,W20) #158: #mark(u201(Y20,U20,V20,W20)) -> #mark(Y20) #159: #axxu221(tt(),V5,W5) -> #axxu222(axxisLNat(W5),V5,W5) #160: #axxu221(tt(),V5,W5) -> #axxisLNat(W5) #161: #axxsplitAt(s(X12),cons(Y12,U12)) -> #axxu201(axxisNatural(X12),X12,Y12,U12) #162: #axxsplitAt(s(X12),cons(Y12,U12)) -> #axxisNatural(X12) #163: #axxu182(tt(),U2) -> #mark(U2) #164: #axxu201(tt(),W2,P2,X3) -> #axxu202(axxisNatural(P2),W2,P2,X3) #165: #axxu201(tt(),W2,P2,X3) -> #axxisNatural(P2) #166: #mark(u101(Y13,U13)) -> #axxu101(mark(Y13),U13) #167: #mark(u101(Y13,U13)) -> #mark(Y13) #168: #mark(u61(Y27)) -> #axxu61(mark(Y27)) #169: #mark(u61(Y27)) -> #mark(Y27) #170: #axxu22(tt(),U5) -> #mark(U5) #171: #mark(u32(P25,X26)) -> #axxu32(mark(P25),X26) #172: #mark(u32(P25,X26)) -> #mark(P25) #173: #mark(u182(V19,W19)) -> #axxu182(mark(V19),W19) #174: #mark(u182(V19,W19)) -> #mark(V19) #175: #mark(u111(P14)) -> #axxu111(mark(P14)) #176: #mark(u111(P14)) -> #mark(P14) #177: #axxu203(tt(),W3,P3,X4) -> #axxu204(axxsplitAt(mark(W3),mark(X4)),P3) #178: #axxu203(tt(),W3,P3,X4) -> #axxsplitAt(mark(W3),mark(X4)) #179: #axxu203(tt(),W3,P3,X4) -> #mark(W3) #180: #axxu203(tt(),W3,P3,X4) -> #mark(X4) #181: #axxu181(tt(),Y2) -> #axxu182(axxisLNat(Y2),Y2) #182: #axxu181(tt(),Y2) -> #axxisLNat(Y2) #183: #axxu11(tt(),Y,U) -> #axxu12(axxisLNat(U),Y,U) #184: #axxu11(tt(),Y,U) -> #axxisLNat(U) #185: #mark(u152(X17)) -> #axxu152(mark(X17)) #186: #mark(u152(X17)) -> #mark(X17) #187: #axxu101(tt(),X) -> #axxu102(axxisLNat(X)) #188: #axxu101(tt(),X) -> #axxisLNat(X) #189: #axxisPLNat(pair(U10,V10)) -> #axxu141(axxisLNat(U10),V10) #190: #axxisPLNat(pair(U10,V10)) -> #axxisLNat(U10) #191: #axxu172(tt(),P1,X2) -> #axxhead(axxafterNth(mark(P1),mark(X2))) #192: #axxu172(tt(),P1,X2) -> #axxafterNth(mark(P1),mark(X2)) #193: #axxu172(tt(),P1,X2) -> #mark(P1) #194: #axxu172(tt(),P1,X2) -> #mark(X2) #195: #mark(u42(V26)) -> #axxu42(mark(V26)) #196: #mark(u42(V26)) -> #mark(V26) #197: #mark(u51(W26,P26)) -> #axxu51(mark(W26),P26) #198: #mark(u51(W26,P26)) -> #mark(W26) #199: #mark(u52(X27)) -> #axxu52(mark(X27)) #200: #mark(u52(X27)) -> #mark(X27) #201: #mark(u171(W17,P17,X18)) -> #axxu171(mark(W17),P17,X18) #202: #mark(u171(W17,P17,X18)) -> #mark(W17) #203: #axxu191(tt(),V2) -> #mark(V2) Number of SCCs: 2, DPs: 151 SCC { #3 #4 #13 #29..31 #35 #53 #54 #64 #67 #69 #91 #99 #118..120 #129 #139 #146 #147 #188..190 } POLO(Sum)... succeeded. #axxu172 w: 0 u81 w: 0 #axxu51 w: x1 + x2 u172 w: 0 #axxu32 w: 0 #axxu141 w: x1 + x2 axxu211 w: 0 axxu142 w: x1 s w: x1 + 1 axxisLNat w: x1 + 1 u132 w: 0 #axxu12 w: 0 axxu121 w: x1 u91 w: 0 #axxu111 w: 0 u111 w: 0 #axxu211 w: 0 #axxu132 w: 0 axxu131 w: x1 + x2 u191 w: 0 isPLNat w: 0 axxsnd w: 0 u102 w: 0 axxu191 w: 0 axxu11 w: 0 u121 w: 0 axxu172 w: 0 axxu32 w: 0 #axxu102 w: 0 #axxu181 w: 0 #axxu101 w: x1 + x2 u181 w: 0 #axxisLNat w: x1 axxu132 w: x1 take w: x1 + x2 + 2 #axxu204 w: 0 axxsplitAt w: 0 #axxu221 w: 0 #axxu222 w: 0 pair w: x1 + x2 + 2277 axxu91 w: x1 fst w: x1 + 8880 u222 w: 0 #axxu151 w: x1 + x2 u131 w: 0 natsFrom w: x1 + 9726 u182 w: 0 u212 w: 0 splitAt w: x1 + x2 + 2 u52 w: 0 #axxu11 w: 0 axxu201 w: 0 axxu102 w: x1 u61 w: 0 axxu31 w: 0 axxu203 w: 0 u221 w: 0 _ w: 0 u151 w: 0 axxu22 w: 0 u202 w: 0 isNatural w: 0 #axxu121 w: 0 #axxsplitAt w: 0 axxnatsFrom w: 0 u41 w: 0 axxisNatural w: x1 + 1 u211 w: 0 axxu151 w: x1 + x2 axxu181 w: 0 #axxu91 w: 0 #axxu201 w: 0 tail w: x1 + 8457 u51 w: 0 #axxafterNth w: 0 #mark w: 0 #axxtail w: 0 0 w: 1143 axxu141 w: x1 + x2 #axxnatsFrom w: 0 axxu81 w: x1 axxisPLNat w: x1 + 2 #axxisPLNat w: x1 axxu152 w: x1 axxu182 w: 0 u11 w: 0 axxu204 w: 0 sel w: x1 + x2 + 592 u32 w: 0 afterNth w: x1 + x2 + 2448 #axxu212 w: 0 #axxu161 w: 0 nil w: 1889 #axxsnd w: 0 isLNat w: 0 #axxu21 w: 0 axxu41 w: x1 + x2 #axxu142 w: 0 #axxu202 w: 0 axxafterNth w: 0 mark w: 0 u12 w: 0 #axxu152 w: 0 u203 w: 0 #axxu22 w: 0 axxu71 w: x1 u101 w: 0 #axxu81 w: 0 axxsel w: 0 u201 w: 0 u21 w: 0 axxu52 w: x1 #axxu52 w: 0 axxu111 w: x1 axxfst w: 0 axxu61 w: x1 axxu171 w: 0 #_ w: 0 u161 w: 0 #axxu31 w: 0 u204 w: 0 #axxsel w: 0 #axxu42 w: 0 axxu51 w: x1 + x2 u171 w: 0 axxu221 w: 0 head w: x1 + 1324 cons w: x1 + x2 + 2242 u142 w: 0 axxu222 w: 0 snd w: x1 + 1 #axxu41 w: x1 + x2 u22 w: 0 axxu12 w: 0 axxtail w: 0 u42 w: 0 tt w: 1 #axxu191 w: 0 axxu42 w: x1 #axxu131 w: x1 + x2 + 590 u152 w: 0 axxu161 w: 0 axxu202 w: 0 u71 w: 0 axxtake w: 0 #axxu61 w: 0 #axxfst w: 0 #axxu171 w: 0 axxu101 w: x1 + x2 #axxu71 w: 0 #axxisNatural w: x1 axxu212 w: 0 u31 w: 0 u141 w: 0 axxu21 w: 0 #axxu182 w: 0 #axxu203 w: 0 #axxtake w: 0 #axxhead w: 0 axxhead w: 0 USABLE RULES: { 1 2 4 6..12 31..38 42..55 119..121 124 127..133 145 157..165 } Removed DPs: #3 #4 #13 #29..31 #35 #53 #54 #64 #67 #69 #91 #99 #118..120 #129 #139 #146 #147 #188..190 Number of SCCs: 1, DPs: 127 SCC { #1 #2 #5 #7..11 #14..17 #19..25 #27 #33 #37..40 #42 #43 #45 #47..49 #51 #52 #55..57 #59 #60 #62 #65 #70..72 #75 #77..79 #81..84 #86..89 #92..95 #97 #100..102 #105..110 #113 #114 #116 #121 #123 #124 #126 #127 #130 #132..135 #137 #141..145 #149..159 #161 #163 #164 #167 #169..174 #176..181 #183 #186 #191..194 #196 #198 #200..203 } POLO(Sum)... POLO(max)... succeeded. #axxu172 w: max(x2 + 40784, x3 + 48633) u81 w: x1 + 1 #axxu51 w: 0 u172 w: max(x1 + 59591, x2 + 59602, x3 + 59590) #axxu32 w: max(x1 + 7575, x2 + 7576) #axxu141 w: 0 axxu211 w: max(x1 + 17, x2 + 24) axxu142 w: x1 + 1 s w: x1 axxisLNat w: x1 + 10 u132 w: x1 + 9569 #axxu12 w: max(x2 + 25257, x3 + 25267) axxu121 w: x1 u91 w: x1 + 3 #axxu111 w: 0 u111 w: x1 + 4808 #axxu211 w: max(x2 + 4251) #axxu132 w: 0 axxu131 w: max(x1 + 9575, x2 + 59872) u191 w: max(x1 + 34, x2 + 23) isPLNat w: x1 axxsnd w: x1 + 14656 u102 w: x1 + 78 axxu191 w: max(x1 + 34, x2 + 23) axxu11 w: max(x1 + 33187, x2 + 33189, x3 + 26354) u121 w: x1 axxu172 w: max(x1 + 59591, x2 + 59602, x3 + 59590) axxu32 w: max(x1 + 3342, x2 + 3354) #axxu102 w: 0 #axxu181 w: max(x2 + 18901) #axxu101 w: 0 u181 w: max(x1 + 14667, x2 + 14668) #axxisLNat w: 0 axxu132 w: x1 + 9569 take w: max(x1 + 87, x2 + 80) #axxu204 w: max(x1 + 4225, x2 + 4242) axxsplitAt w: max(x1 + 48, x2 + 44) #axxu221 w: max(x1 + 4311, x2 + 4297, x3 + 4309) #axxu222 w: max(x1 + 4298, x2 + 4296, x3 + 4292) pair w: max(x1 + 21, x2 + 21) axxu91 w: x1 + 3 fst w: x1 + 15 u222 w: max(x1 + 65, x2 + 63, x3 + 63) #axxu151 w: 0 u131 w: max(x1 + 9575, x2 + 59872) natsFrom w: x1 + 14755 u182 w: max(x1 + 14657, x2 + 14655) u212 w: max(x1 + 2, x2 + 17) splitAt w: max(x1 + 48, x2 + 44) u52 w: x1 #axxu11 w: max(x1 + 37420, x2 + 37422, x3 + 25275) axxu201 w: max(x1 + 40, x2 + 48, x3 + 53, x4 + 44) axxu102 w: x1 + 78 u61 w: x1 + 15 axxu31 w: max(x1 + 3350, x2 + 20383, x3 + 3353) axxu203 w: max(x1 + 33, x2 + 48, x3 + 31, x4 + 44) u221 w: max(x1 + 78, x2 + 75, x3 + 76) _ w: 0 u151 w: max(x1 + 37, x2 + 42) axxu22 w: max(x1 + 11, x2 + 10) u202 w: max(x1 + 45, x2 + 48, x3 + 43, x4 + 44) isNatural w: x1 + 8 #axxu121 w: 0 #axxsplitAt w: max(x1 + 4279, x2 + 4274) axxnatsFrom w: x1 + 14755 u41 w: max(x1 + 33195, x2 + 33200) axxisNatural w: x1 + 8 u211 w: max(x1 + 17, x2 + 24) axxu151 w: max(x1 + 37, x2 + 42) axxu181 w: max(x1 + 14667, x2 + 14668) #axxu91 w: 0 #axxu201 w: max(x1 + 4271, x2 + 4279, x3 + 4283, x4 + 4274) tail w: x1 + 25 u51 w: max(x1 + 12, x2 + 10) #axxafterNth w: max(x1 + 37429, x2 + 37423) #mark w: x1 + 4234 #axxtail w: x1 + 4252 0 w: 9502 axxu141 w: max(x1 + 11, x2 + 11) #axxnatsFrom w: x1 + 7943 axxu81 w: x1 + 1 axxisPLNat w: x1 #axxisPLNat w: 0 axxu152 w: x1 + 32 axxu182 w: max(x1 + 14657, x2 + 14655) u11 w: max(x1 + 33187, x2 + 33189, x3 + 26354) axxu204 w: max(x1, x2 + 31) sel w: max(x1 + 59605, x2 + 60799) u32 w: max(x1 + 3342, x2 + 3354) afterNth w: max(x1 + 33196, x2 + 33190) #axxu212 w: max(x1 + 4231, x2 + 4236) #axxu161 w: max(x1, x2 + 7942) nil w: 10 #axxsnd w: x1 + 18881 isLNat w: x1 + 10 #axxu21 w: max(x1 + 4257, x2 + 4254, x3 + 4242) axxu41 w: max(x1 + 33195, x2 + 33200) #axxu142 w: 0 #axxu202 w: max(x2 + 4279, x3 + 4274, x4 + 4274) axxafterNth w: max(x1 + 33196, x2 + 33190) mark w: x1 u12 w: max(x1 + 21023, x2 + 21033, x3 + 21034) #axxu152 w: 0 u203 w: max(x1 + 33, x2 + 48, x3 + 31, x4 + 44) #axxu22 w: max(x1 + 4231, x2 + 4243) axxu71 w: x1 + 7036 u101 w: max(x1 + 83, x2 + 89) #axxu81 w: 0 axxsel w: max(x1 + 59605, x2 + 60799) u201 w: max(x1 + 40, x2 + 48, x3 + 53, x4 + 44) u21 w: max(x1 + 25, x2 + 22, x3 + 21) axxu52 w: x1 #axxu52 w: 0 axxu111 w: x1 + 4808 axxfst w: x1 + 15 axxu61 w: x1 + 15 axxu171 w: max(x1 + 59597, x2 + 59602, x3 + 59603) #_ w: 0 u161 w: max(x1 + 3708, x2 + 14755) #axxu31 w: max(x1 + 7580, x2 + 7584, x3 + 7586) u204 w: max(x1, x2 + 31) #axxsel w: max(x1 + 63838, x2 + 65032) #axxu42 w: 0 axxu51 w: max(x1 + 12, x2 + 10) u171 w: max(x1 + 59597, x2 + 59602, x3 + 59603) axxu221 w: max(x1 + 78, x2 + 75, x3 + 76) head w: x1 + 26400 cons w: max(x1 + 10, x2) u142 w: x1 + 1 axxu222 w: max(x1 + 65, x2 + 63, x3 + 63) snd w: x1 + 14656 #axxu41 w: 0 u22 w: max(x1 + 11, x2 + 10) axxu12 w: max(x1 + 21023, x2 + 21033, x3 + 21034) axxtail w: x1 + 25 u42 w: x1 + 33190 tt w: 4 #axxu191 w: max(x1 + 4233, x2 + 4243) axxu42 w: x1 + 33190 #axxu131 w: 0 u152 w: x1 + 32 axxu161 w: max(x1 + 3708, x2 + 14755) axxu202 w: max(x1 + 45, x2 + 48, x3 + 43, x4 + 44) u71 w: x1 + 7036 axxtake w: max(x1 + 87, x2 + 80) #axxu61 w: 0 #axxfst w: x1 + 4247 #axxu171 w: max(x2 + 48633, x3 + 63831) axxu101 w: max(x1 + 83, x2 + 89) #axxu71 w: 0 #axxisNatural w: 0 axxu212 w: max(x1 + 2, x2 + 17) u31 w: max(x1 + 3350, x2 + 20383, x3 + 3353) u141 w: max(x1 + 11, x2 + 11) axxu21 w: max(x1 + 25, x2 + 22, x3 + 21) #axxu182 w: max(x1 + 18890, x2 + 9382) #axxu203 w: max(x1 + 4264, x2 + 4279, x3 + 4264, x4 + 4274) #axxtake w: max(x1 + 4320, x2 + 4310) #axxhead w: x1 + 7587 axxhead w: x1 + 26400 USABLE RULES: { 1..168 } Removed DPs: #1 #2 #5 #7..11 #15..17 #19..24 #27 #37..40 #42 #43 #45 #47..49 #51 #52 #55..57 #59 #60 #62 #65 #70..72 #75 #77..79 #81..84 #86..89 #92..95 #97 #100..102 #105..110 #113 #114 #116 #121 #123 #126 #127 #130 #132..135 #137 #141..145 #149..159 #163 #167 #169..174 #176 #177 #179..181 #183 #186 #191..194 #196 #198 #201..203 Number of SCCs: 2, DPs: 8 SCC { #14 #25 #33 #200 } POLO(Sum)... succeeded. #axxu172 w: 5 u81 w: x1 + 1 #axxu51 w: 0 u172 w: 0 #axxu32 w: 5 #axxu141 w: 0 axxu211 w: x1 axxu142 w: x1 s w: x1 + 1 axxisLNat w: x1 + 3 u132 w: 1 #axxu12 w: 5 axxu121 w: 8 u91 w: 3 #axxu111 w: 0 u111 w: 1 #axxu211 w: 5 #axxu132 w: 0 axxu131 w: 2 u191 w: 1 isPLNat w: 1 axxsnd w: 1 u102 w: 1 axxu191 w: 1 axxu11 w: x1 + 2 u121 w: x1 + 9 axxu172 w: 1 axxu32 w: x1 + 1 #axxu102 w: 0 #axxu181 w: 3 #axxu101 w: 0 u181 w: 0 #axxisLNat w: 0 axxu132 w: x1 take w: 1 #axxu204 w: 5 axxsplitAt w: 1 #axxu221 w: 5 #axxu222 w: 5 pair w: 1 axxu91 w: x1 + 2 fst w: 1 u222 w: 1 #axxu151 w: 0 u131 w: x1 + 3 natsFrom w: 2 u182 w: 0 u212 w: 1 splitAt w: 1 u52 w: x1 + 3048 #axxu11 w: 5 axxu201 w: x1 axxu102 w: 1 u61 w: 1 axxu31 w: x3 + 1 axxu203 w: x1 u221 w: 0 _ w: 0 u151 w: x1 axxu22 w: x1 + x2 + 1 u202 w: 1 isNatural w: 7 #axxu121 w: 0 #axxsplitAt w: 5 axxnatsFrom w: 2 u41 w: 1 axxisNatural w: x1 + 6 u211 w: 0 axxu151 w: 1 axxu181 w: x1 + x2 + 2 #axxu91 w: 0 #axxu201 w: 5 tail w: 1 u51 w: x2 + 1 #axxafterNth w: 5 #mark w: x1 + 5 #axxtail w: 5 0 w: 2 axxu141 w: 1 #axxnatsFrom w: 5 axxu81 w: 0 axxisPLNat w: 1 #axxisPLNat w: 0 axxu152 w: 1 axxu182 w: x1 u11 w: 2 axxu204 w: 2 sel w: 8547 u32 w: 1 afterNth w: 2 #axxu212 w: 5 #axxu161 w: 5 nil w: 2 #axxsnd w: 3 isLNat w: 3 #axxu21 w: 5 axxu41 w: x1 #axxu142 w: 0 #axxu202 w: 5 axxafterNth w: 2 mark w: 2 u12 w: 0 #axxu152 w: 0 u203 w: 0 #axxu22 w: 5 axxu71 w: 1 u101 w: 6 #axxu81 w: 0 axxsel w: x1 u201 w: 0 u21 w: 0 axxu52 w: 2 #axxu52 w: 0 axxu111 w: 1 axxfst w: 3 axxu61 w: 5 axxu171 w: x1 #_ w: 0 u161 w: 0 #axxu31 w: 5 u204 w: x1 + x2 + 2063 #axxsel w: 5 #axxu42 w: 0 axxu51 w: x1 u171 w: 0 axxu221 w: x1 head w: x1 + 1 cons w: 1 u142 w: 0 axxu222 w: 1 snd w: 1 #axxu41 w: 0 u22 w: 0 axxu12 w: x1 axxtail w: 2 u42 w: 1 tt w: 1 #axxu191 w: 5 axxu42 w: x1 #axxu131 w: 590 u152 w: 1 axxu161 w: 2 axxu202 w: x2 + x3 + 2 u71 w: 1 axxtake w: 6 #axxu61 w: 0 #axxfst w: 5 #axxu171 w: 5 axxu101 w: x2 + 5 #axxu71 w: 0 #axxisNatural w: 0 axxu212 w: 2 u31 w: 1 u141 w: 1 axxu21 w: x1 #axxu182 w: 4 #axxu203 w: 5 #axxtake w: 5 #axxhead w: 3 axxhead w: 1 USABLE RULES: { 2 4 10..13 18 35 36 56 64 68 77..79 86 106 113 114 117 118 120 122..125 130 131 133..137 139..142 148..156 161 162 165..167 } Removed DPs: #14 #25 #33 #200 Number of SCCs: 1, DPs: 4 SCC { #124 #161 #164 #178 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... succeeded. #axxu172 s: [] p: 0 w: 1 u81 s: 1 #axxu51 s: [2,1] p: 0 w: max(x1, x2 + 1) u172 s: [] p: 15 w: max(x2 + 2509, x3 + 6483) #axxu32 s: [2] p: 0 w: x2 + 1 #axxu141 s: [1,2] p: 0 w: max(x1 + 1, x2) axxu211 s: [] p: 14 w: max(x1 + 73, x2 + 57) axxu142 s: [] p: 8 w: x1 + 250 s s: [1] p: 10 w: x1 axxisLNat s: 1 u132 s: [] p: 13 w: 132 #axxu12 s: [] p: 0 w: x1 + x2 + x3 axxu121 s: 1 u91 s: [] p: 9 w: x1 + 1 #axxu111 s: [] p: 0 w: 0 u111 s: 1 #axxu211 s: [1,2] p: 0 w: x1 + x2 #axxu132 s: [] p: 0 w: 0 axxu131 s: [] p: 13 w: x1 + x2 + 15296 u191 s: [] p: 4 w: max(x1 + 1055, x2) isPLNat s: [] p: 11 w: x1 + 263 axxsnd s: [] p: 11 w: x1 + 263 u102 s: [] p: 14 w: 131 axxu191 s: [] p: 4 w: max(x1 + 1055, x2) axxu11 s: [] p: 3 w: max(x1 + 1547, x2 + 1646, x3 + 1683) u121 s: 1 axxu172 s: [] p: 15 w: max(x2 + 2509, x3 + 6483) axxu32 s: [2] p: 10 w: max(x2) #axxu102 s: [] p: 0 w: 0 #axxu181 s: [1,2] p: 0 w: x1 + x2 #axxu101 s: [] p: 0 w: x1 u181 s: [] p: 1 w: max(x2 + 78) #axxisLNat s: [] p: 0 w: 0 axxu132 s: [] p: 13 w: 132 take s: [] p: 2 w: x1 + x2 + 1321 #axxu204 s: [2,1] p: 0 w: x1 + x2 axxsplitAt s: [1] p: 4 w: max(x1 + 625, x2 + 1055) #axxu221 s: [] p: 0 w: x3 #axxu222 s: [2] p: 0 w: x1 + x2 pair s: [] p: 0 w: max(x1 + 27, x2) axxu91 s: [] p: 9 w: x1 + 1 fst s: [1] p: 2 w: x1 + 264 u222 s: [] p: 3 w: max(x2 + 1054, x3 + 1319) #axxu151 s: [] p: 0 w: max(x2) u131 s: [] p: 13 w: x1 + x2 + 15296 natsFrom s: [] p: 10 w: x1 + 9535 u182 s: [2] p: 9 w: max(x2) u212 s: [] p: 10 w: max(x2 + 31) splitAt s: [1] p: 4 w: max(x1 + 625, x2 + 1055) u52 s: [] p: 14 w: 133 #axxu11 s: [3,1,2] p: 0 w: x1 + x2 + x3 axxu201 s: [] p: 3 w: max(x1 + 4, x2 + 625, x3 + 571, x4 + 1055) axxu102 s: [] p: 14 w: 131 u61 s: [] p: 12 w: 160 axxu31 s: [2] p: 10 w: max(x2) axxu203 s: [4] p: 1 w: max(x2 + 625, x3 + 328, x4 + 1055) u221 s: [] p: 2 w: max(x1 + 1320, x2 + 1186, x3 + 1320) _ s: [] p: 0 w: x2 u151 s: [1] p: 10 w: max(x1 + 625) axxu22 s: [] p: 2 w: max(x2 + 26) u202 s: [4] p: 2 w: max(x1 + 450, x2 + 625, x3 + 329, x4 + 1055) isNatural s: 1 #axxu121 s: [] p: 0 w: 0 #axxsplitAt s: 1 axxnatsFrom s: [] p: 10 w: x1 + 9535 u41 s: [] p: 15 w: max(x1 + 1949) axxisNatural s: 1 u211 s: [] p: 14 w: max(x1 + 73, x2 + 57) axxu151 s: [1] p: 10 w: max(x1 + 625) axxu181 s: [] p: 1 w: max(x2 + 78) #axxu91 s: [] p: 0 w: 1 #axxu201 s: [2] p: 6 w: max(x2) tail s: [] p: 15 w: x1 + 2310 u51 s: [] p: 14 w: max(x1 + 12) #axxafterNth s: [1] p: 0 w: x1 + 1 #mark s: [] p: 0 w: 1 #axxtail s: [] p: 0 w: 0 0 s: [] p: 13 w: 377 axxu141 s: [] p: 12 w: max(x1 + 118, x2 + 251) #axxnatsFrom s: [] p: 0 w: 0 axxu81 s: 1 axxisPLNat s: [] p: 11 w: x1 + 263 #axxisPLNat s: [] p: 0 w: 1 axxu152 s: [] p: 14 w: 131 axxu182 s: [2] p: 9 w: max(x2) u11 s: [] p: 3 w: max(x1 + 1547, x2 + 1646, x3 + 1683) axxu204 s: [] p: 1 w: max(x1, x2 + 327) sel s: [] p: 15 w: x1 + x2 + 15296 u32 s: [2] p: 10 w: max(x2) afterNth s: [] p: 3 w: max(x1 + 1950, x2 + 1688) #axxu212 s: [] p: 0 w: x1 #axxu161 s: [] p: 0 w: x1 nil s: [] p: 15 w: 1159 #axxsnd s: [] p: 0 w: 1 isLNat s: 1 #axxu21 s: [3,1,2] p: 0 w: x1 + x2 + x3 + 1 axxu41 s: [] p: 15 w: max(x1 + 1949) #axxu142 s: [] p: 0 w: 0 #axxu202 s: 2 axxafterNth s: [] p: 3 w: max(x1 + 1950, x2 + 1688) mark s: 1 u12 s: [] p: 3 w: max(x1 + 1677, x2 + 1502, x3 + 1679) #axxu152 s: [] p: 0 w: 1 u203 s: [4] p: 1 w: max(x2 + 625, x3 + 328, x4 + 1055) #axxu22 s: [1,2] p: 0 w: x1 + x2 axxu71 s: [] p: 13 w: 3268 u101 s: [] p: 14 w: x1 + 770 #axxu81 s: [] p: 0 w: 0 axxsel s: [] p: 15 w: x1 + x2 + 15296 u201 s: [] p: 3 w: max(x1 + 4, x2 + 625, x3 + 571, x4 + 1055) u21 s: [] p: 1 w: max(x2 + 27) axxu52 s: [] p: 14 w: 133 #axxu52 s: [] p: 0 w: 0 axxu111 s: 1 axxfst s: [1] p: 2 w: x1 + 264 axxu61 s: [] p: 12 w: 160 axxu171 s: [] p: 14 w: max(x1 + 10675, x2 + 6482, x3 + 10675) #_ s: [1] p: 0 w: x1 u161 s: [] p: 8 w: max(x1 + 9411, x2 + 9535) #axxu31 s: [1] p: 0 w: x1 + 1 u204 s: [] p: 1 w: max(x1, x2 + 327) #axxsel s: [1] p: 0 w: x1 #axxu42 s: [] p: 0 w: 0 axxu51 s: [] p: 14 w: max(x1 + 12) u171 s: [] p: 14 w: max(x1 + 10675, x2 + 6482, x3 + 10675) axxu221 s: [] p: 2 w: max(x1 + 1320, x2 + 1186, x3 + 1320) head s: 1 cons s: [] p: 3 w: max(x1 + 72, x2) u142 s: [] p: 8 w: x1 + 250 axxu222 s: [] p: 3 w: max(x2 + 1054, x3 + 1319) snd s: [] p: 11 w: x1 + 263 #axxu41 s: [2,1] p: 0 w: max(x1, x2) u22 s: [] p: 2 w: max(x2 + 26) axxu12 s: [] p: 3 w: max(x1 + 1677, x2 + 1502, x3 + 1679) axxtail s: [] p: 15 w: x1 + 2310 u42 s: [] p: 14 w: 2080 tt s: [] p: 14 w: 131 #axxu191 s: [1] p: 0 w: x1 axxu42 s: [] p: 14 w: 2080 #axxu131 s: [1,2] p: 0 w: x1 + x2 u152 s: [] p: 14 w: 131 axxu161 s: [] p: 8 w: max(x1 + 9411, x2 + 9535) axxu202 s: [4] p: 2 w: max(x1 + 450, x2 + 625, x3 + 329, x4 + 1055) u71 s: [] p: 13 w: 3268 axxtake s: [] p: 2 w: x1 + x2 + 1321 #axxu61 s: [] p: 0 w: 1 #axxfst s: [] p: 0 w: 0 #axxu171 s: [1,3,2] p: 0 w: x1 + x2 + x3 axxu101 s: [] p: 14 w: x1 + 770 #axxu71 s: [] p: 0 w: 1 #axxisNatural s: [] p: 0 w: 0 axxu212 s: [] p: 10 w: max(x2 + 31) u31 s: [2] p: 10 w: max(x2) u141 s: [] p: 12 w: max(x1 + 118, x2 + 251) axxu21 s: [] p: 1 w: max(x2 + 27) #axxu182 s: [] p: 0 w: x2 #axxu203 s: 2 #axxtake s: [2,1] p: 0 w: x1 + x2 #axxhead s: [] p: 0 w: 0 axxhead s: 1 USABLE RULES: { 1..168 } Removed DPs: #161 #164 Number of SCCs: 0, DPs: 0 >>YES ******** Signature ******** map : ((A -> A),A) -> A nil : A app : ((A -> A),A) -> A ******** Computation rules ******** (169) map(%X.G45[%X],nil) => nil (170) %Y.H45[%Y]@W45 => H45[W45] ******** General Schema criterion ******** Found constructors: 0, afterNth, cons, fst, head, isLNat, isNatural, isPLNat, natsFrom, nil, pair, s, sel, snd, splitAt, tail, take, tt, u101, u102, u11, u111, u12, u121, u131, u132, u141, u142, u151, u152, u161, u171, u172, u181, u182, u191, u201, u202, u203, u204, u21, u211, u212, u22, u221, u222, u31, u32, u41, u42, u51, u52, u61, u71, u81, u91 Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>Regared as equal: mark, axxsel, axxisNatural, axxu131, axxisLNat, axxu101 Checking (1) axxu101(tt,X) => axxu102(axxisLNat(X)) (fun axxu101>axxu102) (fun axxu101=axxisLNat) subterm comparison of args w. LR LR >>False Try again using status RL Checking (1) axxu101(tt,X) => axxu102(axxisLNat(X)) (fun axxu101>axxu102) (fun axxu101=axxisLNat) subterm comparison of args w. RL RL >>False Try again using status Mul Checking (1) axxu101(tt,X) => axxu102(axxisLNat(X)) (fun axxu101>axxu102) (fun axxu101=axxisLNat) subterm comparison of args w. Mul Mul (meta X)[is acc in tt,X] [is positive in tt] [is acc in X] >>True Checking (2) axxu102(tt) => tt (fun axxu102>tt) >>True Checking (3) axxu11(tt,Y,U) => axxu12(axxisLNat(U),Y,U) (fun axxu11>axxu12) (fun axxu11>axxisLNat) (meta U)[is acc in tt,Y,U] [is positive in tt] [is acc in U] (meta Y)[is acc in tt,Y,U] [is positive in tt] [is acc in Y] (meta U)[is acc in tt,Y,U] [is positive in tt] [is acc in U] >>True Checking (4) axxu111(tt) => tt (fun axxu111>tt) >>True Checking (5) axxu12(tt,V,W) => axxsnd(axxsplitAt(mark(V),mark(W))) (fun axxu12>axxsnd) (fun axxu12>axxsplitAt) (fun axxu12>mark) (meta V)[is acc in tt,V,W] [is positive in tt] [is acc in V] (fun axxu12>mark) (meta W)[is acc in tt,V,W] [is positive in tt] [is acc in W] >>True Checking (6) axxu121(tt) => tt (fun axxu121>tt) >>True Checking (7) axxu131(tt,P) => axxu132(axxisLNat(P)) (fun axxu131>axxu132) (fun axxu131=axxisLNat) subterm comparison of args w. Mul Mul (meta P)[is acc in tt,P] [is positive in tt] [is acc in P] >>True Checking (8) axxu132(tt) => tt (fun axxu132>tt) >>True Checking (9) axxu141(tt,X1) => axxu142(axxisLNat(X1)) (fun axxu141>axxu142) (fun axxu141>axxisLNat) (meta X1)[is acc in tt,X1] [is positive in tt] [is acc in X1] >>True Checking (10) axxu142(tt) => tt (fun axxu142>tt) >>True Checking (11) axxu151(tt,Y1) => axxu152(axxisLNat(Y1)) (fun axxu151>axxu152) (fun axxu151>axxisLNat) (meta Y1)[is acc in tt,Y1] [is positive in tt] [is acc in Y1] >>True Checking (12) axxu152(tt) => tt (fun axxu152>tt) >>True Checking (13) axxu161(tt,U1) => cons(mark(U1),natsFrom(s(U1))) (fun axxu161>cons) (fun axxu161>mark) (meta U1)[is acc in tt,U1] [is positive in tt] [is acc in U1] (fun axxu161>natsFrom) (fun axxu161>s) (meta U1)[is acc in tt,U1] [is positive in tt] [is acc in U1] >>True Checking (14) axxu171(tt,V1,W1) => axxu172(axxisLNat(W1),V1,W1) (fun axxu171>axxu172) (fun axxu171>axxisLNat) (meta W1)[is acc in tt,V1,W1] [is positive in tt] [is acc in W1] (meta V1)[is acc in tt,V1,W1] [is positive in tt] [is acc in V1] (meta W1)[is acc in tt,V1,W1] [is positive in tt] [is acc in W1] >>True Checking (15) axxu172(tt,P1,X2) => axxhead(axxafterNth(mark(P1),mark(X2))) (fun axxu172>axxhead) (fun axxu172>axxafterNth) (fun axxu172>mark) (meta P1)[is acc in tt,P1,X2] [is positive in tt] [is acc in P1] (fun axxu172>mark) (meta X2)[is acc in tt,P1,X2] [is positive in tt] [is acc in X2] >>True Checking (16) axxu181(tt,Y2) => axxu182(axxisLNat(Y2),Y2) (fun axxu181>axxu182) (fun axxu181>axxisLNat) (meta Y2)[is acc in tt,Y2] [is positive in tt] [is acc in Y2] (meta Y2)[is acc in tt,Y2] [is positive in tt] [is acc in Y2] >>True Checking (17) axxu182(tt,U2) => mark(U2) (fun axxu182>mark) (meta U2)[is acc in tt,U2] [is positive in tt] [is acc in U2] >>True Checking (18) axxu191(tt,V2) => pair(nil,mark(V2)) (fun axxu191>pair) (fun axxu191>nil) (fun axxu191>mark) (meta V2)[is acc in tt,V2] [is positive in tt] [is acc in V2] >>True Checking (19) axxu201(tt,W2,P2,X3) => axxu202(axxisNatural(P2),W2,P2,X3) (fun axxu201>axxu202) (fun axxu201>axxisNatural) (meta P2)[is acc in tt,W2,P2,X3] [is positive in tt] [is acc in P2] (meta W2)[is acc in tt,W2,P2,X3] [is positive in tt] [is acc in W2] (meta P2)[is acc in tt,W2,P2,X3] [is positive in tt] [is acc in P2] (meta X3)[is acc in tt,W2,P2,X3] [is positive in tt] [is acc in X3] >>True Checking (20) axxu202(tt,Y3,U3,V3) => axxu203(axxisLNat(V3),Y3,U3,V3) (fun axxu202>axxu203) (fun axxu202>axxisLNat) (meta V3)[is acc in tt,Y3,U3,V3] [is positive in tt] [is acc in V3] (meta Y3)[is acc in tt,Y3,U3,V3] [is positive in tt] [is acc in Y3] (meta U3)[is acc in tt,Y3,U3,V3] [is positive in tt] [is acc in U3] (meta V3)[is acc in tt,Y3,U3,V3] [is positive in tt] [is acc in V3] >>True Checking (21) axxu203(tt,W3,P3,X4) => axxu204(axxsplitAt(mark(W3),mark(X4)),P3) (fun axxu203>axxu204) (fun axxu203>axxsplitAt) (fun axxu203>mark) (meta W3)[is acc in tt,W3,P3,X4] [is positive in tt] [is acc in W3] (fun axxu203>mark) (meta X4)[is acc in tt,W3,P3,X4] [is positive in tt] [is acc in X4] (meta P3)[is acc in tt,W3,P3,X4] [is positive in tt] [is acc in P3] >>True Checking (22) axxu204(pair(Y4,U4),V4) => pair(cons(mark(V4),Y4),mark(U4)) (fun axxu204>pair) (fun axxu204>cons) (fun axxu204>mark) (meta V4)[is acc in pair(Y4,U4),V4] [is positive in pair(Y4,U4)] [is acc in V4] (meta Y4)[is acc in pair(Y4,U4),V4] [is positive in pair(Y4,U4)] [is acc in Y4] (fun axxu204>mark) (meta U4)[is acc in pair(Y4,U4),V4] [is positive in pair(Y4,U4)] [is acc in U4] >>True Checking (23) axxu21(tt,W4,P4) => axxu22(axxisLNat(P4),W4) (fun axxu21>axxu22) (fun axxu21>axxisLNat) (meta P4)[is acc in tt,W4,P4] [is positive in tt] [is acc in P4] (meta W4)[is acc in tt,W4,P4] [is positive in tt] [is acc in W4] >>True Checking (24) axxu211(tt,X5) => axxu212(axxisLNat(X5),X5) (fun axxu211>axxu212) (fun axxu211>axxisLNat) (meta X5)[is acc in tt,X5] [is positive in tt] [is acc in X5] (meta X5)[is acc in tt,X5] [is positive in tt] [is acc in X5] >>True Checking (25) axxu212(tt,Y5) => mark(Y5) (fun axxu212>mark) (meta Y5)[is acc in tt,Y5] [is positive in tt] [is acc in Y5] >>True Checking (26) axxu22(tt,U5) => mark(U5) (fun axxu22>mark) (meta U5)[is acc in tt,U5] [is positive in tt] [is acc in U5] >>True Checking (27) axxu221(tt,V5,W5) => axxu222(axxisLNat(W5),V5,W5) (fun axxu221>axxu222) (fun axxu221>axxisLNat) (meta W5)[is acc in tt,V5,W5] [is positive in tt] [is acc in W5] (meta V5)[is acc in tt,V5,W5] [is positive in tt] [is acc in V5] (meta W5)[is acc in tt,V5,W5] [is positive in tt] [is acc in W5] >>True Checking (28) axxu222(tt,P5,X6) => axxfst(axxsplitAt(mark(P5),mark(X6))) (fun axxu222>axxfst) (fun axxu222>axxsplitAt) (fun axxu222>mark) (meta P5)[is acc in tt,P5,X6] [is positive in tt] [is acc in P5] (fun axxu222>mark) (meta X6)[is acc in tt,P5,X6] [is positive in tt] [is acc in X6] >>True Checking (29) axxu31(tt,Y6,U6) => axxu32(axxisLNat(U6),Y6) (fun axxu31>axxu32) (fun axxu31>axxisLNat) (meta U6)[is acc in tt,Y6,U6] [is positive in tt] [is acc in U6] (meta Y6)[is acc in tt,Y6,U6] [is positive in tt] [is acc in Y6] >>True Checking (30) axxu32(tt,V6) => mark(V6) (fun axxu32>mark) (meta V6)[is acc in tt,V6] [is positive in tt] [is acc in V6] >>True Checking (31) axxu41(tt,W6) => axxu42(axxisLNat(W6)) (fun axxu41>axxu42) (fun axxu41>axxisLNat) (meta W6)[is acc in tt,W6] [is positive in tt] [is acc in W6] >>True Checking (32) axxu42(tt) => tt (fun axxu42>tt) >>True Checking (33) axxu51(tt,P6) => axxu52(axxisLNat(P6)) (fun axxu51>axxu52) (fun axxu51>axxisLNat) (meta P6)[is acc in tt,P6] [is positive in tt] [is acc in P6] >>True Checking (34) axxu52(tt) => tt (fun axxu52>tt) >>True Checking (35) axxu61(tt) => tt (fun axxu61>tt) >>True Checking (36) axxu71(tt) => tt (fun axxu71>tt) >>True Checking (37) axxu81(tt) => tt (fun axxu81>tt) >>True Checking (38) axxu91(tt) => tt (fun axxu91>tt) >>True Checking (39) axxafterNth(X7,Y7) => axxu11(axxisNatural(X7),X7,Y7) (fun axxafterNth>axxu11) (fun axxafterNth>axxisNatural) (meta X7)[is acc in X7,Y7] [is acc in X7] (meta X7)[is acc in X7,Y7] [is acc in X7] (meta Y7)[is acc in X7,Y7] [is acc in Y7] >>True Checking (40) axxfst(pair(U7,V7)) => axxu21(axxisLNat(U7),U7,V7) (fun axxfst>axxu21) (fun axxfst>axxisLNat) (meta U7)[is acc in pair(U7,V7)] [is positive in pair(U7,V7)] [is acc in U7] (meta U7)[is acc in pair(U7,V7)] [is positive in pair(U7,V7)] [is acc in U7] (meta V7)[is acc in pair(U7,V7)] [is positive in pair(U7,V7)] [is acc in V7] >>True Checking (41) axxhead(cons(W7,P7)) => axxu31(axxisNatural(W7),W7,P7) (fun axxhead>axxu31) (fun axxhead>axxisNatural) (meta W7)[is acc in cons(W7,P7)] [is positive in cons(W7,P7)] [is acc in W7] (meta W7)[is acc in cons(W7,P7)] [is positive in cons(W7,P7)] [is acc in W7] (meta P7)[is acc in cons(W7,P7)] [is positive in cons(W7,P7)] [is acc in P7] >>True Checking (42) axxisLNat(nil) => tt (fun axxisLNat>tt) >>True Checking (43) axxisLNat(afterNth(X8,Y8)) => axxu41(axxisNatural(X8),Y8) (fun axxisLNat>axxu41) (fun axxisLNat=axxisNatural) subterm comparison of args w. Mul Mul (meta X8)[is acc in afterNth(X8,Y8)] [is positive in afterNth(X8,Y8)] [is acc in X8] (meta Y8)[is acc in afterNth(X8,Y8)] [is positive in afterNth(X8,Y8)] [is acc in Y8] >>True Checking (44) axxisLNat(cons(U8,V8)) => axxu51(axxisNatural(U8),V8) (fun axxisLNat>axxu51) (fun axxisLNat=axxisNatural) subterm comparison of args w. Mul Mul (meta U8)[is acc in cons(U8,V8)] [is positive in cons(U8,V8)] [is acc in U8] (meta V8)[is acc in cons(U8,V8)] [is positive in cons(U8,V8)] [is acc in V8] >>True Checking (45) axxisLNat(fst(W8)) => axxu61(axxisPLNat(W8)) (fun axxisLNat>axxu61) (fun axxisLNat>axxisPLNat) (meta W8)[is acc in fst(W8)] [is positive in fst(W8)] [is acc in W8] >>True Checking (46) axxisLNat(natsFrom(P8)) => axxu71(axxisNatural(P8)) (fun axxisLNat>axxu71) (fun axxisLNat=axxisNatural) subterm comparison of args w. Mul Mul (meta P8)[is acc in natsFrom(P8)] [is positive in natsFrom(P8)] [is acc in P8] >>True Checking (47) axxisLNat(snd(X9)) => axxu81(axxisPLNat(X9)) (fun axxisLNat>axxu81) (fun axxisLNat>axxisPLNat) (meta X9)[is acc in snd(X9)] [is positive in snd(X9)] [is acc in X9] >>True Checking (48) axxisLNat(tail(Y9)) => axxu91(axxisLNat(Y9)) (fun axxisLNat>axxu91) (fun axxisLNat=axxisLNat) subterm comparison of args w. Mul Mul (meta Y9)[is acc in tail(Y9)] [is positive in tail(Y9)] [is acc in Y9] >>True Checking (49) axxisLNat(take(U9,V9)) => axxu101(axxisNatural(U9),V9) (fun axxisLNat=axxu101) subterm comparison of args w. Mul Mul >>False Found constructors: nil Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (169) map(%X.G45[%X],nil) => nil (fun map>nil) >>True Checking (170) %Y.H45[%Y]@W45 => H45[W45] (meta H45)[is acc in %Y.H45[%Y],W45] [is acc in H45[%Y]] (meta W45)[is acc in %Y.H45[%Y],W45] [is acc in W45] >>True #SN! ******** Signature ******** 0 : A afterNth : (A,A) -> A app : ((A -> A),A) -> A axxafterNth : (A,A) -> A axxfst : A -> A axxhead : A -> A axxisLNat : A -> A axxisNatural : A -> A axxisPLNat : A -> A axxnatsFrom : A -> A axxsel : (A,A) -> A axxsnd : A -> A axxsplitAt : (A,A) -> A axxtail : A -> A axxtake : (A,A) -> A axxu101 : (A,A) -> A axxu102 : A -> A axxu11 : (A,A,A) -> A axxu111 : A -> A axxu12 : (A,A,A) -> A axxu121 : A -> A axxu131 : (A,A) -> A axxu132 : A -> A axxu141 : (A,A) -> A axxu142 : A -> A axxu151 : (A,A) -> A axxu152 : A -> A axxu161 : (A,A) -> A axxu171 : (A,A,A) -> A axxu172 : (A,A,A) -> A axxu181 : (A,A) -> A axxu182 : (A,A) -> A axxu191 : (A,A) -> A axxu201 : (A,A,A,A) -> A axxu202 : (A,A,A,A) -> A axxu203 : (A,A,A,A) -> A axxu204 : (A,A) -> A axxu21 : (A,A,A) -> A axxu211 : (A,A) -> A axxu212 : (A,A) -> A axxu22 : (A,A) -> A axxu221 : (A,A,A) -> A axxu222 : (A,A,A) -> A axxu31 : (A,A,A) -> A axxu32 : (A,A) -> A axxu41 : (A,A) -> A axxu42 : A -> A axxu51 : (A,A) -> A axxu52 : A -> A axxu61 : A -> A axxu71 : A -> A axxu81 : A -> A axxu91 : A -> A cons : (A,A) -> A fst : A -> A head : A -> A isLNat : A -> A isNatural : A -> A isPLNat : A -> A map : ((A -> A),A) -> A mark : A -> A natsFrom : A -> A nil : A pair : (A,A) -> A s : A -> A sel : (A,A) -> A snd : A -> A splitAt : (A,A) -> A tail : A -> A take : (A,A) -> A tt : A u101 : (A,A) -> A u102 : A -> A u11 : (A,A,A) -> A u111 : A -> A u12 : (A,A,A) -> A u121 : A -> A u131 : (A,A) -> A u132 : A -> A u141 : (A,A) -> A u142 : A -> A u151 : (A,A) -> A u152 : A -> A u161 : (A,A) -> A u171 : (A,A,A) -> A u172 : (A,A,A) -> A u181 : (A,A) -> A u182 : (A,A) -> A u191 : (A,A) -> A u201 : (A,A,A,A) -> A u202 : (A,A,A,A) -> A u203 : (A,A,A,A) -> A u204 : (A,A) -> A u21 : (A,A,A) -> A u211 : (A,A) -> A u212 : (A,A) -> A u22 : (A,A) -> A u221 : (A,A,A) -> A u222 : (A,A,A) -> A u31 : (A,A,A) -> A u32 : (A,A) -> A u41 : (A,A) -> A u42 : A -> A u51 : (A,A) -> A u52 : A -> A u61 : A -> A u71 : A -> A u81 : A -> A u91 : A -> A ******** Computation Rules ******** (1) axxu101(tt,X) => axxu102(axxisLNat(X)) (2) axxu102(tt) => tt (3) axxu11(tt,Y,U) => axxu12(axxisLNat(U),Y,U) (4) axxu111(tt) => tt (5) axxu12(tt,V,W) => axxsnd(axxsplitAt(mark(V),mark(W))) (6) axxu121(tt) => tt (7) axxu131(tt,P) => axxu132(axxisLNat(P)) (8) axxu132(tt) => tt (9) axxu141(tt,X1) => axxu142(axxisLNat(X1)) (10) axxu142(tt) => tt (11) axxu151(tt,Y1) => axxu152(axxisLNat(Y1)) (12) axxu152(tt) => tt (13) axxu161(tt,U1) => cons(mark(U1),natsFrom(s(U1))) (14) axxu171(tt,V1,W1) => axxu172(axxisLNat(W1),V1,W1) (15) axxu172(tt,P1,X2) => axxhead(axxafterNth(mark(P1),mark(X2))) (16) axxu181(tt,Y2) => axxu182(axxisLNat(Y2),Y2) (17) axxu182(tt,U2) => mark(U2) (18) axxu191(tt,V2) => pair(nil,mark(V2)) (19) axxu201(tt,W2,P2,X3) => axxu202(axxisNatural(P2),W2,P2,X3) (20) axxu202(tt,Y3,U3,V3) => axxu203(axxisLNat(V3),Y3,U3,V3) (21) axxu203(tt,W3,P3,X4) => axxu204(axxsplitAt(mark(W3),mark(X4)),P3) (22) axxu204(pair(Y4,U4),V4) => pair(cons(mark(V4),Y4),mark(U4)) (23) axxu21(tt,W4,P4) => axxu22(axxisLNat(P4),W4) (24) axxu211(tt,X5) => axxu212(axxisLNat(X5),X5) (25) axxu212(tt,Y5) => mark(Y5) (26) axxu22(tt,U5) => mark(U5) (27) axxu221(tt,V5,W5) => axxu222(axxisLNat(W5),V5,W5) (28) axxu222(tt,P5,X6) => axxfst(axxsplitAt(mark(P5),mark(X6))) (29) axxu31(tt,Y6,U6) => axxu32(axxisLNat(U6),Y6) (30) axxu32(tt,V6) => mark(V6) (31) axxu41(tt,W6) => axxu42(axxisLNat(W6)) (32) axxu42(tt) => tt (33) axxu51(tt,P6) => axxu52(axxisLNat(P6)) (34) axxu52(tt) => tt (35) axxu61(tt) => tt (36) axxu71(tt) => tt (37) axxu81(tt) => tt (38) axxu91(tt) => tt (39) axxafterNth(X7,Y7) => axxu11(axxisNatural(X7),X7,Y7) (40) axxfst(pair(U7,V7)) => axxu21(axxisLNat(U7),U7,V7) (41) axxhead(cons(W7,P7)) => axxu31(axxisNatural(W7),W7,P7) (42) axxisLNat(nil) => tt (43) axxisLNat(afterNth(X8,Y8)) => axxu41(axxisNatural(X8),Y8) (44) axxisLNat(cons(U8,V8)) => axxu51(axxisNatural(U8),V8) (45) axxisLNat(fst(W8)) => axxu61(axxisPLNat(W8)) (46) axxisLNat(natsFrom(P8)) => axxu71(axxisNatural(P8)) (47) axxisLNat(snd(X9)) => axxu81(axxisPLNat(X9)) (48) axxisLNat(tail(Y9)) => axxu91(axxisLNat(Y9)) (49) axxisLNat(take(U9,V9)) => axxu101(axxisNatural(U9),V9) (50) axxisNatural(0) => tt (51) axxisNatural(head(W9)) => axxu111(axxisLNat(W9)) (52) axxisNatural(s(P9)) => axxu121(axxisNatural(P9)) (53) axxisNatural(sel(X10,Y10)) => axxu131(axxisNatural(X10),Y10) (54) axxisPLNat(pair(U10,V10)) => axxu141(axxisLNat(U10),V10) (55) axxisPLNat(splitAt(W10,P10)) => axxu151(axxisNatural(W10),P10) (56) axxnatsFrom(X11) => axxu161(axxisNatural(X11),X11) (57) axxsel(Y11,U11) => axxu171(axxisNatural(Y11),Y11,U11) (58) axxsnd(pair(V11,W11)) => axxu181(axxisLNat(V11),W11) (59) axxsplitAt(0,P11) => axxu191(axxisLNat(P11),P11) (60) axxsplitAt(s(X12),cons(Y12,U12)) => axxu201(axxisNatural(X12),X12,Y12,U12) (61) axxtail(cons(V12,W12)) => axxu211(axxisNatural(V12),W12) (62) axxtake(P12,X13) => axxu221(axxisNatural(P12),P12,X13) (63) mark(u101(Y13,U13)) => axxu101(mark(Y13),U13) (64) mark(u102(V13)) => axxu102(mark(V13)) (65) mark(isLNat(W13)) => axxisLNat(W13) (66) mark(u11(P13,X14,Y14)) => axxu11(mark(P13),X14,Y14) (67) mark(u12(U14,V14,W14)) => axxu12(mark(U14),V14,W14) (68) mark(u111(P14)) => axxu111(mark(P14)) (69) mark(snd(X15)) => axxsnd(mark(X15)) (70) mark(splitAt(Y15,U15)) => axxsplitAt(mark(Y15),mark(U15)) (71) mark(u121(V15)) => axxu121(mark(V15)) (72) mark(u131(W15,P15)) => axxu131(mark(W15),P15) (73) mark(u132(X16)) => axxu132(mark(X16)) (74) mark(u141(Y16,U16)) => axxu141(mark(Y16),U16) (75) mark(u142(V16)) => axxu142(mark(V16)) (76) mark(u151(W16,P16)) => axxu151(mark(W16),P16) (77) mark(u152(X17)) => axxu152(mark(X17)) (78) mark(u161(Y17,U17)) => axxu161(mark(Y17),U17) (79) mark(natsFrom(V17)) => axxnatsFrom(mark(V17)) (80) mark(u171(W17,P17,X18)) => axxu171(mark(W17),P17,X18) (81) mark(u172(Y18,U18,V18)) => axxu172(mark(Y18),U18,V18) (82) mark(head(W18)) => axxhead(mark(W18)) (83) mark(afterNth(P18,X19)) => axxafterNth(mark(P18),mark(X19)) (84) mark(u181(Y19,U19)) => axxu181(mark(Y19),U19) (85) mark(u182(V19,W19)) => axxu182(mark(V19),W19) (86) mark(u191(P19,X20)) => axxu191(mark(P19),X20) (87) mark(u201(Y20,U20,V20,W20)) => axxu201(mark(Y20),U20,V20,W20) (88) mark(u202(P20,X21,Y21,U21)) => axxu202(mark(P20),X21,Y21,U21) (89) mark(isNatural(V21)) => axxisNatural(V21) (90) mark(u203(W21,P21,X22,Y22)) => axxu203(mark(W21),P21,X22,Y22) (91) mark(u204(U22,V22)) => axxu204(mark(U22),V22) (92) mark(u21(W22,P22,X23)) => axxu21(mark(W22),P22,X23) (93) mark(u22(Y23,U23)) => axxu22(mark(Y23),U23) (94) mark(u211(V23,W23)) => axxu211(mark(V23),W23) (95) mark(u212(P23,X24)) => axxu212(mark(P23),X24) (96) mark(u221(Y24,U24,V24)) => axxu221(mark(Y24),U24,V24) (97) mark(u222(W24,P24,X25)) => axxu222(mark(W24),P24,X25) (98) mark(fst(Y25)) => axxfst(mark(Y25)) (99) mark(u31(U25,V25,W25)) => axxu31(mark(U25),V25,W25) (100) mark(u32(P25,X26)) => axxu32(mark(P25),X26) (101) mark(u41(Y26,U26)) => axxu41(mark(Y26),U26) (102) mark(u42(V26)) => axxu42(mark(V26)) (103) mark(u51(W26,P26)) => axxu51(mark(W26),P26) (104) mark(u52(X27)) => axxu52(mark(X27)) (105) mark(u61(Y27)) => axxu61(mark(Y27)) (106) mark(u71(U27)) => axxu71(mark(U27)) (107) mark(u81(V27)) => axxu81(mark(V27)) (108) mark(u91(W27)) => axxu91(mark(W27)) (109) mark(isPLNat(P27)) => axxisPLNat(P27) (110) mark(tail(X28)) => axxtail(mark(X28)) (111) mark(take(Y28,U28)) => axxtake(mark(Y28),mark(U28)) (112) mark(sel(V28,W28)) => axxsel(mark(V28),mark(W28)) (113) mark(tt) => tt (114) mark(cons(P28,X29)) => cons(mark(P28),X29) (115) mark(s(Y29)) => s(mark(Y29)) (116) mark(pair(U29,V29)) => pair(mark(U29),mark(V29)) (117) mark(nil) => nil (118) mark(0) => 0 (119) axxu101(W29,P29) => u101(W29,P29) (120) axxu102(X30) => u102(X30) (121) axxisLNat(Y30) => isLNat(Y30) (122) axxu11(U30,V30,W30) => u11(U30,V30,W30) (123) axxu12(P30,X31,Y31) => u12(P30,X31,Y31) (124) axxu111(U31) => u111(U31) (125) axxsnd(V31) => snd(V31) (126) axxsplitAt(W31,P31) => splitAt(W31,P31) (127) axxu121(X32) => u121(X32) (128) axxu131(Y32,U32) => u131(Y32,U32) (129) axxu132(V32) => u132(V32) (130) axxu141(W32,P32) => u141(W32,P32) (131) axxu142(X33) => u142(X33) (132) axxu151(Y33,U33) => u151(Y33,U33) (133) axxu152(V33) => u152(V33) (134) axxu161(W33,P33) => u161(W33,P33) (135) axxnatsFrom(X34) => natsFrom(X34) (136) axxu171(Y34,U34,V34) => u171(Y34,U34,V34) (137) axxu172(W34,P34,X35) => u172(W34,P34,X35) (138) axxhead(Y35) => head(Y35) (139) axxafterNth(U35,V35) => afterNth(U35,V35) (140) axxu181(W35,P35) => u181(W35,P35) (141) axxu182(X36,Y36) => u182(X36,Y36) (142) axxu191(U36,V36) => u191(U36,V36) (143) axxu201(W36,P36,X37,Y37) => u201(W36,P36,X37,Y37) (144) axxu202(U37,V37,W37,P37) => u202(U37,V37,W37,P37) (145) axxisNatural(X38) => isNatural(X38) (146) axxu203(Y38,U38,V38,W38) => u203(Y38,U38,V38,W38) (147) axxu204(P38,X39) => u204(P38,X39) (148) axxu21(Y39,U39,V39) => u21(Y39,U39,V39) (149) axxu22(W39,P39) => u22(W39,P39) (150) axxu211(X40,Y40) => u211(X40,Y40) (151) axxu212(U40,V40) => u212(U40,V40) (152) axxu221(W40,P40,X41) => u221(W40,P40,X41) (153) axxu222(Y41,U41,V41) => u222(Y41,U41,V41) (154) axxfst(W41) => fst(W41) (155) axxu31(P41,X42,Y42) => u31(P41,X42,Y42) (156) axxu32(U42,V42) => u32(U42,V42) (157) axxu41(W42,P42) => u41(W42,P42) (158) axxu42(X43) => u42(X43) (159) axxu51(Y43,U43) => u51(Y43,U43) (160) axxu52(V43) => u52(V43) (161) axxu61(W43) => u61(W43) (162) axxu71(P43) => u71(P43) (163) axxu81(X44) => u81(X44) (164) axxu91(Y44) => u91(Y44) (165) axxisPLNat(U44) => isPLNat(U44) (166) axxtail(V44) => tail(V44) (167) axxtake(W44,P44) => take(W44,P44) (168) axxsel(X45,Y45) => sel(X45,Y45) (169) map(%X.G45[%X],nil) => nil (170) %Y.H45[%Y]@W45 => H45[W45] YES