TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60004 ms.

The following DP Processors were used


Problem 1 remains open; application of the following processors failed [DependencyGraph (timeout)].

The following open problems remain:



Open Dependency Pair Problem 1

Dependency Pairs

mark#(fst(X)) → active#(fst(mark(X)))U91#(X1, active(X2)) → U91#(X1, X2)
U292#(X1, X2, active(X3)) → U292#(X1, X2, X3)U22#(mark(X1), X2, X3) → U22#(X1, X2, X3)
mark#(U246(X)) → U246#(mark(X))active#(head(cons(N, XS))) → mark#(U31(isNatural(N), N, XS))
mark#(U292(X1, X2, X3)) → active#(U292(mark(X1), X2, X3))U281#(X1, active(X2)) → U281#(X1, X2)
U322#(X1, X2, mark(X3), X4) → U322#(X1, X2, X3, X4)active#(U241(tt, V1, V2)) → isLNatKind#(V1)
active#(isLNatKind(fst(V1))) → isPLNatKind#(V1)U203#(X1, X2, mark(X3)) → U203#(X1, X2, X3)
mark#(U52(X1, X2, X3)) → U52#(mark(X1), X2, X3)mark#(U92(X1, X2)) → mark#(X1)
U304#(X1, mark(X2)) → U304#(X1, X2)U282#(mark(X1), X2) → U282#(X1, X2)
mark#(s(X)) → mark#(X)active#(isLNatKind(cons(V1, V2))) → mark#(U121(isNaturalKind(V1), V2))
active#(U91(tt, V1)) → mark#(U92(isLNatKind(V1), V1))active#(U304(tt, Y)) → mark#(Y)
mark#(U326(X1, X2, X3, X4)) → mark#(X1)U344#(mark(X1), X2, X3) → U344#(X1, X2, X3)
U323#(X1, mark(X2), X3, X4) → U323#(X1, X2, X3, X4)U344#(active(X1), X2, X3) → U344#(X1, X2, X3)
active#(isNaturalKind(0)) → mark#(tt)active#(U73(tt)) → mark#(tt)
U33#(X1, active(X2), X3) → U33#(X1, X2, X3)active#(U13(tt, N, XS)) → mark#(U14(isLNatKind(XS), N, XS))
active#(isPLNatKind(splitAt(V1, V2))) → mark#(U271(isNaturalKind(V1), V2))U14#(X1, mark(X2), X3) → U14#(X1, X2, X3)
U204#(mark(X1), X2, X3) → U204#(X1, X2, X3)U43#(active(X1), X2, X3) → U43#(X1, X2, X3)
active#(isPLNatKind(splitAt(V1, V2))) → U271#(isNaturalKind(V1), V2)U12#(X1, X2, mark(X3)) → U12#(X1, X2, X3)
mark#(U261(X1, X2)) → U261#(mark(X1), X2)active#(isLNat(tail(V1))) → U91#(isLNatKind(V1), V1)
active#(U344(tt, N, XS)) → fst#(splitAt(N, XS))U291#(X1, X2, mark(X3)) → U291#(X1, X2, X3)
U82#(X1, active(X2)) → U82#(X1, X2)active#(U341(tt, N, XS)) → mark#(U342(isNaturalKind(N), N, XS))
active#(U31(tt, N, XS)) → isNaturalKind#(N)mark#(U112(X)) → active#(U112(mark(X)))
U102#(mark(X1), X2, X3) → U102#(X1, X2, X3)active#(U251(tt, V1, V2)) → U252#(isNaturalKind(V1), V1, V2)
U324#(X1, mark(X2), X3, X4) → U324#(X1, X2, X3, X4)mark#(U344(X1, X2, X3)) → U344#(mark(X1), X2, X3)
U14#(X1, active(X2), X3) → U14#(X1, X2, X3)U31#(active(X1), X2, X3) → U31#(X1, X2, X3)
active#(splitAt(0, XS)) → isLNat#(XS)mark#(U291(X1, X2, X3)) → U291#(mark(X1), X2, X3)
mark#(U202(X1, X2, X3)) → mark#(X1)U334#(mark(X1), X2) → U334#(X1, X2)
mark#(splitAt(X1, X2)) → mark#(X1)active#(isPLNat(splitAt(V1, V2))) → mark#(U251(isNaturalKind(V1), V1, V2))
active#(U282(tt, N)) → cons#(N, natsFrom(s(N)))active#(fst(pair(X, Y))) → U21#(isLNat(X), X, Y)
mark#(U192(X1, X2)) → U192#(mark(X1), X2)mark#(U262(X)) → U262#(mark(X))
U205#(active(X1), X2) → U205#(X1, X2)U41#(X1, X2, active(X3)) → U41#(X1, X2, X3)
mark#(U333(X1, X2)) → mark#(X1)U291#(mark(X1), X2, X3) → U291#(X1, X2, X3)
U241#(X1, active(X2), X3) → U241#(X1, X2, X3)active#(U92(tt, V1)) → mark#(U93(isLNat(V1)))
mark#(U104(X1, X2, X3)) → active#(U104(mark(X1), X2, X3))U303#(active(X1), X2) → U303#(X1, X2)
active#(U232(tt)) → mark#(tt)U12#(X1, X2, active(X3)) → U12#(X1, X2, X3)
mark#(U101(X1, X2, X3)) → U101#(mark(X1), X2, X3)active#(U41(tt, V1, V2)) → mark#(U42(isNaturalKind(V1), V1, V2))
U45#(X1, mark(X2)) → U45#(X1, X2)mark#(afterNth(X1, X2)) → active#(afterNth(mark(X1), mark(X2)))
active#(U326(tt, N, X, XS)) → mark#(U327(splitAt(N, XS), X))active#(U182(tt, V1)) → mark#(U183(isLNat(V1)))
mark#(U41(X1, X2, X3)) → active#(U41(mark(X1), X2, X3))active#(U32(tt, N, XS)) → isLNat#(XS)
U204#(active(X1), X2, X3) → U204#(X1, X2, X3)mark#(U72(X1, X2)) → active#(U72(mark(X1), X2))
mark#(U121(X1, X2)) → active#(U121(mark(X1), X2))U193#(active(X)) → U193#(X)
active#(U52(tt, V1, V2)) → mark#(U53(isLNatKind(V2), V1, V2))active#(U243(tt, V1, V2)) → mark#(U244(isLNatKind(V2), V1, V2))
U343#(active(X1), X2, X3) → U343#(X1, X2, X3)U301#(mark(X1), X2, X3) → U301#(X1, X2, X3)
afterNth#(X1, mark(X2)) → afterNth#(X1, X2)active#(U11(tt, N, XS)) → isNaturalKind#(N)
U22#(X1, X2, mark(X3)) → U22#(X1, X2, X3)U322#(X1, active(X2), X3, X4) → U322#(X1, X2, X3, X4)
U52#(X1, mark(X2), X3) → U52#(X1, X2, X3)U271#(mark(X1), X2) → U271#(X1, X2)
active#(U325(tt, N, X, XS)) → U326#(isLNatKind(XS), N, X, XS)mark#(tail(X)) → active#(tail(mark(X)))
U246#(mark(X)) → U246#(X)U33#(X1, X2, active(X3)) → U33#(X1, X2, X3)
active#(U104(tt, V1, V2)) → isNatural#(V1)U91#(mark(X1), X2) → U91#(X1, X2)
mark#(U191(X1, X2)) → U191#(mark(X1), X2)active#(U43(tt, V1, V2)) → isLNatKind#(V2)
mark#(U202(X1, X2, X3)) → active#(U202(mark(X1), X2, X3))mark#(U232(X)) → mark#(X)
U61#(mark(X1), X2) → U61#(X1, X2)U294#(X1, mark(X2), X3) → U294#(X1, X2, X3)
active#(isLNat(natsFrom(V1))) → U71#(isNaturalKind(V1), V1)mark#(isLNat(X)) → active#(isLNat(X))
mark#(natsFrom(X)) → active#(natsFrom(mark(X)))U104#(active(X1), X2, X3) → U104#(X1, X2, X3)
active#(U171(tt, V2)) → U172#(isLNatKind(V2))U51#(X1, mark(X2), X3) → U51#(X1, X2, X3)
U302#(active(X1), X2) → U302#(X1, X2)active#(U294(tt, N, XS)) → mark#(head(afterNth(N, XS)))
active#(isNatural(s(V1))) → isNaturalKind#(V1)active#(U92(tt, V1)) → isLNat#(V1)
mark#(U332(X1, X2)) → active#(U332(mark(X1), X2))mark#(U172(X)) → active#(U172(mark(X)))
mark#(U341(X1, X2, X3)) → active#(U341(mark(X1), X2, X3))U332#(X1, mark(X2)) → U332#(X1, X2)
active#(natsFrom(N)) → isNatural#(N)take#(X1, mark(X2)) → take#(X1, X2)
U292#(mark(X1), X2, X3) → U292#(X1, X2, X3)mark#(U71(X1, X2)) → mark#(X1)
U43#(X1, X2, mark(X3)) → U43#(X1, X2, X3)active#(U281(tt, N)) → mark#(U282(isNaturalKind(N), N))
U23#(X1, active(X2), X3) → U23#(X1, X2, X3)U293#(X1, active(X2), X3) → U293#(X1, X2, X3)
active#(U82(tt, V1)) → isPLNat#(V1)mark#(U121(X1, X2)) → mark#(X1)
active#(U31(tt, N, XS)) → mark#(U32(isNaturalKind(N), N, XS))active#(U46(tt)) → mark#(tt)
active#(U253(tt, V1, V2)) → isLNatKind#(V2)mark#(U331(X1, X2, X3)) → U331#(mark(X1), X2, X3)
U324#(X1, X2, X3, active(X4)) → U324#(X1, X2, X3, X4)mark#(U241(X1, X2, X3)) → U241#(mark(X1), X2, X3)
mark#(head(X)) → active#(head(mark(X)))U261#(X1, mark(X2)) → U261#(X1, X2)
U244#(X1, X2, active(X3)) → U244#(X1, X2, X3)active#(U82(tt, V1)) → mark#(U83(isPLNat(V1)))
mark#(U282(X1, X2)) → U282#(mark(X1), X2)mark#(U343(X1, X2, X3)) → U343#(mark(X1), X2, X3)
active#(U324(tt, N, X, XS)) → U325#(isLNat(XS), N, X, XS)U324#(X1, X2, X3, mark(X4)) → U324#(X1, X2, X3, X4)
active#(U141(tt)) → mark#(tt)mark#(U291(X1, X2, X3)) → active#(U291(mark(X1), X2, X3))
U55#(X1, active(X2)) → U55#(X1, X2)splitAt#(active(X1), X2) → splitAt#(X1, X2)
active#(U311(tt, XS)) → U312#(isLNatKind(XS), XS)U261#(active(X1), X2) → U261#(X1, X2)
mark#(U151(X)) → mark#(X)active#(U321(tt, N, X, XS)) → isNaturalKind#(N)
U14#(active(X1), X2, X3) → U14#(X1, X2, X3)mark#(U93(X)) → mark#(X)
U101#(X1, X2, active(X3)) → U101#(X1, X2, X3)mark#(isNatural(X)) → active#(isNatural(X))
U341#(active(X1), X2, X3) → U341#(X1, X2, X3)active#(U244(tt, V1, V2)) → isLNat#(V1)
natsFrom#(active(X)) → natsFrom#(X)mark#(U53(X1, X2, X3)) → active#(U53(mark(X1), X2, X3))
mark#(U81(X1, X2)) → active#(U81(mark(X1), X2))U312#(X1, active(X2)) → U312#(X1, X2)
mark#(splitAt(X1, X2)) → mark#(X2)mark#(U262(X)) → mark#(X)
mark#(U22(X1, X2, X3)) → active#(U22(mark(X1), X2, X3))mark#(U13(X1, X2, X3)) → U13#(mark(X1), X2, X3)
mark#(U21(X1, X2, X3)) → U21#(mark(X1), X2, X3)s#(mark(X)) → s#(X)
U333#(active(X1), X2) → U333#(X1, X2)mark#(U331(X1, X2, X3)) → active#(U331(mark(X1), X2, X3))
active#(splitAt(0, XS)) → mark#(U311(isLNat(XS), XS))U22#(X1, X2, active(X3)) → U22#(X1, X2, X3)
mark#(U73(X)) → active#(U73(mark(X)))active#(isLNatKind(cons(V1, V2))) → isNaturalKind#(V1)
mark#(U331(X1, X2, X3)) → mark#(X1)mark#(U52(X1, X2, X3)) → active#(U52(mark(X1), X2, X3))
mark#(U211(X)) → active#(U211(mark(X)))active#(isLNat(natsFrom(V1))) → isNaturalKind#(V1)
active#(U92(tt, V1)) → U93#(isLNat(V1))active#(U242(tt, V1, V2)) → U243#(isLNatKind(V2), V1, V2)
U293#(X1, mark(X2), X3) → U293#(X1, X2, X3)U202#(X1, active(X2), X3) → U202#(X1, X2, X3)
active#(U42(tt, V1, V2)) → U43#(isLNatKind(V2), V1, V2)U151#(mark(X)) → U151#(X)
active#(U301(tt, X, Y)) → isLNatKind#(X)mark#(U54(X1, X2, X3)) → U54#(mark(X1), X2, X3)
U62#(active(X1), X2) → U62#(X1, X2)U54#(X1, active(X2), X3) → U54#(X1, X2, X3)
active#(U52(tt, V1, V2)) → isLNatKind#(V2)active#(U122(tt)) → mark#(tt)
active#(U272(tt)) → mark#(tt)mark#(U204(X1, X2, X3)) → active#(U204(mark(X1), X2, X3))
mark#(U181(X1, X2)) → U181#(mark(X1), X2)mark#(U293(X1, X2, X3)) → U293#(mark(X1), X2, X3)
active#(U201(tt, V1, V2)) → mark#(U202(isNaturalKind(V1), V1, V2))active#(U53(tt, V1, V2)) → isLNatKind#(V2)
mark#(U31(X1, X2, X3)) → U31#(mark(X1), X2, X3)active#(isNaturalKind(head(V1))) → mark#(U211(isLNatKind(V1)))
active#(U81(tt, V1)) → isPLNatKind#(V1)mark#(U71(X1, X2)) → U71#(mark(X1), X2)
mark#(U52(X1, X2, X3)) → mark#(X1)mark#(U282(X1, X2)) → mark#(X1)
mark#(U304(X1, X2)) → mark#(X1)mark#(cons(X1, X2)) → mark#(X1)
U244#(X1, X2, mark(X3)) → U244#(X1, X2, X3)active#(tail(cons(N, XS))) → isNatural#(N)
U301#(X1, X2, mark(X3)) → U301#(X1, X2, X3)U252#(mark(X1), X2, X3) → U252#(X1, X2, X3)
U21#(mark(X1), X2, X3) → U21#(X1, X2, X3)U111#(mark(X1), X2) → U111#(X1, X2)
U201#(X1, X2, active(X3)) → U201#(X1, X2, X3)active#(U54(tt, V1, V2)) → U55#(isNatural(V1), V2)
U43#(X1, X2, active(X3)) → U43#(X1, X2, X3)U325#(mark(X1), X2, X3, X4) → U325#(X1, X2, X3, X4)
mark#(U232(X)) → U232#(mark(X))mark#(U34(X1, X2)) → active#(U34(mark(X1), X2))
active#(U271(tt, V2)) → isLNatKind#(V2)active#(U172(tt)) → mark#(tt)
mark#(U34(X1, X2)) → U34#(mark(X1), X2)U13#(X1, X2, active(X3)) → U13#(X1, X2, X3)
mark#(U326(X1, X2, X3, X4)) → U326#(mark(X1), X2, X3, X4)active#(isLNatKind(tail(V1))) → U161#(isLNatKind(V1))
mark#(U23(X1, X2, X3)) → active#(U23(mark(X1), X2, X3))U292#(X1, mark(X2), X3) → U292#(X1, X2, X3)
active#(isNatural(sel(V1, V2))) → U201#(isNaturalKind(V1), V1, V2)mark#(U55(X1, X2)) → mark#(X1)
U45#(X1, active(X2)) → U45#(X1, X2)mark#(splitAt(X1, X2)) → splitAt#(mark(X1), mark(X2))
active#(U24(tt, X)) → mark#(X)active#(U104(tt, V1, V2)) → mark#(U105(isNatural(V1), V2))
mark#(U122(X)) → active#(U122(mark(X)))mark#(U324(X1, X2, X3, X4)) → mark#(X1)
active#(U12(tt, N, XS)) → mark#(U13(isLNat(XS), N, XS))U32#(X1, active(X2), X3) → U32#(X1, X2, X3)
U12#(active(X1), X2, X3) → U12#(X1, X2, X3)mark#(U245(X1, X2)) → mark#(X1)
mark#(U141(X)) → mark#(X)U204#(X1, mark(X2), X3) → U204#(X1, X2, X3)
mark#(U333(X1, X2)) → active#(U333(mark(X1), X2))mark#(U261(X1, X2)) → mark#(X1)
U32#(X1, X2, mark(X3)) → U32#(X1, X2, X3)U13#(X1, mark(X2), X3) → U13#(X1, X2, X3)
mark#(U63(X)) → U63#(mark(X))mark#(U91(X1, X2)) → U91#(mark(X1), X2)
U92#(X1, active(X2)) → U92#(X1, X2)U122#(active(X)) → U122#(X)
mark#(0) → active#(0)active#(U204(tt, V1, V2)) → mark#(U205(isNatural(V1), V2))
mark#(U111(X1, X2)) → U111#(mark(X1), X2)mark#(U43(X1, X2, X3)) → active#(U43(mark(X1), X2, X3))
mark#(U242(X1, X2, X3)) → U242#(mark(X1), X2, X3)mark#(U14(X1, X2, X3)) → U14#(mark(X1), X2, X3)
active#(isNaturalKind(sel(V1, V2))) → U231#(isNaturalKind(V1), V2)active#(U271(tt, V2)) → mark#(U272(isLNatKind(V2)))
mark#(U151(X)) → U151#(mark(X))U291#(X1, mark(X2), X3) → U291#(X1, X2, X3)
U325#(X1, X2, X3, mark(X4)) → U325#(X1, X2, X3, X4)U301#(X1, mark(X2), X3) → U301#(X1, X2, X3)
U92#(mark(X1), X2) → U92#(X1, X2)active#(U241(tt, V1, V2)) → mark#(U242(isLNatKind(V1), V1, V2))
mark#(U326(X1, X2, X3, X4)) → active#(U326(mark(X1), X2, X3, X4))U334#(X1, mark(X2)) → U334#(X1, X2)
U331#(X1, X2, active(X3)) → U331#(X1, X2, X3)mark#(U105(X1, X2)) → U105#(mark(X1), X2)
U341#(X1, mark(X2), X3) → U341#(X1, X2, X3)U54#(X1, X2, active(X3)) → U54#(X1, X2, X3)
mark#(U51(X1, X2, X3)) → active#(U51(mark(X1), X2, X3))U172#(active(X)) → U172#(X)
mark#(U253(X1, X2, X3)) → active#(U253(mark(X1), X2, X3))U11#(X1, X2, active(X3)) → U11#(X1, X2, X3)
active#(splitAt(0, XS)) → U311#(isLNat(XS), XS)active#(U231(tt, V2)) → U232#(isLNatKind(V2))
U203#(X1, X2, active(X3)) → U203#(X1, X2, X3)U182#(X1, mark(X2)) → U182#(X1, X2)
U42#(X1, X2, active(X3)) → U42#(X1, X2, X3)mark#(U244(X1, X2, X3)) → active#(U244(mark(X1), X2, X3))
mark#(fst(X)) → fst#(mark(X))U272#(mark(X)) → U272#(X)
active#(isNatural(head(V1))) → U181#(isLNatKind(V1), V1)mark#(U53(X1, X2, X3)) → U53#(mark(X1), X2, X3)
mark#(U103(X1, X2, X3)) → mark#(X1)U23#(X1, X2, active(X3)) → U23#(X1, X2, X3)
U73#(mark(X)) → U73#(X)U342#(X1, X2, active(X3)) → U342#(X1, X2, X3)
U312#(active(X1), X2) → U312#(X1, X2)mark#(U231(X1, X2)) → U231#(mark(X1), X2)
active#(isNaturalKind(s(V1))) → mark#(U221(isNaturalKind(V1)))active#(isLNat(afterNth(V1, V2))) → U41#(isNaturalKind(V1), V1, V2)
U261#(mark(X1), X2) → U261#(X1, X2)active#(U334(tt, XS)) → mark#(XS)
active#(isLNatKind(take(V1, V2))) → mark#(U171(isNaturalKind(V1), V2))active#(U121(tt, V2)) → U122#(isLNatKind(V2))
mark#(U245(X1, X2)) → active#(U245(mark(X1), X2))U281#(mark(X1), X2) → U281#(X1, X2)
mark#(U254(X1, X2, X3)) → active#(U254(mark(X1), X2, X3))mark#(U106(X)) → mark#(X)
U326#(mark(X1), X2, X3, X4) → U326#(X1, X2, X3, X4)U21#(X1, active(X2), X3) → U21#(X1, X2, X3)
U41#(active(X1), X2, X3) → U41#(X1, X2, X3)U254#(X1, X2, active(X3)) → U254#(X1, X2, X3)
mark#(U281(X1, X2)) → U281#(mark(X1), X2)mark#(isLNatKind(X)) → active#(isLNatKind(X))
U44#(X1, X2, mark(X3)) → U44#(X1, X2, X3)mark#(afterNth(X1, X2)) → afterNth#(mark(X1), mark(X2))
mark#(U205(X1, X2)) → active#(U205(mark(X1), X2))U241#(X1, X2, active(X3)) → U241#(X1, X2, X3)
U294#(X1, active(X2), X3) → U294#(X1, X2, X3)mark#(U325(X1, X2, X3, X4)) → U325#(mark(X1), X2, X3, X4)
U203#(X1, active(X2), X3) → U203#(X1, X2, X3)U242#(X1, mark(X2), X3) → U242#(X1, X2, X3)
U182#(active(X1), X2) → U182#(X1, X2)mark#(U182(X1, X2)) → U182#(mark(X1), X2)
U271#(X1, active(X2)) → U271#(X1, X2)mark#(U203(X1, X2, X3)) → active#(U203(mark(X1), X2, X3))
active#(U182(tt, V1)) → U183#(isLNat(V1))tail#(active(X)) → tail#(X)
U311#(X1, active(X2)) → U311#(X1, X2)U41#(mark(X1), X2, X3) → U41#(X1, X2, X3)
U241#(mark(X1), X2, X3) → U241#(X1, X2, X3)active#(U181(tt, V1)) → U182#(isLNatKind(V1), V1)
mark#(U271(X1, X2)) → mark#(X1)active#(isLNat(fst(V1))) → isPLNatKind#(V1)
U291#(active(X1), X2, X3) → U291#(X1, X2, X3)U81#(mark(X1), X2) → U81#(X1, X2)
U331#(X1, mark(X2), X3) → U331#(X1, X2, X3)mark#(U204(X1, X2, X3)) → U204#(mark(X1), X2, X3)
U294#(X1, X2, active(X3)) → U294#(X1, X2, X3)active#(U201(tt, V1, V2)) → U202#(isNaturalKind(V1), V1, V2)
U41#(X1, mark(X2), X3) → U41#(X1, X2, X3)U46#(mark(X)) → U46#(X)
U331#(X1, X2, mark(X3)) → U331#(X1, X2, X3)U332#(X1, active(X2)) → U332#(X1, X2)
active#(isPLNatKind(splitAt(V1, V2))) → isNaturalKind#(V1)active#(U246(tt)) → mark#(tt)
U71#(active(X1), X2) → U71#(X1, X2)U251#(X1, X2, active(X3)) → U251#(X1, X2, X3)
mark#(U161(X)) → mark#(X)mark#(U262(X)) → active#(U262(mark(X)))
active#(natsFrom(N)) → U281#(isNatural(N), N)active#(U251(tt, V1, V2)) → mark#(U252(isNaturalKind(V1), V1, V2))
U271#(active(X1), X2) → U271#(X1, X2)mark#(U21(X1, X2, X3)) → active#(U21(mark(X1), X2, X3))
mark#(natsFrom(X)) → natsFrom#(mark(X))U161#(mark(X)) → U161#(X)
U52#(mark(X1), X2, X3) → U52#(X1, X2, X3)mark#(U122(X)) → U122#(mark(X))
U83#(mark(X)) → U83#(X)active#(U101(tt, V1, V2)) → isNaturalKind#(V1)
U322#(X1, mark(X2), X3, X4) → U322#(X1, X2, X3, X4)mark#(U206(X)) → mark#(X)
active#(U21(tt, X, Y)) → U22#(isLNatKind(X), X, Y)U325#(active(X1), X2, X3, X4) → U325#(X1, X2, X3, X4)
mark#(U106(X)) → U106#(mark(X))U252#(X1, mark(X2), X3) → U252#(X1, X2, X3)
mark#(U334(X1, X2)) → mark#(X1)U31#(X1, active(X2), X3) → U31#(X1, X2, X3)
mark#(U11(X1, X2, X3)) → U11#(mark(X1), X2, X3)active#(U34(tt, N)) → mark#(N)
U272#(active(X)) → U272#(X)active#(U151(tt)) → mark#(tt)
U342#(X1, X2, mark(X3)) → U342#(X1, X2, X3)active#(U55(tt, V2)) → mark#(U56(isLNat(V2)))
active#(U294(tt, N, XS)) → afterNth#(N, XS)U332#(active(X1), X2) → U332#(X1, X2)
U323#(X1, X2, X3, active(X4)) → U323#(X1, X2, X3, X4)U72#(mark(X1), X2) → U72#(X1, X2)
U262#(mark(X)) → U262#(X)mark#(U327(X1, X2)) → U327#(mark(X1), X2)
U33#(X1, mark(X2), X3) → U33#(X1, X2, X3)active#(take(N, XS)) → mark#(U341(isNatural(N), N, XS))
mark#(sel(X1, X2)) → mark#(X1)active#(isNaturalKind(head(V1))) → U211#(isLNatKind(V1))
U322#(X1, X2, X3, mark(X4)) → U322#(X1, X2, X3, X4)active#(U41(tt, V1, V2)) → U42#(isNaturalKind(V1), V1, V2)
mark#(U13(X1, X2, X3)) → mark#(X1)active#(U51(tt, V1, V2)) → U52#(isNaturalKind(V1), V1, V2)
active#(U43(tt, V1, V2)) → U44#(isLNatKind(V2), V1, V2)mark#(U203(X1, X2, X3)) → U203#(mark(X1), X2, X3)
mark#(U172(X)) → U172#(mark(X))U292#(X1, X2, mark(X3)) → U292#(X1, X2, X3)
U62#(X1, mark(X2)) → U62#(X1, X2)active#(U54(tt, V1, V2)) → isNatural#(V1)
mark#(afterNth(X1, X2)) → mark#(X1)U41#(X1, active(X2), X3) → U41#(X1, X2, X3)
mark#(U161(X)) → U161#(mark(X))active#(U23(tt, X, Y)) → isLNatKind#(Y)
mark#(U24(X1, X2)) → active#(U24(mark(X1), X2))active#(U45(tt, V2)) → isLNat#(V2)
mark#(U255(X1, X2)) → U255#(mark(X1), X2)U326#(active(X1), X2, X3, X4) → U326#(X1, X2, X3, X4)
U243#(X1, X2, active(X3)) → U243#(X1, X2, X3)mark#(U182(X1, X2)) → active#(U182(mark(X1), X2))
mark#(U43(X1, X2, X3)) → mark#(X1)active#(sel(N, XS)) → U291#(isNatural(N), N, XS)
mark#(U252(X1, X2, X3)) → active#(U252(mark(X1), X2, X3))U14#(mark(X1), X2, X3) → U14#(X1, X2, X3)
U344#(X1, X2, mark(X3)) → U344#(X1, X2, X3)U202#(X1, X2, active(X3)) → U202#(X1, X2, X3)
U242#(mark(X1), X2, X3) → U242#(X1, X2, X3)active#(U53(tt, V1, V2)) → U54#(isLNatKind(V2), V1, V2)
mark#(head(X)) → mark#(X)U54#(active(X1), X2, X3) → U54#(X1, X2, X3)
mark#(U303(X1, X2)) → U303#(mark(X1), X2)mark#(U24(X1, X2)) → U24#(mark(X1), X2)
U332#(mark(X1), X2) → U332#(X1, X2)U244#(active(X1), X2, X3) → U244#(X1, X2, X3)
mark#(U256(X)) → U256#(mark(X))U205#(mark(X1), X2) → U205#(X1, X2)
active#(U91(tt, V1)) → isLNatKind#(V1)mark#(U221(X)) → active#(U221(mark(X)))
U254#(active(X1), X2, X3) → U254#(X1, X2, X3)U253#(mark(X1), X2, X3) → U253#(X1, X2, X3)
active#(U342(tt, N, XS)) → isLNat#(XS)active#(isLNat(natsFrom(V1))) → mark#(U71(isNaturalKind(V1), V1))
mark#(U312(X1, X2)) → U312#(mark(X1), X2)active#(sel(N, XS)) → isNatural#(N)
active#(U121(tt, V2)) → mark#(U122(isLNatKind(V2)))mark#(U82(X1, X2)) → mark#(X1)
U292#(X1, active(X2), X3) → U292#(X1, X2, X3)U261#(X1, active(X2)) → U261#(X1, X2)
mark#(U22(X1, X2, X3)) → mark#(X1)U171#(mark(X1), X2) → U171#(X1, X2)
active#(U32(tt, N, XS)) → mark#(U33(isLNat(XS), N, XS))U251#(X1, active(X2), X3) → U251#(X1, X2, X3)
U31#(X1, X2, active(X3)) → U31#(X1, X2, X3)U231#(mark(X1), X2) → U231#(X1, X2)
U171#(active(X1), X2) → U171#(X1, X2)mark#(U312(X1, X2)) → active#(U312(mark(X1), X2))
U103#(X1, X2, active(X3)) → U103#(X1, X2, X3)U102#(X1, active(X2), X3) → U102#(X1, X2, X3)
mark#(U92(X1, X2)) → U92#(mark(X1), X2)mark#(U292(X1, X2, X3)) → U292#(mark(X1), X2, X3)
active#(U293(tt, N, XS)) → isLNatKind#(XS)U42#(X1, X2, mark(X3)) → U42#(X1, X2, X3)
mark#(U251(X1, X2, X3)) → U251#(mark(X1), X2, X3)mark#(U172(X)) → mark#(X)
active#(U242(tt, V1, V2)) → isLNatKind#(V2)U342#(mark(X1), X2, X3) → U342#(X1, X2, X3)
U92#(active(X1), X2) → U92#(X1, X2)U182#(mark(X1), X2) → U182#(X1, X2)
U23#(X1, X2, mark(X3)) → U23#(X1, X2, X3)active#(afterNth(N, XS)) → isNatural#(N)
U192#(X1, active(X2)) → U192#(X1, X2)U34#(mark(X1), X2) → U34#(X1, X2)
U252#(X1, X2, active(X3)) → U252#(X1, X2, X3)U211#(active(X)) → U211#(X)
active#(isNatural(sel(V1, V2))) → isNaturalKind#(V1)active#(U281(tt, N)) → isNaturalKind#(N)
U105#(mark(X1), X2) → U105#(X1, X2)mark#(sel(X1, X2)) → sel#(mark(X1), mark(X2))
mark#(U183(X)) → mark#(X)U121#(X1, active(X2)) → U121#(X1, X2)
U21#(X1, mark(X2), X3) → U21#(X1, X2, X3)U42#(active(X1), X2, X3) → U42#(X1, X2, X3)
U333#(X1, active(X2)) → U333#(X1, X2)active#(U205(tt, V2)) → isLNat#(V2)
active#(U171(tt, V2)) → isLNatKind#(V2)U243#(mark(X1), X2, X3) → U243#(X1, X2, X3)
active#(U72(tt, V1)) → isNatural#(V1)U102#(X1, mark(X2), X3) → U102#(X1, X2, X3)
U11#(mark(X1), X2, X3) → U11#(X1, X2, X3)active#(U324(tt, N, X, XS)) → isLNat#(XS)
cons#(X1, active(X2)) → cons#(X1, X2)active#(U82(tt, V1)) → U83#(isPLNat(V1))
active#(U71(tt, V1)) → isNaturalKind#(V1)active#(snd(pair(X, Y))) → isLNat#(X)
U51#(active(X1), X2, X3) → U51#(X1, X2, X3)U105#(X1, mark(X2)) → U105#(X1, X2)
active#(U182(tt, V1)) → isLNat#(V1)U203#(X1, mark(X2), X3) → U203#(X1, X2, X3)
U82#(active(X1), X2) → U82#(X1, X2)active#(isNatural(head(V1))) → mark#(U181(isLNatKind(V1), V1))
U331#(mark(X1), X2, X3) → U331#(X1, X2, X3)active#(U282(tt, N)) → s#(N)
take#(mark(X1), X2) → take#(X1, X2)U204#(X1, active(X2), X3) → U204#(X1, X2, X3)
mark#(U101(X1, X2, X3)) → active#(U101(mark(X1), X2, X3))active#(afterNth(N, XS)) → mark#(U11(isNatural(N), N, XS))
U101#(X1, active(X2), X3) → U101#(X1, X2, X3)mark#(U183(X)) → active#(U183(mark(X)))
mark#(U192(X1, X2)) → active#(U192(mark(X1), X2))mark#(pair(X1, X2)) → pair#(mark(X1), mark(X2))
mark#(U271(X1, X2)) → active#(U271(mark(X1), X2))mark#(U272(X)) → U272#(mark(X))
mark#(U131(X)) → mark#(X)mark#(U82(X1, X2)) → active#(U82(mark(X1), X2))
active#(isPLNatKind(pair(V1, V2))) → mark#(U261(isLNatKind(V1), V2))mark#(U341(X1, X2, X3)) → mark#(X1)
active#(U181(tt, V1)) → isLNatKind#(V1)active#(U245(tt, V2)) → isLNat#(V2)
active#(U33(tt, N, XS)) → mark#(U34(isLNatKind(XS), N))mark#(U325(X1, X2, X3, X4)) → mark#(X1)
mark#(U42(X1, X2, X3)) → active#(U42(mark(X1), X2, X3))U11#(X1, X2, mark(X3)) → U11#(X1, X2, X3)
active#(U81(tt, V1)) → U82#(isPLNatKind(V1), V1)active#(U55(tt, V2)) → U56#(isLNat(V2))
U293#(X1, X2, active(X3)) → U293#(X1, X2, X3)U111#(active(X1), X2) → U111#(X1, X2)
active#(U292(tt, N, XS)) → U293#(isLNat(XS), N, XS)mark#(U24(X1, X2)) → mark#(X1)
U325#(X1, mark(X2), X3, X4) → U325#(X1, X2, X3, X4)active#(U293(tt, N, XS)) → mark#(U294(isLNatKind(XS), N, XS))
U32#(active(X1), X2, X3) → U32#(X1, X2, X3)active#(U302(tt, Y)) → isLNat#(Y)
isLNat#(mark(X)) → isLNat#(X)active#(U45(tt, V2)) → U46#(isLNat(V2))
mark#(isLNat(X)) → isLNat#(X)mark#(U33(X1, X2, X3)) → active#(U33(mark(X1), X2, X3))
mark#(U56(X)) → mark#(X)active#(U211(tt)) → mark#(tt)
U93#(active(X)) → U93#(X)active#(isLNatKind(tail(V1))) → isLNatKind#(V1)
mark#(U324(X1, X2, X3, X4)) → U324#(mark(X1), X2, X3, X4)mark#(U103(X1, X2, X3)) → active#(U103(mark(X1), X2, X3))
U344#(X1, X2, active(X3)) → U344#(X1, X2, X3)active#(fst(pair(X, Y))) → isLNat#(X)
active#(U243(tt, V1, V2)) → U244#(isLNatKind(V2), V1, V2)active#(U332(tt, XS)) → U333#(isLNat(XS), XS)
active#(U72(tt, V1)) → mark#(U73(isNatural(V1)))mark#(U51(X1, X2, X3)) → U51#(mark(X1), X2, X3)
U24#(active(X1), X2) → U24#(X1, X2)mark#(U311(X1, X2)) → active#(U311(mark(X1), X2))
active#(U181(tt, V1)) → mark#(U182(isLNatKind(V1), V1))U55#(mark(X1), X2) → U55#(X1, X2)
U323#(X1, X2, X3, mark(X4)) → U323#(X1, X2, X3, X4)U271#(X1, mark(X2)) → U271#(X1, X2)
active#(U322(tt, N, X, XS)) → mark#(U323(isNatural(X), N, X, XS))mark#(U101(X1, X2, X3)) → mark#(X1)
U244#(X1, mark(X2), X3) → U244#(X1, X2, X3)U303#(mark(X1), X2) → U303#(X1, X2)
active#(U51(tt, V1, V2)) → isNaturalKind#(V1)mark#(U303(X1, X2)) → mark#(X1)
U105#(active(X1), X2) → U105#(X1, X2)active#(isNaturalKind(head(V1))) → isLNatKind#(V1)
mark#(U251(X1, X2, X3)) → active#(U251(mark(X1), X2, X3))U241#(X1, mark(X2), X3) → U241#(X1, X2, X3)
U334#(active(X1), X2) → U334#(X1, X2)U44#(mark(X1), X2, X3) → U44#(X1, X2, X3)
mark#(U72(X1, X2)) → mark#(X1)active#(U261(tt, V2)) → isLNatKind#(V2)
mark#(U256(X)) → mark#(X)U11#(X1, active(X2), X3) → U11#(X1, X2, X3)
mark#(U181(X1, X2)) → active#(U181(mark(X1), X2))U321#(X1, active(X2), X3, X4) → U321#(X1, X2, X3, X4)
active#(isNaturalKind(s(V1))) → isNaturalKind#(V1)active#(U344(tt, N, XS)) → splitAt#(N, XS)
active#(U245(tt, V2)) → mark#(U246(isLNat(V2)))U202#(X1, X2, mark(X3)) → U202#(X1, X2, X3)
U292#(active(X1), X2, X3) → U292#(X1, X2, X3)sel#(X1, active(X2)) → sel#(X1, X2)
U251#(X1, mark(X2), X3) → U251#(X1, X2, X3)active#(U102(tt, V1, V2)) → U103#(isLNatKind(V2), V1, V2)
mark#(tail(X)) → mark#(X)mark#(U201(X1, X2, X3)) → active#(U201(mark(X1), X2, X3))
mark#(U202(X1, X2, X3)) → U202#(mark(X1), X2, X3)mark#(afterNth(X1, X2)) → mark#(X2)
mark#(U301(X1, X2, X3)) → U301#(mark(X1), X2, X3)U327#(X1, active(X2)) → U327#(X1, X2)
U13#(mark(X1), X2, X3) → U13#(X1, X2, X3)mark#(U62(X1, X2)) → active#(U62(mark(X1), X2))
mark#(U103(X1, X2, X3)) → U103#(mark(X1), X2, X3)mark#(U292(X1, X2, X3)) → mark#(X1)
U43#(X1, active(X2), X3) → U43#(X1, X2, X3)active#(U231(tt, V2)) → isLNatKind#(V2)
U43#(X1, mark(X2), X3) → U43#(X1, X2, X3)active#(isLNat(tail(V1))) → mark#(U91(isLNatKind(V1), V1))
mark#(tt) → active#(tt)active#(isLNatKind(natsFrom(V1))) → isNaturalKind#(V1)
mark#(U61(X1, X2)) → U61#(mark(X1), X2)active#(U311(tt, XS)) → mark#(U312(isLNatKind(XS), XS))
U201#(X1, active(X2), X3) → U201#(X1, X2, X3)active#(U105(tt, V2)) → isLNat#(V2)
mark#(U51(X1, X2, X3)) → mark#(X1)U45#(active(X1), X2) → U45#(X1, X2)
active#(U341(tt, N, XS)) → U342#(isNaturalKind(N), N, XS)U71#(mark(X1), X2) → U71#(X1, X2)
active#(U44(tt, V1, V2)) → U45#(isNatural(V1), V2)active#(U202(tt, V1, V2)) → mark#(U203(isLNatKind(V2), V1, V2))
U22#(X1, mark(X2), X3) → U22#(X1, X2, X3)U181#(active(X1), X2) → U181#(X1, X2)
U52#(X1, X2, mark(X3)) → U52#(X1, X2, X3)mark#(s(X)) → active#(s(mark(X)))
active#(U325(tt, N, X, XS)) → isLNatKind#(XS)head#(mark(X)) → head#(X)
U205#(X1, mark(X2)) → U205#(X1, X2)U52#(active(X1), X2, X3) → U52#(X1, X2, X3)
U141#(mark(X)) → U141#(X)mark#(U211(X)) → U211#(mark(X))
active#(U103(tt, V1, V2)) → mark#(U104(isLNatKind(V2), V1, V2))active#(U191(tt, V1)) → U192#(isNaturalKind(V1), V1)
mark#(U12(X1, X2, X3)) → U12#(mark(X1), X2, X3)U93#(mark(X)) → U93#(X)
U293#(X1, X2, mark(X3)) → U293#(X1, X2, X3)U72#(X1, mark(X2)) → U72#(X1, X2)
active#(U301(tt, X, Y)) → mark#(U302(isLNatKind(X), Y))U106#(mark(X)) → U106#(X)
U22#(X1, active(X2), X3) → U22#(X1, X2, X3)mark#(cons(X1, X2)) → active#(cons(mark(X1), X2))
U331#(X1, active(X2), X3) → U331#(X1, X2, X3)U327#(mark(X1), X2) → U327#(X1, X2)
U331#(active(X1), X2, X3) → U331#(X1, X2, X3)U326#(X1, mark(X2), X3, X4) → U326#(X1, X2, X3, X4)
mark#(U32(X1, X2, X3)) → mark#(X1)U24#(mark(X1), X2) → U24#(X1, X2)
U211#(mark(X)) → U211#(X)U44#(X1, mark(X2), X3) → U44#(X1, X2, X3)
U343#(mark(X1), X2, X3) → U343#(X1, X2, X3)mark#(U321(X1, X2, X3, X4)) → U321#(mark(X1), X2, X3, X4)
U202#(X1, mark(X2), X3) → U202#(X1, X2, X3)U62#(mark(X1), X2) → U62#(X1, X2)
active#(isNaturalKind(sel(V1, V2))) → mark#(U231(isNaturalKind(V1), V2))U321#(mark(X1), X2, X3, X4) → U321#(X1, X2, X3, X4)
pair#(active(X1), X2) → pair#(X1, X2)U254#(X1, X2, mark(X3)) → U254#(X1, X2, X3)
U206#(active(X)) → U206#(X)U103#(X1, X2, mark(X3)) → U103#(X1, X2, X3)
active#(isLNat(snd(V1))) → U81#(isPLNatKind(V1), V1)active#(isPLNat(splitAt(V1, V2))) → isNaturalKind#(V1)
active#(isLNatKind(tail(V1))) → mark#(U161(isLNatKind(V1)))U321#(X1, mark(X2), X3, X4) → U321#(X1, X2, X3, X4)
U32#(X1, X2, active(X3)) → U32#(X1, X2, X3)U326#(X1, X2, active(X3), X4) → U326#(X1, X2, X3, X4)
active#(U191(tt, V1)) → isNaturalKind#(V1)active#(U101(tt, V1, V2)) → mark#(U102(isNaturalKind(V1), V1, V2))
U13#(active(X1), X2, X3) → U13#(X1, X2, X3)U71#(X1, active(X2)) → U71#(X1, X2)
mark#(U112(X)) → mark#(X)U326#(X1, X2, mark(X3), X4) → U326#(X1, X2, X3, X4)
active#(U303(tt, Y)) → U304#(isLNatKind(Y), Y)active#(U103(tt, V1, V2)) → U104#(isLNatKind(V2), V1, V2)
U111#(X1, active(X2)) → U111#(X1, X2)U304#(active(X1), X2) → U304#(X1, X2)
U302#(X1, active(X2)) → U302#(X1, X2)mark#(U321(X1, X2, X3, X4)) → mark#(X1)
U281#(active(X1), X2) → U281#(X1, X2)mark#(U203(X1, X2, X3)) → mark#(X1)
U24#(X1, mark(X2)) → U24#(X1, X2)U23#(X1, mark(X2), X3) → U23#(X1, X2, X3)
active#(U63(tt)) → mark#(tt)active#(U291(tt, N, XS)) → isNaturalKind#(N)
U23#(mark(X1), X2, X3) → U23#(X1, X2, X3)mark#(U44(X1, X2, X3)) → mark#(X1)
U255#(mark(X1), X2) → U255#(X1, X2)active#(U161(tt)) → mark#(tt)
U205#(X1, active(X2)) → U205#(X1, X2)mark#(U282(X1, X2)) → active#(U282(mark(X1), X2))
mark#(U272(X)) → active#(U272(mark(X)))U192#(X1, mark(X2)) → U192#(X1, X2)
mark#(U211(X)) → mark#(X)U294#(mark(X1), X2, X3) → U294#(X1, X2, X3)
U201#(X1, mark(X2), X3) → U201#(X1, X2, X3)mark#(isPLNat(X)) → active#(isPLNat(X))
active#(isLNatKind(nil)) → mark#(tt)active#(tail(cons(N, XS))) → mark#(U331(isNatural(N), N, XS))
mark#(U294(X1, X2, X3)) → active#(U294(mark(X1), X2, X3))active#(U333(tt, XS)) → mark#(U334(isLNatKind(XS), XS))
active#(U255(tt, V2)) → mark#(U256(isLNat(V2)))mark#(U342(X1, X2, X3)) → mark#(X1)
mark#(U191(X1, X2)) → active#(U191(mark(X1), X2))active#(fst(pair(X, Y))) → mark#(U21(isLNat(X), X, Y))
mark#(U241(X1, X2, X3)) → active#(U241(mark(X1), X2, X3))U325#(X1, X2, X3, active(X4)) → U325#(X1, X2, X3, X4)
U254#(X1, active(X2), X3) → U254#(X1, X2, X3)mark#(U193(X)) → mark#(X)
U44#(X1, active(X2), X3) → U44#(X1, X2, X3)active#(U253(tt, V1, V2)) → mark#(U254(isLNatKind(V2), V1, V2))
U33#(active(X1), X2, X3) → U33#(X1, X2, X3)active#(splitAt(s(N), cons(X, XS))) → mark#(U321(isNatural(N), N, X, XS))
s#(active(X)) → s#(X)U327#(X1, mark(X2)) → U327#(X1, X2)
U31#(mark(X1), X2, X3) → U31#(X1, X2, X3)take#(active(X1), X2) → take#(X1, X2)
U103#(active(X1), X2, X3) → U103#(X1, X2, X3)active#(isLNat(afterNth(V1, V2))) → isNaturalKind#(V1)
active#(U231(tt, V2)) → mark#(U232(isLNatKind(V2)))active#(U323(tt, N, X, XS)) → mark#(U324(isNaturalKind(X), N, X, XS))
mark#(U104(X1, X2, X3)) → U104#(mark(X1), X2, X3)active#(splitAt(s(N), cons(X, XS))) → U321#(isNatural(N), N, X, XS)
active#(U32(tt, N, XS)) → U33#(isLNat(XS), N, XS)active#(U331(tt, N, XS)) → mark#(U332(isNaturalKind(N), XS))
mark#(U102(X1, X2, X3)) → U102#(mark(X1), X2, X3)mark#(U102(X1, X2, X3)) → active#(U102(mark(X1), X2, X3))
mark#(U342(X1, X2, X3)) → active#(U342(mark(X1), X2, X3))U245#(mark(X1), X2) → U245#(X1, X2)
active#(U202(tt, V1, V2)) → U203#(isLNatKind(V2), V1, V2)mark#(take(X1, X2)) → active#(take(mark(X1), mark(X2)))
U242#(X1, X2, active(X3)) → U242#(X1, X2, X3)U282#(active(X1), X2) → U282#(X1, X2)
active#(isLNat(cons(V1, V2))) → isNaturalKind#(V1)active#(U203(tt, V1, V2)) → mark#(U204(isLNatKind(V2), V1, V2))
mark#(U201(X1, X2, X3)) → mark#(X1)mark#(U294(X1, X2, X3)) → mark#(X1)
U302#(mark(X1), X2) → U302#(X1, X2)U325#(X1, X2, active(X3), X4) → U325#(X1, X2, X3, X4)
mark#(U221(X)) → mark#(X)isLNatKind#(active(X)) → isLNatKind#(X)
mark#(U204(X1, X2, X3)) → mark#(X1)mark#(U33(X1, X2, X3)) → mark#(X1)
mark#(U343(X1, X2, X3)) → active#(U343(mark(X1), X2, X3))mark#(U243(X1, X2, X3)) → mark#(X1)
U326#(X1, active(X2), X3, X4) → U326#(X1, X2, X3, X4)U54#(mark(X1), X2, X3) → U54#(X1, X2, X3)
active#(isLNat(take(V1, V2))) → isNaturalKind#(V1)afterNth#(active(X1), X2) → afterNth#(X1, X2)
mark#(U31(X1, X2, X3)) → active#(U31(mark(X1), X2, X3))U102#(X1, X2, active(X3)) → U102#(X1, X2, X3)
active#(U252(tt, V1, V2)) → isLNatKind#(V2)mark#(U112(X)) → U112#(mark(X))
active#(snd(pair(X, Y))) → mark#(U301(isLNat(X), X, Y))splitAt#(X1, mark(X2)) → splitAt#(X1, X2)
mark#(U205(X1, X2)) → U205#(mark(X1), X2)U243#(active(X1), X2, X3) → U243#(X1, X2, X3)
U12#(X1, active(X2), X3) → U12#(X1, X2, X3)mark#(U41(X1, X2, X3)) → mark#(X1)
mark#(U312(X1, X2)) → mark#(X1)U201#(mark(X1), X2, X3) → U201#(X1, X2, X3)
U282#(X1, mark(X2)) → U282#(X1, X2)mark#(U11(X1, X2, X3)) → mark#(X1)
mark#(U45(X1, X2)) → mark#(X1)U252#(active(X1), X2, X3) → U252#(X1, X2, X3)
mark#(U342(X1, X2, X3)) → U342#(mark(X1), X2, X3)mark#(U73(X)) → mark#(X)
natsFrom#(mark(X)) → natsFrom#(X)mark#(U151(X)) → active#(U151(mark(X)))
mark#(U251(X1, X2, X3)) → mark#(X1)active#(U201(tt, V1, V2)) → isNaturalKind#(V1)
U191#(X1, mark(X2)) → U191#(X1, X2)active#(take(N, XS)) → isNatural#(N)
active#(U206(tt)) → mark#(tt)active#(U61(tt, V1)) → U62#(isPLNatKind(V1), V1)
U91#(X1, mark(X2)) → U91#(X1, X2)active#(U342(tt, N, XS)) → mark#(U343(isLNat(XS), N, XS))
mark#(U333(X1, X2)) → U333#(mark(X1), X2)isNatural#(mark(X)) → isNatural#(X)
mark#(isNatural(X)) → isNatural#(X)mark#(U22(X1, X2, X3)) → U22#(mark(X1), X2, X3)
isPLNat#(active(X)) → isPLNat#(X)U22#(active(X1), X2, X3) → U22#(X1, X2, X3)
U11#(active(X1), X2, X3) → U11#(X1, X2, X3)U244#(mark(X1), X2, X3) → U244#(X1, X2, X3)
U201#(active(X1), X2, X3) → U201#(X1, X2, X3)U221#(mark(X)) → U221#(X)
U231#(X1, active(X2)) → U231#(X1, X2)mark#(U14(X1, X2, X3)) → active#(U14(mark(X1), X2, X3))
mark#(U242(X1, X2, X3)) → active#(U242(mark(X1), X2, X3))U311#(active(X1), X2) → U311#(X1, X2)
U191#(mark(X1), X2) → U191#(X1, X2)active#(U324(tt, N, X, XS)) → mark#(U325(isLNat(XS), N, X, XS))
mark#(U106(X)) → active#(U106(mark(X)))mark#(U46(X)) → active#(U46(mark(X)))
U192#(mark(X1), X2) → U192#(X1, X2)mark#(U253(X1, X2, X3)) → mark#(X1)
active#(U321(tt, N, X, XS)) → U322#(isNaturalKind(N), N, X, XS)U52#(X1, active(X2), X3) → U52#(X1, X2, X3)
U322#(active(X1), X2, X3, X4) → U322#(X1, X2, X3, X4)cons#(active(X1), X2) → cons#(X1, X2)
mark#(natsFrom(X)) → mark#(X)U253#(X1, mark(X2), X3) → U253#(X1, X2, X3)
mark#(U83(X)) → active#(U83(mark(X)))active#(sel(N, XS)) → mark#(U291(isNatural(N), N, XS))
active#(U341(tt, N, XS)) → isNaturalKind#(N)U73#(active(X)) → U73#(X)
active#(U14(tt, N, XS)) → mark#(snd(splitAt(N, XS)))mark#(U271(X1, X2)) → U271#(mark(X1), X2)
U342#(X1, mark(X2), X3) → U342#(X1, X2, X3)mark#(U255(X1, X2)) → mark#(X1)
active#(U303(tt, Y)) → isLNatKind#(Y)active#(isLNatKind(take(V1, V2))) → isNaturalKind#(V1)
mark#(U191(X1, X2)) → mark#(X1)active#(U14(tt, N, XS)) → splitAt#(N, XS)
active#(U11(tt, N, XS)) → U12#(isNaturalKind(N), N, XS)active#(U203(tt, V1, V2)) → U204#(isLNatKind(V2), V1, V2)
U204#(X1, X2, active(X3)) → U204#(X1, X2, X3)active#(isNatural(sel(V1, V2))) → mark#(U201(isNaturalKind(V1), V1, V2))
active#(U23(tt, X, Y)) → mark#(U24(isLNatKind(Y), X))U181#(X1, active(X2)) → U181#(X1, X2)
active#(U262(tt)) → mark#(tt)isNatural#(active(X)) → isNatural#(X)
active#(U43(tt, V1, V2)) → mark#(U44(isLNatKind(V2), V1, V2))U61#(active(X1), X2) → U61#(X1, X2)
active#(head(cons(N, XS))) → isNatural#(N)mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))
active#(U13(tt, N, XS)) → isLNatKind#(XS)U92#(X1, mark(X2)) → U92#(X1, X2)
active#(take(N, XS)) → U341#(isNatural(N), N, XS)active#(U121(tt, V2)) → isLNatKind#(V2)
active#(U254(tt, V1, V2)) → isNatural#(V1)mark#(U46(X)) → U46#(mark(X))
U82#(X1, mark(X2)) → U82#(X1, X2)U13#(X1, active(X2), X3) → U13#(X1, X2, X3)
active#(U21(tt, X, Y)) → isLNatKind#(X)active#(splitAt(s(N), cons(X, XS))) → isNatural#(N)
active#(isLNatKind(cons(V1, V2))) → U121#(isNaturalKind(V1), V2)active#(isLNatKind(afterNth(V1, V2))) → U111#(isNaturalKind(V1), V2)
mark#(U201(X1, X2, X3)) → U201#(mark(X1), X2, X3)isPLNat#(mark(X)) → isPLNat#(X)
active#(U54(tt, V1, V2)) → mark#(U55(isNatural(V1), V2))active#(U254(tt, V1, V2)) → mark#(U255(isNatural(V1), V2))
mark#(isPLNat(X)) → isPLNat#(X)U131#(active(X)) → U131#(X)
active#(U323(tt, N, X, XS)) → isNaturalKind#(X)mark#(splitAt(X1, X2)) → active#(splitAt(mark(X1), mark(X2)))
U294#(active(X1), X2, X3) → U294#(X1, X2, X3)mark#(U31(X1, X2, X3)) → mark#(X1)
U253#(X1, active(X2), X3) → U253#(X1, X2, X3)mark#(U322(X1, X2, X3, X4)) → active#(U322(mark(X1), X2, X3, X4))
U103#(X1, mark(X2), X3) → U103#(X1, X2, X3)active#(isLNatKind(snd(V1))) → isPLNatKind#(V1)
active#(U205(tt, V2)) → mark#(U206(isLNat(V2)))active#(U252(tt, V1, V2)) → mark#(U253(isLNatKind(V2), V1, V2))
U253#(X1, X2, active(X3)) → U253#(X1, X2, X3)U246#(active(X)) → U246#(X)
active#(U102(tt, V1, V2)) → mark#(U103(isLNatKind(V2), V1, V2))mark#(U46(X)) → mark#(X)
mark#(U232(X)) → active#(U232(mark(X)))U341#(X1, active(X2), X3) → U341#(X1, X2, X3)
mark#(U343(X1, X2, X3)) → mark#(X1)sel#(mark(X1), X2) → sel#(X1, X2)
U341#(X1, X2, mark(X3)) → U341#(X1, X2, X3)mark#(U41(X1, X2, X3)) → U41#(mark(X1), X2, X3)
U104#(X1, X2, mark(X3)) → U104#(X1, X2, X3)U252#(X1, X2, mark(X3)) → U252#(X1, X2, X3)
mark#(U321(X1, X2, X3, X4)) → active#(U321(mark(X1), X2, X3, X4))U12#(X1, mark(X2), X3) → U12#(X1, X2, X3)
mark#(U181(X1, X2)) → mark#(X1)U61#(X1, mark(X2)) → U61#(X1, X2)
mark#(nil) → active#(nil)U111#(X1, mark(X2)) → U111#(X1, X2)
active#(U327(pair(YS, ZS), X)) → mark#(pair(cons(X, YS), ZS))take#(X1, active(X2)) → take#(X1, X2)
U106#(active(X)) → U106#(X)U31#(X1, X2, mark(X3)) → U31#(X1, X2, X3)
active#(U221(tt)) → mark#(tt)mark#(cons(X1, X2)) → cons#(mark(X1), X2)
U301#(X1, active(X2), X3) → U301#(X1, X2, X3)active#(U55(tt, V2)) → isLNat#(V2)
mark#(U44(X1, X2, X3)) → active#(U44(mark(X1), X2, X3))active#(U291(tt, N, XS)) → U292#(isNaturalKind(N), N, XS)
U294#(X1, X2, mark(X3)) → U294#(X1, X2, X3)active#(U61(tt, V1)) → isPLNatKind#(V1)
mark#(U244(X1, X2, X3)) → mark#(X1)U304#(X1, active(X2)) → U304#(X1, X2)
U161#(active(X)) → U161#(X)active#(U103(tt, V1, V2)) → isLNatKind#(V2)
U255#(X1, mark(X2)) → U255#(X1, X2)U63#(mark(X)) → U63#(X)
active#(U191(tt, V1)) → mark#(U192(isNaturalKind(V1), V1))U32#(mark(X1), X2, X3) → U32#(X1, X2, X3)
active#(U42(tt, V1, V2)) → isLNatKind#(V2)U122#(mark(X)) → U122#(X)
isLNatKind#(mark(X)) → isLNatKind#(X)mark#(isLNatKind(X)) → isLNatKind#(X)
U343#(X1, X2, mark(X3)) → U343#(X1, X2, X3)U112#(active(X)) → U112#(X)
U251#(mark(X1), X2, X3) → U251#(X1, X2, X3)active#(U13(tt, N, XS)) → U14#(isLNatKind(XS), N, XS)
mark#(U281(X1, X2)) → mark#(X1)active#(U322(tt, N, X, XS)) → isNatural#(X)
active#(U251(tt, V1, V2)) → isNaturalKind#(V1)active#(U292(tt, N, XS)) → mark#(U293(isLNat(XS), N, XS))
active#(U312(tt, XS)) → mark#(pair(nil, XS))mark#(U131(X)) → U131#(mark(X))
U71#(X1, mark(X2)) → U71#(X1, X2)mark#(U192(X1, X2)) → mark#(X1)
U322#(X1, X2, X3, active(X4)) → U322#(X1, X2, X3, X4)U293#(active(X1), X2, X3) → U293#(X1, X2, X3)
U323#(X1, active(X2), X3, X4) → U323#(X1, X2, X3, X4)splitAt#(mark(X1), X2) → splitAt#(X1, X2)
mark#(U302(X1, X2)) → U302#(mark(X1), X2)U334#(X1, active(X2)) → U334#(X1, X2)
U321#(X1, X2, X3, active(X4)) → U321#(X1, X2, X3, X4)mark#(U73(X)) → U73#(mark(X))
isPLNatKind#(active(X)) → isPLNatKind#(X)U321#(X1, X2, X3, mark(X4)) → U321#(X1, X2, X3, X4)
active#(isLNatKind(afterNth(V1, V2))) → isNaturalKind#(V1)active#(U104(tt, V1, V2)) → U105#(isNatural(V1), V2)
U56#(active(X)) → U56#(X)mark#(U231(X1, X2)) → mark#(X1)
active#(isLNatKind(snd(V1))) → U151#(isPLNatKind(V1))active#(U294(tt, N, XS)) → head#(afterNth(N, XS))
U241#(active(X1), X2, X3) → U241#(X1, X2, X3)U51#(X1, X2, active(X3)) → U51#(X1, X2, X3)
mark#(U63(X)) → active#(U63(mark(X)))U312#(X1, mark(X2)) → U312#(X1, X2)
active#(U183(tt)) → mark#(tt)U12#(mark(X1), X2, X3) → U12#(X1, X2, X3)
active#(isLNat(snd(V1))) → isPLNatKind#(V1)pair#(X1, mark(X2)) → pair#(X1, X2)
U112#(mark(X)) → U112#(X)mark#(U13(X1, X2, X3)) → active#(U13(mark(X1), X2, X3))
mark#(U42(X1, X2, X3)) → mark#(X1)U141#(active(X)) → U141#(X)
active#(isLNat(snd(V1))) → mark#(U81(isPLNatKind(V1), V1))U303#(X1, mark(X2)) → U303#(X1, X2)
active#(isLNat(nil)) → mark#(tt)mark#(isNaturalKind(X)) → active#(isNaturalKind(X))
mark#(U53(X1, X2, X3)) → mark#(X1)active#(U192(tt, V1)) → U193#(isNatural(V1))
U42#(X1, active(X2), X3) → U42#(X1, X2, X3)active#(U62(tt, V1)) → isPLNat#(V1)
active#(natsFrom(N)) → mark#(U281(isNatural(N), N))mark#(U63(X)) → mark#(X)
mark#(U111(X1, X2)) → active#(U111(mark(X1), X2))U243#(X1, active(X2), X3) → U243#(X1, X2, X3)
active#(isLNat(cons(V1, V2))) → U51#(isNaturalKind(V1), V1, V2)U33#(mark(X1), X2, X3) → U33#(X1, X2, X3)
active#(U323(tt, N, X, XS)) → U324#(isNaturalKind(X), N, X, XS)active#(U83(tt)) → mark#(tt)
active#(U333(tt, XS)) → U334#(isLNatKind(XS), XS)U323#(active(X1), X2, X3, X4) → U323#(X1, X2, X3, X4)
U181#(X1, mark(X2)) → U181#(X1, X2)mark#(U33(X1, X2, X3)) → U33#(mark(X1), X2, X3)
mark#(U254(X1, X2, X3)) → U254#(mark(X1), X2, X3)mark#(U55(X1, X2)) → U55#(mark(X1), X2)
mark#(U23(X1, X2, X3)) → mark#(X1)U171#(X1, mark(X2)) → U171#(X1, X2)
mark#(U323(X1, X2, X3, X4)) → mark#(X1)U55#(active(X1), X2) → U55#(X1, X2)
U44#(X1, X2, active(X3)) → U44#(X1, X2, X3)mark#(tail(X)) → tail#(mark(X))
active#(isNatural(0)) → mark#(tt)U82#(mark(X1), X2) → U82#(X1, X2)
U231#(active(X1), X2) → U231#(X1, X2)active#(U333(tt, XS)) → isLNatKind#(XS)
U81#(X1, mark(X2)) → U81#(X1, X2)U104#(X1, X2, active(X3)) → U104#(X1, X2, X3)
active#(isLNat(fst(V1))) → U61#(isPLNatKind(V1), V1)mark#(U56(X)) → active#(U56(mark(X)))
mark#(U323(X1, X2, X3, X4)) → U323#(mark(X1), X2, X3, X4)U45#(mark(X1), X2) → U45#(X1, X2)
U323#(X1, X2, mark(X3), X4) → U323#(X1, X2, X3, X4)mark#(U293(X1, X2, X3)) → active#(U293(mark(X1), X2, X3))
U61#(X1, active(X2)) → U61#(X1, X2)active#(U23(tt, X, Y)) → U24#(isLNatKind(Y), X)
U101#(X1, X2, mark(X3)) → U101#(X1, X2, X3)splitAt#(X1, active(X2)) → splitAt#(X1, X2)
mark#(U322(X1, X2, X3, X4)) → U322#(mark(X1), X2, X3, X4)U54#(X1, mark(X2), X3) → U54#(X1, X2, X3)
U41#(X1, X2, mark(X3)) → U41#(X1, X2, X3)active#(U44(tt, V1, V2)) → isNatural#(V1)
mark#(U105(X1, X2)) → mark#(X1)active#(U62(tt, V1)) → U63#(isPLNat(V1))
U322#(X1, X2, active(X3), X4) → U322#(X1, X2, X3, X4)active#(isPLNat(splitAt(V1, V2))) → U251#(isNaturalKind(V1), V1, V2)
U322#(mark(X1), X2, X3, X4) → U322#(X1, X2, X3, X4)mark#(U302(X1, X2)) → active#(U302(mark(X1), X2))
active#(U302(tt, Y)) → U303#(isLNat(Y), Y)mark#(U322(X1, X2, X3, X4)) → mark#(X1)
U344#(X1, mark(X2), X3) → U344#(X1, X2, X3)mark#(U92(X1, X2)) → active#(U92(mark(X1), X2))
mark#(U304(X1, X2)) → U304#(mark(X1), X2)mark#(U161(X)) → active#(U161(mark(X)))
active#(U344(tt, N, XS)) → mark#(fst(splitAt(N, XS)))U341#(mark(X1), X2, X3) → U341#(X1, X2, X3)
U253#(active(X1), X2, X3) → U253#(X1, X2, X3)active#(U12(tt, N, XS)) → U13#(isLNat(XS), N, XS)
U281#(X1, mark(X2)) → U281#(X1, X2)U342#(active(X1), X2, X3) → U342#(X1, X2, X3)
active#(U53(tt, V1, V2)) → mark#(U54(isLNatKind(V2), V1, V2))mark#(U253(X1, X2, X3)) → U253#(mark(X1), X2, X3)
U202#(mark(X1), X2, X3) → U202#(X1, X2, X3)active#(U202(tt, V1, V2)) → isLNatKind#(V2)
U244#(X1, active(X2), X3) → U244#(X1, X2, X3)active#(U311(tt, XS)) → isLNatKind#(XS)
U51#(X1, active(X2), X3) → U51#(X1, X2, X3)U53#(X1, X2, mark(X3)) → U53#(X1, X2, X3)
active#(U105(tt, V2)) → mark#(U106(isLNat(V2)))active#(isPLNatKind(pair(V1, V2))) → isLNatKind#(V1)
mark#(U34(X1, X2)) → mark#(X1)active#(U11(tt, N, XS)) → mark#(U12(isNaturalKind(N), N, XS))
mark#(U256(X)) → active#(U256(mark(X)))active#(U244(tt, V1, V2)) → mark#(U245(isLNat(V1), V2))
active#(U282(tt, N)) → natsFrom#(s(N))mark#(U243(X1, X2, X3)) → active#(U243(mark(X1), X2, X3))
U42#(mark(X1), X2, X3) → U42#(X1, X2, X3)active#(U325(tt, N, X, XS)) → mark#(U326(isLNatKind(XS), N, X, XS))
U333#(mark(X1), X2) → U333#(X1, X2)active#(U342(tt, N, XS)) → U343#(isLNat(XS), N, XS)
U42#(X1, mark(X2), X3) → U42#(X1, X2, X3)U293#(mark(X1), X2, X3) → U293#(X1, X2, X3)
sel#(active(X1), X2) → sel#(X1, X2)active#(isLNat(afterNth(V1, V2))) → mark#(U41(isNaturalKind(V1), V1, V2))
mark#(U311(X1, X2)) → U311#(mark(X1), X2)mark#(U334(X1, X2)) → active#(U334(mark(X1), X2))
mark#(U42(X1, X2, X3)) → U42#(mark(X1), X2, X3)U181#(mark(X1), X2) → U181#(X1, X2)
active#(U61(tt, V1)) → mark#(U62(isPLNatKind(V1), V1))mark#(U182(X1, X2)) → mark#(X1)
mark#(U32(X1, X2, X3)) → U32#(mark(X1), X2, X3)mark#(U21(X1, X2, X3)) → mark#(X1)
U325#(X1, X2, mark(X3), X4) → U325#(X1, X2, X3, X4)U104#(X1, mark(X2), X3) → U104#(X1, X2, X3)
mark#(U91(X1, X2)) → mark#(X1)mark#(U93(X)) → active#(U93(mark(X)))
U324#(active(X1), X2, X3, X4) → U324#(X1, X2, X3, X4)active#(U204(tt, V1, V2)) → U205#(isNatural(V1), V2)
active#(isLNat(tail(V1))) → isLNatKind#(V1)U321#(X1, X2, active(X3), X4) → U321#(X1, X2, X3, X4)
active#(U281(tt, N)) → U282#(isNaturalKind(N), N)U324#(X1, active(X2), X3, X4) → U324#(X1, X2, X3, X4)
active#(U205(tt, V2)) → U206#(isLNat(V2))mark#(U281(X1, X2)) → active#(U281(mark(X1), X2))
active#(U322(tt, N, X, XS)) → U323#(isNatural(X), N, X, XS)U91#(active(X1), X2) → U91#(X1, X2)
U53#(active(X1), X2, X3) → U53#(X1, X2, X3)active#(isLNatKind(afterNth(V1, V2))) → mark#(U111(isNaturalKind(V1), V2))
mark#(U23(X1, X2, X3)) → U23#(mark(X1), X2, X3)U14#(X1, X2, mark(X3)) → U14#(X1, X2, X3)
mark#(U71(X1, X2)) → active#(U71(mark(X1), X2))U171#(X1, active(X2)) → U171#(X1, X2)
mark#(U327(X1, X2)) → mark#(X1)U303#(X1, active(X2)) → U303#(X1, X2)
U201#(X1, X2, mark(X3)) → U201#(X1, X2, X3)mark#(U291(X1, X2, X3)) → mark#(X1)
U203#(active(X1), X2, X3) → U203#(X1, X2, X3)active#(U193(tt)) → mark#(tt)
active#(U111(tt, V2)) → mark#(U112(isLNatKind(V2)))U191#(active(X1), X2) → U191#(X1, X2)
active#(U81(tt, V1)) → mark#(U82(isPLNatKind(V1), V1))U81#(active(X1), X2) → U81#(X1, X2)
mark#(U83(X)) → U83#(mark(X))mark#(U242(X1, X2, X3)) → mark#(X1)
U101#(X1, mark(X2), X3) → U101#(X1, X2, X3)U51#(X1, X2, mark(X3)) → U51#(X1, X2, X3)
U311#(mark(X1), X2) → U311#(X1, X2)U245#(X1, mark(X2)) → U245#(X1, X2)
active#(U242(tt, V1, V2)) → mark#(U243(isLNatKind(V2), V1, V2))mark#(U323(X1, X2, X3, X4)) → active#(U323(mark(X1), X2, X3, X4))
active#(U22(tt, X, Y)) → mark#(U23(isLNat(Y), X, Y))active#(U254(tt, V1, V2)) → U255#(isNatural(V1), V2)
mark#(U301(X1, X2, X3)) → mark#(X1)U232#(active(X)) → U232#(X)
active#(isLNat(cons(V1, V2))) → mark#(U51(isNaturalKind(V1), V1, V2))active#(U255(tt, V2)) → U256#(isLNat(V2))
mark#(take(X1, X2)) → mark#(X2)active#(U302(tt, Y)) → mark#(U303(isLNat(Y), Y))
mark#(pair(X1, X2)) → active#(pair(mark(X1), mark(X2)))mark#(U83(X)) → mark#(X)
U62#(X1, active(X2)) → U62#(X1, X2)active#(isPLNat(pair(V1, V2))) → U241#(isLNatKind(V1), V1, V2)
U102#(active(X1), X2, X3) → U102#(X1, X2, X3)U326#(X1, X2, X3, active(X4)) → U326#(X1, X2, X3, X4)
active#(U14(tt, N, XS)) → snd#(splitAt(N, XS))mark#(U241(X1, X2, X3)) → mark#(X1)
isNaturalKind#(active(X)) → isNaturalKind#(X)U102#(X1, X2, mark(X3)) → U102#(X1, X2, X3)
active#(isNaturalKind(s(V1))) → U221#(isNaturalKind(V1))mark#(U171(X1, X2)) → mark#(X1)
active#(U22(tt, X, Y)) → isLNat#(Y)U256#(mark(X)) → U256#(X)
U324#(mark(X1), X2, X3, X4) → U324#(X1, X2, X3, X4)mark#(U206(X)) → active#(U206(mark(X)))
mark#(snd(X)) → active#(snd(mark(X)))active#(U102(tt, V1, V2)) → isLNatKind#(V2)
U256#(active(X)) → U256#(X)active#(isPLNatKind(pair(V1, V2))) → U261#(isLNatKind(V1), V2)
mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))mark#(isPLNatKind(X)) → active#(isPLNatKind(X))
active#(afterNth(N, XS)) → U11#(isNatural(N), N, XS)active#(U62(tt, V1)) → mark#(U63(isPLNat(V1)))
active#(isLNat(fst(V1))) → mark#(U61(isPLNatKind(V1), V1))U343#(X1, X2, active(X3)) → U343#(X1, X2, X3)
active#(U72(tt, V1)) → U73#(isNatural(V1))U43#(mark(X1), X2, X3) → U43#(X1, X2, X3)
U121#(active(X1), X2) → U121#(X1, X2)active#(U44(tt, V1, V2)) → mark#(U45(isNatural(V1), V2))
active#(U71(tt, V1)) → U72#(isNaturalKind(V1), V1)U104#(X1, active(X2), X3) → U104#(X1, X2, X3)
U131#(mark(X)) → U131#(X)mark#(U122(X)) → mark#(X)
U253#(X1, X2, mark(X3)) → U253#(X1, X2, X3)mark#(U171(X1, X2)) → U171#(mark(X1), X2)
U301#(X1, X2, active(X3)) → U301#(X1, X2, X3)active#(U293(tt, N, XS)) → U294#(isLNatKind(XS), N, XS)
active#(U21(tt, X, Y)) → mark#(U22(isLNatKind(X), X, Y))mark#(U111(X1, X2)) → mark#(X1)
mark#(U231(X1, X2)) → active#(U231(mark(X1), X2))head#(active(X)) → head#(X)
U254#(mark(X1), X2, X3) → U254#(X1, X2, X3)U103#(X1, active(X2), X3) → U103#(X1, X2, X3)
U53#(X1, mark(X2), X3) → U53#(X1, X2, X3)U254#(X1, mark(X2), X3) → U254#(X1, X2, X3)
U242#(X1, X2, mark(X3)) → U242#(X1, X2, X3)mark#(U243(X1, X2, X3)) → U243#(mark(X1), X2, X3)
active#(U12(tt, N, XS)) → isLNat#(XS)isLNat#(active(X)) → isLNat#(X)
mark#(U62(X1, X2)) → mark#(X1)U262#(active(X)) → U262#(X)
mark#(U141(X)) → active#(U141(mark(X)))U83#(active(X)) → U83#(X)
active#(U332(tt, XS)) → mark#(U333(isLNat(XS), XS))active#(U303(tt, Y)) → mark#(U304(isLNatKind(Y), Y))
active#(isLNat(take(V1, V2))) → U101#(isNaturalKind(V1), V1, V2)active#(U255(tt, V2)) → isLNat#(V2)
isPLNatKind#(mark(X)) → isPLNatKind#(X)cons#(X1, mark(X2)) → cons#(X1, X2)
mark#(isPLNatKind(X)) → isPLNatKind#(X)U343#(X1, active(X2), X3) → U343#(X1, X2, X3)
mark#(fst(X)) → mark#(X)snd#(mark(X)) → snd#(X)
mark#(U56(X)) → U56#(mark(X))active#(U343(tt, N, XS)) → mark#(U344(isLNatKind(XS), N, XS))
mark#(U131(X)) → active#(U131(mark(X)))mark#(U93(X)) → U93#(mark(X))
pair#(X1, active(X2)) → pair#(X1, X2)U333#(X1, mark(X2)) → U333#(X1, X2)
mark#(snd(X)) → mark#(X)U255#(X1, active(X2)) → U255#(X1, X2)
U32#(X1, mark(X2), X3) → U32#(X1, X2, X3)active#(U192(tt, V1)) → isNatural#(V1)
U302#(X1, mark(X2)) → U302#(X1, X2)U301#(active(X1), X2, X3) → U301#(X1, X2, X3)
active#(U101(tt, V1, V2)) → U102#(isNaturalKind(V1), V1, V2)U54#(X1, X2, mark(X3)) → U54#(X1, X2, X3)
active#(U244(tt, V1, V2)) → U245#(isLNat(V1), V2)mark#(take(X1, X2)) → mark#(X1)
mark#(U54(X1, X2, X3)) → mark#(X1)mark#(U45(X1, X2)) → active#(U45(mark(X1), X2))
mark#(U246(X)) → mark#(X)mark#(U303(X1, X2)) → active#(U303(mark(X1), X2))
U202#(active(X1), X2, X3) → U202#(X1, X2, X3)U232#(mark(X)) → U232#(X)
mark#(U332(X1, X2)) → U332#(mark(X1), X2)mark#(s(X)) → s#(mark(X))
mark#(U344(X1, X2, X3)) → active#(U344(mark(X1), X2, X3))U52#(X1, X2, active(X3)) → U52#(X1, X2, X3)
U34#(X1, mark(X2)) → U34#(X1, X2)mark#(U221(X)) → U221#(mark(X))
afterNth#(mark(X1), X2) → afterNth#(X1, X2)active#(isPLNat(pair(V1, V2))) → mark#(U241(isLNatKind(V1), V1, V2))
active#(U312(tt, XS)) → pair#(nil, XS)active#(U327(pair(YS, ZS), X)) → cons#(X, YS)
active#(U41(tt, V1, V2)) → isNaturalKind#(V1)U206#(mark(X)) → U206#(X)
active#(U245(tt, V2)) → U246#(isLNat(V2))U251#(active(X1), X2, X3) → U251#(X1, X2, X3)
U101#(active(X1), X2, X3) → U101#(X1, X2, X3)tail#(mark(X)) → tail#(X)
active#(U33(tt, N, XS)) → isLNatKind#(XS)mark#(sel(X1, X2)) → active#(sel(mark(X1), mark(X2)))
mark#(U61(X1, X2)) → active#(U61(mark(X1), X2))active#(U31(tt, N, XS)) → U32#(isNaturalKind(N), N, XS)
mark#(U105(X1, X2)) → active#(U105(mark(X1), X2))U23#(active(X1), X2, X3) → U23#(X1, X2, X3)
active#(isNatural(head(V1))) → isLNatKind#(V1)active#(U111(tt, V2)) → isLNatKind#(V2)
U323#(X1, X2, active(X3), X4) → U323#(X1, X2, X3, X4)active#(isNatural(s(V1))) → U191#(isNaturalKind(V1), V1)
active#(U282(tt, N)) → mark#(cons(N, natsFrom(s(N))))active#(isLNatKind(natsFrom(V1))) → U141#(isNaturalKind(V1))
mark#(U62(X1, X2)) → U62#(mark(X1), X2)mark#(U61(X1, X2)) → mark#(X1)
U344#(X1, active(X2), X3) → U344#(X1, X2, X3)active#(U261(tt, V2)) → U262#(isLNatKind(V2))
mark#(U311(X1, X2)) → mark#(X1)active#(isLNatKind(fst(V1))) → U131#(isPLNatKind(V1))
U13#(X1, X2, mark(X3)) → U13#(X1, X2, X3)mark#(U334(X1, X2)) → U334#(mark(X1), X2)
U192#(active(X1), X2) → U192#(X1, X2)U183#(active(X)) → U183#(X)
active#(U51(tt, V1, V2)) → mark#(U52(isNaturalKind(V1), V1, V2))U243#(X1, mark(X2), X3) → U243#(X1, X2, X3)
U193#(mark(X)) → U193#(X)U343#(X1, mark(X2), X3) → U343#(X1, X2, X3)
mark#(U102(X1, X2, X3)) → mark#(X1)mark#(sel(X1, X2)) → mark#(X2)
fst#(mark(X)) → fst#(X)active#(U192(tt, V1)) → mark#(U193(isNatural(V1)))
U53#(mark(X1), X2, X3) → U53#(X1, X2, X3)U321#(active(X1), X2, X3, X4) → U321#(X1, X2, X3, X4)
afterNth#(X1, active(X2)) → afterNth#(X1, X2)U241#(X1, X2, mark(X3)) → U241#(X1, X2, X3)
mark#(U12(X1, X2, X3)) → mark#(X1)active#(U241(tt, V1, V2)) → U242#(isLNatKind(V1), V1, V2)
U252#(X1, active(X2), X3) → U252#(X1, X2, X3)active#(head(cons(N, XS))) → U31#(isNatural(N), N, XS)
active#(U252(tt, V1, V2)) → U253#(isLNatKind(V2), V1, V2)active#(U112(tt)) → mark#(tt)
active#(U321(tt, N, X, XS)) → mark#(U322(isNaturalKind(N), N, X, XS))U203#(mark(X1), X2, X3) → U203#(X1, X2, X3)
U282#(X1, active(X2)) → U282#(X1, X2)U255#(active(X1), X2) → U255#(X1, X2)
U121#(mark(X1), X2) → U121#(X1, X2)active#(isLNatKind(natsFrom(V1))) → mark#(U141(isNaturalKind(V1)))
active#(U33(tt, N, XS)) → U34#(isLNatKind(XS), N)U104#(mark(X1), X2, X3) → U104#(X1, X2, X3)
mark#(U261(X1, X2)) → active#(U261(mark(X1), X2))mark#(U246(X)) → active#(U246(mark(X)))
U204#(X1, X2, mark(X3)) → U204#(X1, X2, X3)mark#(head(X)) → head#(mark(X))
U72#(active(X1), X2) → U72#(X1, X2)mark#(take(X1, X2)) → take#(mark(X1), mark(X2))
mark#(U205(X1, X2)) → mark#(X1)active#(snd(pair(X, Y))) → U301#(isLNat(X), X, Y)
mark#(U193(X)) → U193#(mark(X))active#(isLNatKind(fst(V1))) → mark#(U131(isPLNatKind(V1)))
mark#(U324(X1, X2, X3, X4)) → active#(U324(mark(X1), X2, X3, X4))U31#(X1, mark(X2), X3) → U31#(X1, X2, X3)
mark#(U81(X1, X2)) → U81#(mark(X1), X2)U46#(active(X)) → U46#(X)
mark#(pair(X1, X2)) → mark#(X2)U44#(active(X1), X2, X3) → U44#(X1, X2, X3)
U21#(X1, X2, active(X3)) → U21#(X1, X2, X3)U151#(active(X)) → U151#(X)
active#(U111(tt, V2)) → U112#(isLNatKind(V2))U183#(mark(X)) → U183#(X)
active#(isLNat(take(V1, V2))) → mark#(U101(isNaturalKind(V1), V1, V2))mark#(U44(X1, X2, X3)) → U44#(mark(X1), X2, X3)
active#(U332(tt, XS)) → isLNat#(XS)active#(U56(tt)) → mark#(tt)
mark#(U344(X1, X2, X3)) → mark#(X1)U105#(X1, active(X2)) → U105#(X1, X2)
active#(U343(tt, N, XS)) → U344#(isLNatKind(XS), N, XS)mark#(U244(X1, X2, X3)) → U244#(mark(X1), X2, X3)
U72#(X1, active(X2)) → U72#(X1, X2)U291#(X1, X2, active(X3)) → U291#(X1, X2, X3)
U325#(X1, active(X2), X3, X4) → U325#(X1, X2, X3, X4)mark#(U294(X1, X2, X3)) → U294#(mark(X1), X2, X3)
U342#(X1, active(X2), X3) → U342#(X1, X2, X3)fst#(active(X)) → fst#(X)
sel#(X1, mark(X2)) → sel#(X1, X2)mark#(pair(X1, X2)) → mark#(X1)
U21#(active(X1), X2, X3) → U21#(X1, X2, X3)U24#(X1, active(X2)) → U24#(X1, X2)
mark#(U45(X1, X2)) → U45#(mark(X1), X2)mark#(U55(X1, X2)) → active#(U55(mark(X1), X2))
U312#(mark(X1), X2) → U312#(X1, X2)active#(U326(tt, N, X, XS)) → splitAt#(N, XS)
mark#(U171(X1, X2)) → active#(U171(mark(X1), X2))active#(U331(tt, N, XS)) → U332#(isNaturalKind(N), XS)
mark#(U82(X1, X2)) → U82#(mark(X1), X2)mark#(U332(X1, X2)) → mark#(X1)
U103#(mark(X1), X2, X3) → U103#(X1, X2, X3)pair#(mark(X1), X2) → pair#(X1, X2)
active#(U204(tt, V1, V2)) → isNatural#(V1)U321#(X1, X2, mark(X3), X4) → U321#(X1, X2, X3, X4)
cons#(mark(X1), X2) → cons#(X1, X2)mark#(U206(X)) → U206#(mark(X))
active#(U291(tt, N, XS)) → mark#(U292(isNaturalKind(N), N, XS))active#(U326(tt, N, X, XS)) → U327#(splitAt(N, XS), X)
mark#(U14(X1, X2, X3)) → mark#(X1)U242#(active(X1), X2, X3) → U242#(X1, X2, X3)
active#(U52(tt, V1, V2)) → U53#(isLNatKind(V2), V1, V2)U21#(X1, X2, mark(X3)) → U21#(X1, X2, X3)
active#(U301(tt, X, Y)) → U302#(isLNatKind(X), Y)U231#(X1, mark(X2)) → U231#(X1, X2)
mark#(U302(X1, X2)) → mark#(X1)active#(isNatural(s(V1))) → mark#(U191(isNaturalKind(V1), V1))
U51#(mark(X1), X2, X3) → U51#(X1, X2, X3)mark#(U327(X1, X2)) → active#(U327(mark(X1), X2))
active#(U45(tt, V2)) → mark#(U46(isLNat(V2)))U56#(mark(X)) → U56#(X)
snd#(active(X)) → snd#(X)mark#(U54(X1, X2, X3)) → active#(U54(mark(X1), X2, X3))
mark#(U255(X1, X2)) → active#(U255(mark(X1), X2))mark#(U341(X1, X2, X3)) → U341#(mark(X1), X2, X3)
active#(U171(tt, V2)) → mark#(U172(isLNatKind(V2)))active#(U256(tt)) → mark#(tt)
mark#(U32(X1, X2, X3)) → active#(U32(mark(X1), X2, X3))U243#(X1, X2, mark(X3)) → U243#(X1, X2, X3)
U81#(X1, active(X2)) → U81#(X1, X2)mark#(U72(X1, X2)) → U72#(mark(X1), X2)
active#(U271(tt, V2)) → U272#(isLNatKind(V2))mark#(U304(X1, X2)) → active#(U304(mark(X1), X2))
mark#(U252(X1, X2, X3)) → U252#(mark(X1), X2, X3)active#(U331(tt, N, XS)) → isNaturalKind#(N)
active#(isNaturalKind(sel(V1, V2))) → isNaturalKind#(V1)active#(isLNatKind(take(V1, V2))) → U171#(isNaturalKind(V1), V2)
active#(U106(tt)) → mark#(tt)U53#(X1, X2, active(X3)) → U53#(X1, X2, X3)
mark#(snd(X)) → snd#(mark(X))mark#(U104(X1, X2, X3)) → mark#(X1)
mark#(U43(X1, X2, X3)) → U43#(mark(X1), X2, X3)active#(U327(pair(YS, ZS), X)) → pair#(cons(X, YS), ZS)
active#(U243(tt, V1, V2)) → isLNatKind#(V2)U324#(X1, X2, active(X3), X4) → U324#(X1, X2, X3, X4)
active#(isPLNat(pair(V1, V2))) → isLNatKind#(V1)mark#(U245(X1, X2)) → U245#(mark(X1), X2)
mark#(U254(X1, X2, X3)) → mark#(X1)U191#(X1, active(X2)) → U191#(X1, X2)
U63#(active(X)) → U63#(X)U14#(X1, X2, active(X3)) → U14#(X1, X2, X3)
mark#(U325(X1, X2, X3, X4)) → active#(U325(mark(X1), X2, X3, X4))U245#(active(X1), X2) → U245#(X1, X2)
mark#(U91(X1, X2)) → active#(U91(mark(X1), X2))active#(U22(tt, X, Y)) → U23#(isLNat(Y), X, Y)
mark#(U81(X1, X2)) → mark#(X1)isNaturalKind#(mark(X)) → isNaturalKind#(X)
mark#(isNaturalKind(X)) → isNaturalKind#(X)U221#(active(X)) → U221#(X)
mark#(U183(X)) → U183#(mark(X))U55#(X1, mark(X2)) → U55#(X1, X2)
mark#(U193(X)) → active#(U193(mark(X)))U33#(X1, X2, mark(X3)) → U33#(X1, X2, X3)
U245#(X1, active(X2)) → U245#(X1, X2)U182#(X1, active(X2)) → U182#(X1, X2)
U324#(X1, X2, mark(X3), X4) → U324#(X1, X2, X3, X4)mark#(U121(X1, X2)) → U121#(mark(X1), X2)
active#(U203(tt, V1, V2)) → isLNatKind#(V2)U304#(mark(X1), X2) → U304#(X1, X2)
U327#(active(X1), X2) → U327#(X1, X2)active#(U343(tt, N, XS)) → isLNatKind#(XS)
mark#(U301(X1, X2, X3)) → active#(U301(mark(X1), X2, X3))U341#(X1, X2, active(X3)) → U341#(X1, X2, X3)
U323#(mark(X1), X2, X3, X4) → U323#(X1, X2, X3, X4)active#(U93(tt)) → mark#(tt)
active#(U253(tt, V1, V2)) → U254#(isLNatKind(V2), V1, V2)mark#(U252(X1, X2, X3)) → mark#(X1)
U121#(X1, mark(X2)) → U121#(X1, X2)U101#(mark(X1), X2, X3) → U101#(X1, X2, X3)
U326#(X1, X2, X3, mark(X4)) → U326#(X1, X2, X3, X4)U251#(X1, X2, mark(X3)) → U251#(X1, X2, X3)
U242#(X1, active(X2), X3) → U242#(X1, X2, X3)U34#(active(X1), X2) → U34#(X1, X2)
active#(U131(tt)) → mark#(tt)mark#(U141(X)) → U141#(mark(X))
mark#(U272(X)) → mark#(X)active#(U261(tt, V2)) → mark#(U262(isLNatKind(V2)))
active#(tail(cons(N, XS))) → U331#(isNatural(N), N, XS)mark#(U293(X1, X2, X3)) → mark#(X1)
active#(U71(tt, V1)) → mark#(U72(isNaturalKind(V1), V1))U172#(mark(X)) → U172#(X)
active#(U42(tt, V1, V2)) → mark#(U43(isLNatKind(V2), V1, V2))active#(U292(tt, N, XS)) → isLNat#(XS)
active#(U91(tt, V1)) → U92#(isLNatKind(V1), V1)active#(isLNatKind(snd(V1))) → mark#(U151(isPLNatKind(V1)))
U291#(X1, active(X2), X3) → U291#(X1, X2, X3)active#(U105(tt, V2)) → U106#(isLNat(V2))
U311#(X1, mark(X2)) → U311#(X1, X2)U11#(X1, mark(X2), X3) → U11#(X1, X2, X3)
U53#(X1, active(X2), X3) → U53#(X1, X2, X3)U34#(X1, active(X2)) → U34#(X1, X2)

Rewrite Rules

active(U101(tt, V1, V2)) → mark(U102(isNaturalKind(V1), V1, V2))active(U102(tt, V1, V2)) → mark(U103(isLNatKind(V2), V1, V2))
active(U103(tt, V1, V2)) → mark(U104(isLNatKind(V2), V1, V2))active(U104(tt, V1, V2)) → mark(U105(isNatural(V1), V2))
active(U105(tt, V2)) → mark(U106(isLNat(V2)))active(U106(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isNaturalKind(N), N, XS))active(U111(tt, V2)) → mark(U112(isLNatKind(V2)))
active(U112(tt)) → mark(tt)active(U12(tt, N, XS)) → mark(U13(isLNat(XS), N, XS))
active(U121(tt, V2)) → mark(U122(isLNatKind(V2)))active(U122(tt)) → mark(tt)
active(U13(tt, N, XS)) → mark(U14(isLNatKind(XS), N, XS))active(U131(tt)) → mark(tt)
active(U14(tt, N, XS)) → mark(snd(splitAt(N, XS)))active(U141(tt)) → mark(tt)
active(U151(tt)) → mark(tt)active(U161(tt)) → mark(tt)
active(U171(tt, V2)) → mark(U172(isLNatKind(V2)))active(U172(tt)) → mark(tt)
active(U181(tt, V1)) → mark(U182(isLNatKind(V1), V1))active(U182(tt, V1)) → mark(U183(isLNat(V1)))
active(U183(tt)) → mark(tt)active(U191(tt, V1)) → mark(U192(isNaturalKind(V1), V1))
active(U192(tt, V1)) → mark(U193(isNatural(V1)))active(U193(tt)) → mark(tt)
active(U201(tt, V1, V2)) → mark(U202(isNaturalKind(V1), V1, V2))active(U202(tt, V1, V2)) → mark(U203(isLNatKind(V2), V1, V2))
active(U203(tt, V1, V2)) → mark(U204(isLNatKind(V2), V1, V2))active(U204(tt, V1, V2)) → mark(U205(isNatural(V1), V2))
active(U205(tt, V2)) → mark(U206(isLNat(V2)))active(U206(tt)) → mark(tt)
active(U21(tt, X, Y)) → mark(U22(isLNatKind(X), X, Y))active(U211(tt)) → mark(tt)
active(U22(tt, X, Y)) → mark(U23(isLNat(Y), X, Y))active(U221(tt)) → mark(tt)
active(U23(tt, X, Y)) → mark(U24(isLNatKind(Y), X))active(U231(tt, V2)) → mark(U232(isLNatKind(V2)))
active(U232(tt)) → mark(tt)active(U24(tt, X)) → mark(X)
active(U241(tt, V1, V2)) → mark(U242(isLNatKind(V1), V1, V2))active(U242(tt, V1, V2)) → mark(U243(isLNatKind(V2), V1, V2))
active(U243(tt, V1, V2)) → mark(U244(isLNatKind(V2), V1, V2))active(U244(tt, V1, V2)) → mark(U245(isLNat(V1), V2))
active(U245(tt, V2)) → mark(U246(isLNat(V2)))active(U246(tt)) → mark(tt)
active(U251(tt, V1, V2)) → mark(U252(isNaturalKind(V1), V1, V2))active(U252(tt, V1, V2)) → mark(U253(isLNatKind(V2), V1, V2))
active(U253(tt, V1, V2)) → mark(U254(isLNatKind(V2), V1, V2))active(U254(tt, V1, V2)) → mark(U255(isNatural(V1), V2))
active(U255(tt, V2)) → mark(U256(isLNat(V2)))active(U256(tt)) → mark(tt)
active(U261(tt, V2)) → mark(U262(isLNatKind(V2)))active(U262(tt)) → mark(tt)
active(U271(tt, V2)) → mark(U272(isLNatKind(V2)))active(U272(tt)) → mark(tt)
active(U281(tt, N)) → mark(U282(isNaturalKind(N), N))active(U282(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U291(tt, N, XS)) → mark(U292(isNaturalKind(N), N, XS))active(U292(tt, N, XS)) → mark(U293(isLNat(XS), N, XS))
active(U293(tt, N, XS)) → mark(U294(isLNatKind(XS), N, XS))active(U294(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U301(tt, X, Y)) → mark(U302(isLNatKind(X), Y))active(U302(tt, Y)) → mark(U303(isLNat(Y), Y))
active(U303(tt, Y)) → mark(U304(isLNatKind(Y), Y))active(U304(tt, Y)) → mark(Y)
active(U31(tt, N, XS)) → mark(U32(isNaturalKind(N), N, XS))active(U311(tt, XS)) → mark(U312(isLNatKind(XS), XS))
active(U312(tt, XS)) → mark(pair(nil, XS))active(U32(tt, N, XS)) → mark(U33(isLNat(XS), N, XS))
active(U321(tt, N, X, XS)) → mark(U322(isNaturalKind(N), N, X, XS))active(U322(tt, N, X, XS)) → mark(U323(isNatural(X), N, X, XS))
active(U323(tt, N, X, XS)) → mark(U324(isNaturalKind(X), N, X, XS))active(U324(tt, N, X, XS)) → mark(U325(isLNat(XS), N, X, XS))
active(U325(tt, N, X, XS)) → mark(U326(isLNatKind(XS), N, X, XS))active(U326(tt, N, X, XS)) → mark(U327(splitAt(N, XS), X))
active(U327(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))active(U33(tt, N, XS)) → mark(U34(isLNatKind(XS), N))
active(U331(tt, N, XS)) → mark(U332(isNaturalKind(N), XS))active(U332(tt, XS)) → mark(U333(isLNat(XS), XS))
active(U333(tt, XS)) → mark(U334(isLNatKind(XS), XS))active(U334(tt, XS)) → mark(XS)
active(U34(tt, N)) → mark(N)active(U341(tt, N, XS)) → mark(U342(isNaturalKind(N), N, XS))
active(U342(tt, N, XS)) → mark(U343(isLNat(XS), N, XS))active(U343(tt, N, XS)) → mark(U344(isLNatKind(XS), N, XS))
active(U344(tt, N, XS)) → mark(fst(splitAt(N, XS)))active(U41(tt, V1, V2)) → mark(U42(isNaturalKind(V1), V1, V2))
active(U42(tt, V1, V2)) → mark(U43(isLNatKind(V2), V1, V2))active(U43(tt, V1, V2)) → mark(U44(isLNatKind(V2), V1, V2))
active(U44(tt, V1, V2)) → mark(U45(isNatural(V1), V2))active(U45(tt, V2)) → mark(U46(isLNat(V2)))
active(U46(tt)) → mark(tt)active(U51(tt, V1, V2)) → mark(U52(isNaturalKind(V1), V1, V2))
active(U52(tt, V1, V2)) → mark(U53(isLNatKind(V2), V1, V2))active(U53(tt, V1, V2)) → mark(U54(isLNatKind(V2), V1, V2))
active(U54(tt, V1, V2)) → mark(U55(isNatural(V1), V2))active(U55(tt, V2)) → mark(U56(isLNat(V2)))
active(U56(tt)) → mark(tt)active(U61(tt, V1)) → mark(U62(isPLNatKind(V1), V1))
active(U62(tt, V1)) → mark(U63(isPLNat(V1)))active(U63(tt)) → mark(tt)
active(U71(tt, V1)) → mark(U72(isNaturalKind(V1), V1))active(U72(tt, V1)) → mark(U73(isNatural(V1)))
active(U73(tt)) → mark(tt)active(U81(tt, V1)) → mark(U82(isPLNatKind(V1), V1))
active(U82(tt, V1)) → mark(U83(isPLNat(V1)))active(U83(tt)) → mark(tt)
active(U91(tt, V1)) → mark(U92(isLNatKind(V1), V1))active(U92(tt, V1)) → mark(U93(isLNat(V1)))
active(U93(tt)) → mark(tt)active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)active(isLNat(afterNth(V1, V2))) → mark(U41(isNaturalKind(V1), V1, V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNaturalKind(V1), V1, V2))active(isLNat(fst(V1))) → mark(U61(isPLNatKind(V1), V1))
active(isLNat(natsFrom(V1))) → mark(U71(isNaturalKind(V1), V1))active(isLNat(snd(V1))) → mark(U81(isPLNatKind(V1), V1))
active(isLNat(tail(V1))) → mark(U91(isLNatKind(V1), V1))active(isLNat(take(V1, V2))) → mark(U101(isNaturalKind(V1), V1, V2))
active(isLNatKind(nil)) → mark(tt)active(isLNatKind(afterNth(V1, V2))) → mark(U111(isNaturalKind(V1), V2))
active(isLNatKind(cons(V1, V2))) → mark(U121(isNaturalKind(V1), V2))active(isLNatKind(fst(V1))) → mark(U131(isPLNatKind(V1)))
active(isLNatKind(natsFrom(V1))) → mark(U141(isNaturalKind(V1)))active(isLNatKind(snd(V1))) → mark(U151(isPLNatKind(V1)))
active(isLNatKind(tail(V1))) → mark(U161(isLNatKind(V1)))active(isLNatKind(take(V1, V2))) → mark(U171(isNaturalKind(V1), V2))
active(isNatural(0)) → mark(tt)active(isNatural(head(V1))) → mark(U181(isLNatKind(V1), V1))
active(isNatural(s(V1))) → mark(U191(isNaturalKind(V1), V1))active(isNatural(sel(V1, V2))) → mark(U201(isNaturalKind(V1), V1, V2))
active(isNaturalKind(0)) → mark(tt)active(isNaturalKind(head(V1))) → mark(U211(isLNatKind(V1)))
active(isNaturalKind(s(V1))) → mark(U221(isNaturalKind(V1)))active(isNaturalKind(sel(V1, V2))) → mark(U231(isNaturalKind(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U241(isLNatKind(V1), V1, V2))active(isPLNat(splitAt(V1, V2))) → mark(U251(isNaturalKind(V1), V1, V2))
active(isPLNatKind(pair(V1, V2))) → mark(U261(isLNatKind(V1), V2))active(isPLNatKind(splitAt(V1, V2))) → mark(U271(isNaturalKind(V1), V2))
active(natsFrom(N)) → mark(U281(isNatural(N), N))active(sel(N, XS)) → mark(U291(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U301(isLNat(X), X, Y))active(splitAt(0, XS)) → mark(U311(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U321(isNatural(N), N, X, XS))active(tail(cons(N, XS))) → mark(U331(isNatural(N), N, XS))
active(take(N, XS)) → mark(U341(isNatural(N), N, XS))mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNaturalKind(X)) → active(isNaturalKind(X))mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isLNatKind(X)) → active(isLNatKind(X))mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(U105(X1, X2)) → active(U105(mark(X1), X2))mark(isNatural(X)) → active(isNatural(X))
mark(U106(X)) → active(U106(mark(X)))mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X1, X2)) → active(U111(mark(X1), X2))mark(U112(X)) → active(U112(mark(X)))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))mark(U121(X1, X2)) → active(U121(mark(X1), X2))
mark(U122(X)) → active(U122(mark(X)))mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U131(X)) → active(U131(mark(X)))mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))mark(U141(X)) → active(U141(mark(X)))
mark(U151(X)) → active(U151(mark(X)))mark(U161(X)) → active(U161(mark(X)))
mark(U171(X1, X2)) → active(U171(mark(X1), X2))mark(U172(X)) → active(U172(mark(X)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U183(X)) → active(U183(mark(X)))mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(U192(X1, X2)) → active(U192(mark(X1), X2))mark(U193(X)) → active(U193(mark(X)))
mark(U201(X1, X2, X3)) → active(U201(mark(X1), X2, X3))mark(U202(X1, X2, X3)) → active(U202(mark(X1), X2, X3))
mark(U203(X1, X2, X3)) → active(U203(mark(X1), X2, X3))mark(U204(X1, X2, X3)) → active(U204(mark(X1), X2, X3))
mark(U205(X1, X2)) → active(U205(mark(X1), X2))mark(U206(X)) → active(U206(mark(X)))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))mark(U22(X1, X2, X3)) → active(U22(mark(X1), X2, X3))
mark(U211(X)) → active(U211(mark(X)))mark(U23(X1, X2, X3)) → active(U23(mark(X1), X2, X3))
mark(U221(X)) → active(U221(mark(X)))mark(U24(X1, X2)) → active(U24(mark(X1), X2))
mark(U231(X1, X2)) → active(U231(mark(X1), X2))mark(U232(X)) → active(U232(mark(X)))
mark(U241(X1, X2, X3)) → active(U241(mark(X1), X2, X3))mark(U242(X1, X2, X3)) → active(U242(mark(X1), X2, X3))
mark(U243(X1, X2, X3)) → active(U243(mark(X1), X2, X3))mark(U244(X1, X2, X3)) → active(U244(mark(X1), X2, X3))
mark(U245(X1, X2)) → active(U245(mark(X1), X2))mark(U246(X)) → active(U246(mark(X)))
mark(U251(X1, X2, X3)) → active(U251(mark(X1), X2, X3))mark(U252(X1, X2, X3)) → active(U252(mark(X1), X2, X3))
mark(U253(X1, X2, X3)) → active(U253(mark(X1), X2, X3))mark(U254(X1, X2, X3)) → active(U254(mark(X1), X2, X3))
mark(U255(X1, X2)) → active(U255(mark(X1), X2))mark(U256(X)) → active(U256(mark(X)))
mark(U261(X1, X2)) → active(U261(mark(X1), X2))mark(U262(X)) → active(U262(mark(X)))
mark(U271(X1, X2)) → active(U271(mark(X1), X2))mark(U272(X)) → active(U272(mark(X)))
mark(U281(X1, X2)) → active(U281(mark(X1), X2))mark(U282(X1, X2)) → active(U282(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))mark(U291(X1, X2, X3)) → active(U291(mark(X1), X2, X3))
mark(U292(X1, X2, X3)) → active(U292(mark(X1), X2, X3))mark(U293(X1, X2, X3)) → active(U293(mark(X1), X2, X3))
mark(U294(X1, X2, X3)) → active(U294(mark(X1), X2, X3))mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))mark(U301(X1, X2, X3)) → active(U301(mark(X1), X2, X3))
mark(U302(X1, X2)) → active(U302(mark(X1), X2))mark(U303(X1, X2)) → active(U303(mark(X1), X2))
mark(U304(X1, X2)) → active(U304(mark(X1), X2))mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))mark(U311(X1, X2)) → active(U311(mark(X1), X2))
mark(U312(X1, X2)) → active(U312(mark(X1), X2))mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U321(X1, X2, X3, X4)) → active(U321(mark(X1), X2, X3, X4))mark(U322(X1, X2, X3, X4)) → active(U322(mark(X1), X2, X3, X4))
mark(U323(X1, X2, X3, X4)) → active(U323(mark(X1), X2, X3, X4))mark(U324(X1, X2, X3, X4)) → active(U324(mark(X1), X2, X3, X4))
mark(U325(X1, X2, X3, X4)) → active(U325(mark(X1), X2, X3, X4))mark(U326(X1, X2, X3, X4)) → active(U326(mark(X1), X2, X3, X4))
mark(U327(X1, X2)) → active(U327(mark(X1), X2))mark(U34(X1, X2)) → active(U34(mark(X1), X2))
mark(U331(X1, X2, X3)) → active(U331(mark(X1), X2, X3))mark(U332(X1, X2)) → active(U332(mark(X1), X2))
mark(U333(X1, X2)) → active(U333(mark(X1), X2))mark(U334(X1, X2)) → active(U334(mark(X1), X2))
mark(U341(X1, X2, X3)) → active(U341(mark(X1), X2, X3))mark(U342(X1, X2, X3)) → active(U342(mark(X1), X2, X3))
mark(U343(X1, X2, X3)) → active(U343(mark(X1), X2, X3))mark(U344(X1, X2, X3)) → active(U344(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))mark(U41(X1, X2, X3)) → active(U41(mark(X1), X2, X3))
mark(U42(X1, X2, X3)) → active(U42(mark(X1), X2, X3))mark(U43(X1, X2, X3)) → active(U43(mark(X1), X2, X3))
mark(U44(X1, X2, X3)) → active(U44(mark(X1), X2, X3))mark(U45(X1, X2)) → active(U45(mark(X1), X2))
mark(U46(X)) → active(U46(mark(X)))mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))mark(U53(X1, X2, X3)) → active(U53(mark(X1), X2, X3))
mark(U54(X1, X2, X3)) → active(U54(mark(X1), X2, X3))mark(U55(X1, X2)) → active(U55(mark(X1), X2))
mark(U56(X)) → active(U56(mark(X)))mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X1, X2)) → active(U62(mark(X1), X2))mark(isPLNatKind(X)) → active(isPLNatKind(X))
mark(U63(X)) → active(U63(mark(X)))mark(isPLNat(X)) → active(isPLNat(X))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U73(X)) → active(U73(mark(X)))mark(U81(X1, X2)) → active(U81(mark(X1), X2))
mark(U82(X1, X2)) → active(U82(mark(X1), X2))mark(U83(X)) → active(U83(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))mark(U92(X1, X2)) → active(U92(mark(X1), X2))
mark(U93(X)) → active(U93(mark(X)))mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)isNaturalKind(mark(X)) → isNaturalKind(X)
isNaturalKind(active(X)) → isNaturalKind(X)U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)isLNatKind(mark(X)) → isLNatKind(X)
isLNatKind(active(X)) → isLNatKind(X)U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)U105(mark(X1), X2) → U105(X1, X2)
U105(X1, mark(X2)) → U105(X1, X2)U105(active(X1), X2) → U105(X1, X2)
U105(X1, active(X2)) → U105(X1, X2)isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)U106(mark(X)) → U106(X)
U106(active(X)) → U106(X)isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)U111(mark(X1), X2) → U111(X1, X2)
U111(X1, mark(X2)) → U111(X1, X2)U111(active(X1), X2) → U111(X1, X2)
U111(X1, active(X2)) → U111(X1, X2)U112(mark(X)) → U112(X)
U112(active(X)) → U112(X)U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)U121(mark(X1), X2) → U121(X1, X2)
U121(X1, mark(X2)) → U121(X1, X2)U121(active(X1), X2) → U121(X1, X2)
U121(X1, active(X2)) → U121(X1, X2)U122(mark(X)) → U122(X)
U122(active(X)) → U122(X)U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)U131(mark(X)) → U131(X)
U131(active(X)) → U131(X)snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)U141(mark(X)) → U141(X)
U141(active(X)) → U141(X)U151(mark(X)) → U151(X)
U151(active(X)) → U151(X)U161(mark(X)) → U161(X)
U161(active(X)) → U161(X)U171(mark(X1), X2) → U171(X1, X2)
U171(X1, mark(X2)) → U171(X1, X2)U171(active(X1), X2) → U171(X1, X2)
U171(X1, active(X2)) → U171(X1, X2)U172(mark(X)) → U172(X)
U172(active(X)) → U172(X)U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)U183(mark(X)) → U183(X)
U183(active(X)) → U183(X)U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)U192(mark(X1), X2) → U192(X1, X2)
U192(X1, mark(X2)) → U192(X1, X2)U192(active(X1), X2) → U192(X1, X2)
U192(X1, active(X2)) → U192(X1, X2)U193(mark(X)) → U193(X)
U193(active(X)) → U193(X)U201(mark(X1), X2, X3) → U201(X1, X2, X3)
U201(X1, mark(X2), X3) → U201(X1, X2, X3)U201(X1, X2, mark(X3)) → U201(X1, X2, X3)
U201(active(X1), X2, X3) → U201(X1, X2, X3)U201(X1, active(X2), X3) → U201(X1, X2, X3)
U201(X1, X2, active(X3)) → U201(X1, X2, X3)U202(mark(X1), X2, X3) → U202(X1, X2, X3)
U202(X1, mark(X2), X3) → U202(X1, X2, X3)U202(X1, X2, mark(X3)) → U202(X1, X2, X3)
U202(active(X1), X2, X3) → U202(X1, X2, X3)U202(X1, active(X2), X3) → U202(X1, X2, X3)
U202(X1, X2, active(X3)) → U202(X1, X2, X3)U203(mark(X1), X2, X3) → U203(X1, X2, X3)
U203(X1, mark(X2), X3) → U203(X1, X2, X3)U203(X1, X2, mark(X3)) → U203(X1, X2, X3)
U203(active(X1), X2, X3) → U203(X1, X2, X3)U203(X1, active(X2), X3) → U203(X1, X2, X3)
U203(X1, X2, active(X3)) → U203(X1, X2, X3)U204(mark(X1), X2, X3) → U204(X1, X2, X3)
U204(X1, mark(X2), X3) → U204(X1, X2, X3)U204(X1, X2, mark(X3)) → U204(X1, X2, X3)
U204(active(X1), X2, X3) → U204(X1, X2, X3)U204(X1, active(X2), X3) → U204(X1, X2, X3)
U204(X1, X2, active(X3)) → U204(X1, X2, X3)U205(mark(X1), X2) → U205(X1, X2)
U205(X1, mark(X2)) → U205(X1, X2)U205(active(X1), X2) → U205(X1, X2)
U205(X1, active(X2)) → U205(X1, X2)U206(mark(X)) → U206(X)
U206(active(X)) → U206(X)U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)U22(mark(X1), X2, X3) → U22(X1, X2, X3)
U22(X1, mark(X2), X3) → U22(X1, X2, X3)U22(X1, X2, mark(X3)) → U22(X1, X2, X3)
U22(active(X1), X2, X3) → U22(X1, X2, X3)U22(X1, active(X2), X3) → U22(X1, X2, X3)
U22(X1, X2, active(X3)) → U22(X1, X2, X3)U211(mark(X)) → U211(X)
U211(active(X)) → U211(X)U23(mark(X1), X2, X3) → U23(X1, X2, X3)
U23(X1, mark(X2), X3) → U23(X1, X2, X3)U23(X1, X2, mark(X3)) → U23(X1, X2, X3)
U23(active(X1), X2, X3) → U23(X1, X2, X3)U23(X1, active(X2), X3) → U23(X1, X2, X3)
U23(X1, X2, active(X3)) → U23(X1, X2, X3)U221(mark(X)) → U221(X)
U221(active(X)) → U221(X)U24(mark(X1), X2) → U24(X1, X2)
U24(X1, mark(X2)) → U24(X1, X2)U24(active(X1), X2) → U24(X1, X2)
U24(X1, active(X2)) → U24(X1, X2)U231(mark(X1), X2) → U231(X1, X2)
U231(X1, mark(X2)) → U231(X1, X2)U231(active(X1), X2) → U231(X1, X2)
U231(X1, active(X2)) → U231(X1, X2)U232(mark(X)) → U232(X)
U232(active(X)) → U232(X)U241(mark(X1), X2, X3) → U241(X1, X2, X3)
U241(X1, mark(X2), X3) → U241(X1, X2, X3)U241(X1, X2, mark(X3)) → U241(X1, X2, X3)
U241(active(X1), X2, X3) → U241(X1, X2, X3)U241(X1, active(X2), X3) → U241(X1, X2, X3)
U241(X1, X2, active(X3)) → U241(X1, X2, X3)U242(mark(X1), X2, X3) → U242(X1, X2, X3)
U242(X1, mark(X2), X3) → U242(X1, X2, X3)U242(X1, X2, mark(X3)) → U242(X1, X2, X3)
U242(active(X1), X2, X3) → U242(X1, X2, X3)U242(X1, active(X2), X3) → U242(X1, X2, X3)
U242(X1, X2, active(X3)) → U242(X1, X2, X3)U243(mark(X1), X2, X3) → U243(X1, X2, X3)
U243(X1, mark(X2), X3) → U243(X1, X2, X3)U243(X1, X2, mark(X3)) → U243(X1, X2, X3)
U243(active(X1), X2, X3) → U243(X1, X2, X3)U243(X1, active(X2), X3) → U243(X1, X2, X3)
U243(X1, X2, active(X3)) → U243(X1, X2, X3)U244(mark(X1), X2, X3) → U244(X1, X2, X3)
U244(X1, mark(X2), X3) → U244(X1, X2, X3)U244(X1, X2, mark(X3)) → U244(X1, X2, X3)
U244(active(X1), X2, X3) → U244(X1, X2, X3)U244(X1, active(X2), X3) → U244(X1, X2, X3)
U244(X1, X2, active(X3)) → U244(X1, X2, X3)U245(mark(X1), X2) → U245(X1, X2)
U245(X1, mark(X2)) → U245(X1, X2)U245(active(X1), X2) → U245(X1, X2)
U245(X1, active(X2)) → U245(X1, X2)U246(mark(X)) → U246(X)
U246(active(X)) → U246(X)U251(mark(X1), X2, X3) → U251(X1, X2, X3)
U251(X1, mark(X2), X3) → U251(X1, X2, X3)U251(X1, X2, mark(X3)) → U251(X1, X2, X3)
U251(active(X1), X2, X3) → U251(X1, X2, X3)U251(X1, active(X2), X3) → U251(X1, X2, X3)
U251(X1, X2, active(X3)) → U251(X1, X2, X3)U252(mark(X1), X2, X3) → U252(X1, X2, X3)
U252(X1, mark(X2), X3) → U252(X1, X2, X3)U252(X1, X2, mark(X3)) → U252(X1, X2, X3)
U252(active(X1), X2, X3) → U252(X1, X2, X3)U252(X1, active(X2), X3) → U252(X1, X2, X3)
U252(X1, X2, active(X3)) → U252(X1, X2, X3)U253(mark(X1), X2, X3) → U253(X1, X2, X3)
U253(X1, mark(X2), X3) → U253(X1, X2, X3)U253(X1, X2, mark(X3)) → U253(X1, X2, X3)
U253(active(X1), X2, X3) → U253(X1, X2, X3)U253(X1, active(X2), X3) → U253(X1, X2, X3)
U253(X1, X2, active(X3)) → U253(X1, X2, X3)U254(mark(X1), X2, X3) → U254(X1, X2, X3)
U254(X1, mark(X2), X3) → U254(X1, X2, X3)U254(X1, X2, mark(X3)) → U254(X1, X2, X3)
U254(active(X1), X2, X3) → U254(X1, X2, X3)U254(X1, active(X2), X3) → U254(X1, X2, X3)
U254(X1, X2, active(X3)) → U254(X1, X2, X3)U255(mark(X1), X2) → U255(X1, X2)
U255(X1, mark(X2)) → U255(X1, X2)U255(active(X1), X2) → U255(X1, X2)
U255(X1, active(X2)) → U255(X1, X2)U256(mark(X)) → U256(X)
U256(active(X)) → U256(X)U261(mark(X1), X2) → U261(X1, X2)
U261(X1, mark(X2)) → U261(X1, X2)U261(active(X1), X2) → U261(X1, X2)
U261(X1, active(X2)) → U261(X1, X2)U262(mark(X)) → U262(X)
U262(active(X)) → U262(X)U271(mark(X1), X2) → U271(X1, X2)
U271(X1, mark(X2)) → U271(X1, X2)U271(active(X1), X2) → U271(X1, X2)
U271(X1, active(X2)) → U271(X1, X2)U272(mark(X)) → U272(X)
U272(active(X)) → U272(X)U281(mark(X1), X2) → U281(X1, X2)
U281(X1, mark(X2)) → U281(X1, X2)U281(active(X1), X2) → U281(X1, X2)
U281(X1, active(X2)) → U281(X1, X2)U282(mark(X1), X2) → U282(X1, X2)
U282(X1, mark(X2)) → U282(X1, X2)U282(active(X1), X2) → U282(X1, X2)
U282(X1, active(X2)) → U282(X1, X2)cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)s(mark(X)) → s(X)
s(active(X)) → s(X)U291(mark(X1), X2, X3) → U291(X1, X2, X3)
U291(X1, mark(X2), X3) → U291(X1, X2, X3)U291(X1, X2, mark(X3)) → U291(X1, X2, X3)
U291(active(X1), X2, X3) → U291(X1, X2, X3)U291(X1, active(X2), X3) → U291(X1, X2, X3)
U291(X1, X2, active(X3)) → U291(X1, X2, X3)U292(mark(X1), X2, X3) → U292(X1, X2, X3)
U292(X1, mark(X2), X3) → U292(X1, X2, X3)U292(X1, X2, mark(X3)) → U292(X1, X2, X3)
U292(active(X1), X2, X3) → U292(X1, X2, X3)U292(X1, active(X2), X3) → U292(X1, X2, X3)
U292(X1, X2, active(X3)) → U292(X1, X2, X3)U293(mark(X1), X2, X3) → U293(X1, X2, X3)
U293(X1, mark(X2), X3) → U293(X1, X2, X3)U293(X1, X2, mark(X3)) → U293(X1, X2, X3)
U293(active(X1), X2, X3) → U293(X1, X2, X3)U293(X1, active(X2), X3) → U293(X1, X2, X3)
U293(X1, X2, active(X3)) → U293(X1, X2, X3)U294(mark(X1), X2, X3) → U294(X1, X2, X3)
U294(X1, mark(X2), X3) → U294(X1, X2, X3)U294(X1, X2, mark(X3)) → U294(X1, X2, X3)
U294(active(X1), X2, X3) → U294(X1, X2, X3)U294(X1, active(X2), X3) → U294(X1, X2, X3)
U294(X1, X2, active(X3)) → U294(X1, X2, X3)head(mark(X)) → head(X)
head(active(X)) → head(X)afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)U301(mark(X1), X2, X3) → U301(X1, X2, X3)
U301(X1, mark(X2), X3) → U301(X1, X2, X3)U301(X1, X2, mark(X3)) → U301(X1, X2, X3)
U301(active(X1), X2, X3) → U301(X1, X2, X3)U301(X1, active(X2), X3) → U301(X1, X2, X3)
U301(X1, X2, active(X3)) → U301(X1, X2, X3)U302(mark(X1), X2) → U302(X1, X2)
U302(X1, mark(X2)) → U302(X1, X2)U302(active(X1), X2) → U302(X1, X2)
U302(X1, active(X2)) → U302(X1, X2)U303(mark(X1), X2) → U303(X1, X2)
U303(X1, mark(X2)) → U303(X1, X2)U303(active(X1), X2) → U303(X1, X2)
U303(X1, active(X2)) → U303(X1, X2)U304(mark(X1), X2) → U304(X1, X2)
U304(X1, mark(X2)) → U304(X1, X2)U304(active(X1), X2) → U304(X1, X2)
U304(X1, active(X2)) → U304(X1, X2)U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)U311(mark(X1), X2) → U311(X1, X2)
U311(X1, mark(X2)) → U311(X1, X2)U311(active(X1), X2) → U311(X1, X2)
U311(X1, active(X2)) → U311(X1, X2)U312(mark(X1), X2) → U312(X1, X2)
U312(X1, mark(X2)) → U312(X1, X2)U312(active(X1), X2) → U312(X1, X2)
U312(X1, active(X2)) → U312(X1, X2)pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)U321(mark(X1), X2, X3, X4) → U321(X1, X2, X3, X4)
U321(X1, mark(X2), X3, X4) → U321(X1, X2, X3, X4)U321(X1, X2, mark(X3), X4) → U321(X1, X2, X3, X4)
U321(X1, X2, X3, mark(X4)) → U321(X1, X2, X3, X4)U321(active(X1), X2, X3, X4) → U321(X1, X2, X3, X4)
U321(X1, active(X2), X3, X4) → U321(X1, X2, X3, X4)U321(X1, X2, active(X3), X4) → U321(X1, X2, X3, X4)
U321(X1, X2, X3, active(X4)) → U321(X1, X2, X3, X4)U322(mark(X1), X2, X3, X4) → U322(X1, X2, X3, X4)
U322(X1, mark(X2), X3, X4) → U322(X1, X2, X3, X4)U322(X1, X2, mark(X3), X4) → U322(X1, X2, X3, X4)
U322(X1, X2, X3, mark(X4)) → U322(X1, X2, X3, X4)U322(active(X1), X2, X3, X4) → U322(X1, X2, X3, X4)
U322(X1, active(X2), X3, X4) → U322(X1, X2, X3, X4)U322(X1, X2, active(X3), X4) → U322(X1, X2, X3, X4)
U322(X1, X2, X3, active(X4)) → U322(X1, X2, X3, X4)U323(mark(X1), X2, X3, X4) → U323(X1, X2, X3, X4)
U323(X1, mark(X2), X3, X4) → U323(X1, X2, X3, X4)U323(X1, X2, mark(X3), X4) → U323(X1, X2, X3, X4)
U323(X1, X2, X3, mark(X4)) → U323(X1, X2, X3, X4)U323(active(X1), X2, X3, X4) → U323(X1, X2, X3, X4)
U323(X1, active(X2), X3, X4) → U323(X1, X2, X3, X4)U323(X1, X2, active(X3), X4) → U323(X1, X2, X3, X4)
U323(X1, X2, X3, active(X4)) → U323(X1, X2, X3, X4)U324(mark(X1), X2, X3, X4) → U324(X1, X2, X3, X4)
U324(X1, mark(X2), X3, X4) → U324(X1, X2, X3, X4)U324(X1, X2, mark(X3), X4) → U324(X1, X2, X3, X4)
U324(X1, X2, X3, mark(X4)) → U324(X1, X2, X3, X4)U324(active(X1), X2, X3, X4) → U324(X1, X2, X3, X4)
U324(X1, active(X2), X3, X4) → U324(X1, X2, X3, X4)U324(X1, X2, active(X3), X4) → U324(X1, X2, X3, X4)
U324(X1, X2, X3, active(X4)) → U324(X1, X2, X3, X4)U325(mark(X1), X2, X3, X4) → U325(X1, X2, X3, X4)
U325(X1, mark(X2), X3, X4) → U325(X1, X2, X3, X4)U325(X1, X2, mark(X3), X4) → U325(X1, X2, X3, X4)
U325(X1, X2, X3, mark(X4)) → U325(X1, X2, X3, X4)U325(active(X1), X2, X3, X4) → U325(X1, X2, X3, X4)
U325(X1, active(X2), X3, X4) → U325(X1, X2, X3, X4)U325(X1, X2, active(X3), X4) → U325(X1, X2, X3, X4)
U325(X1, X2, X3, active(X4)) → U325(X1, X2, X3, X4)U326(mark(X1), X2, X3, X4) → U326(X1, X2, X3, X4)
U326(X1, mark(X2), X3, X4) → U326(X1, X2, X3, X4)U326(X1, X2, mark(X3), X4) → U326(X1, X2, X3, X4)
U326(X1, X2, X3, mark(X4)) → U326(X1, X2, X3, X4)U326(active(X1), X2, X3, X4) → U326(X1, X2, X3, X4)
U326(X1, active(X2), X3, X4) → U326(X1, X2, X3, X4)U326(X1, X2, active(X3), X4) → U326(X1, X2, X3, X4)
U326(X1, X2, X3, active(X4)) → U326(X1, X2, X3, X4)U327(mark(X1), X2) → U327(X1, X2)
U327(X1, mark(X2)) → U327(X1, X2)U327(active(X1), X2) → U327(X1, X2)
U327(X1, active(X2)) → U327(X1, X2)U34(mark(X1), X2) → U34(X1, X2)
U34(X1, mark(X2)) → U34(X1, X2)U34(active(X1), X2) → U34(X1, X2)
U34(X1, active(X2)) → U34(X1, X2)U331(mark(X1), X2, X3) → U331(X1, X2, X3)
U331(X1, mark(X2), X3) → U331(X1, X2, X3)U331(X1, X2, mark(X3)) → U331(X1, X2, X3)
U331(active(X1), X2, X3) → U331(X1, X2, X3)U331(X1, active(X2), X3) → U331(X1, X2, X3)
U331(X1, X2, active(X3)) → U331(X1, X2, X3)U332(mark(X1), X2) → U332(X1, X2)
U332(X1, mark(X2)) → U332(X1, X2)U332(active(X1), X2) → U332(X1, X2)
U332(X1, active(X2)) → U332(X1, X2)U333(mark(X1), X2) → U333(X1, X2)
U333(X1, mark(X2)) → U333(X1, X2)U333(active(X1), X2) → U333(X1, X2)
U333(X1, active(X2)) → U333(X1, X2)U334(mark(X1), X2) → U334(X1, X2)
U334(X1, mark(X2)) → U334(X1, X2)U334(active(X1), X2) → U334(X1, X2)
U334(X1, active(X2)) → U334(X1, X2)U341(mark(X1), X2, X3) → U341(X1, X2, X3)
U341(X1, mark(X2), X3) → U341(X1, X2, X3)U341(X1, X2, mark(X3)) → U341(X1, X2, X3)
U341(active(X1), X2, X3) → U341(X1, X2, X3)U341(X1, active(X2), X3) → U341(X1, X2, X3)
U341(X1, X2, active(X3)) → U341(X1, X2, X3)U342(mark(X1), X2, X3) → U342(X1, X2, X3)
U342(X1, mark(X2), X3) → U342(X1, X2, X3)U342(X1, X2, mark(X3)) → U342(X1, X2, X3)
U342(active(X1), X2, X3) → U342(X1, X2, X3)U342(X1, active(X2), X3) → U342(X1, X2, X3)
U342(X1, X2, active(X3)) → U342(X1, X2, X3)U343(mark(X1), X2, X3) → U343(X1, X2, X3)
U343(X1, mark(X2), X3) → U343(X1, X2, X3)U343(X1, X2, mark(X3)) → U343(X1, X2, X3)
U343(active(X1), X2, X3) → U343(X1, X2, X3)U343(X1, active(X2), X3) → U343(X1, X2, X3)
U343(X1, X2, active(X3)) → U343(X1, X2, X3)U344(mark(X1), X2, X3) → U344(X1, X2, X3)
U344(X1, mark(X2), X3) → U344(X1, X2, X3)U344(X1, X2, mark(X3)) → U344(X1, X2, X3)
U344(active(X1), X2, X3) → U344(X1, X2, X3)U344(X1, active(X2), X3) → U344(X1, X2, X3)
U344(X1, X2, active(X3)) → U344(X1, X2, X3)fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)U41(mark(X1), X2, X3) → U41(X1, X2, X3)
U41(X1, mark(X2), X3) → U41(X1, X2, X3)U41(X1, X2, mark(X3)) → U41(X1, X2, X3)
U41(active(X1), X2, X3) → U41(X1, X2, X3)U41(X1, active(X2), X3) → U41(X1, X2, X3)
U41(X1, X2, active(X3)) → U41(X1, X2, X3)U42(mark(X1), X2, X3) → U42(X1, X2, X3)
U42(X1, mark(X2), X3) → U42(X1, X2, X3)U42(X1, X2, mark(X3)) → U42(X1, X2, X3)
U42(active(X1), X2, X3) → U42(X1, X2, X3)U42(X1, active(X2), X3) → U42(X1, X2, X3)
U42(X1, X2, active(X3)) → U42(X1, X2, X3)U43(mark(X1), X2, X3) → U43(X1, X2, X3)
U43(X1, mark(X2), X3) → U43(X1, X2, X3)U43(X1, X2, mark(X3)) → U43(X1, X2, X3)
U43(active(X1), X2, X3) → U43(X1, X2, X3)U43(X1, active(X2), X3) → U43(X1, X2, X3)
U43(X1, X2, active(X3)) → U43(X1, X2, X3)U44(mark(X1), X2, X3) → U44(X1, X2, X3)
U44(X1, mark(X2), X3) → U44(X1, X2, X3)U44(X1, X2, mark(X3)) → U44(X1, X2, X3)
U44(active(X1), X2, X3) → U44(X1, X2, X3)U44(X1, active(X2), X3) → U44(X1, X2, X3)
U44(X1, X2, active(X3)) → U44(X1, X2, X3)U45(mark(X1), X2) → U45(X1, X2)
U45(X1, mark(X2)) → U45(X1, X2)U45(active(X1), X2) → U45(X1, X2)
U45(X1, active(X2)) → U45(X1, X2)U46(mark(X)) → U46(X)
U46(active(X)) → U46(X)U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)U53(mark(X1), X2, X3) → U53(X1, X2, X3)
U53(X1, mark(X2), X3) → U53(X1, X2, X3)U53(X1, X2, mark(X3)) → U53(X1, X2, X3)
U53(active(X1), X2, X3) → U53(X1, X2, X3)U53(X1, active(X2), X3) → U53(X1, X2, X3)
U53(X1, X2, active(X3)) → U53(X1, X2, X3)U54(mark(X1), X2, X3) → U54(X1, X2, X3)
U54(X1, mark(X2), X3) → U54(X1, X2, X3)U54(X1, X2, mark(X3)) → U54(X1, X2, X3)
U54(active(X1), X2, X3) → U54(X1, X2, X3)U54(X1, active(X2), X3) → U54(X1, X2, X3)
U54(X1, X2, active(X3)) → U54(X1, X2, X3)U55(mark(X1), X2) → U55(X1, X2)
U55(X1, mark(X2)) → U55(X1, X2)U55(active(X1), X2) → U55(X1, X2)
U55(X1, active(X2)) → U55(X1, X2)U56(mark(X)) → U56(X)
U56(active(X)) → U56(X)U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)U62(mark(X1), X2) → U62(X1, X2)
U62(X1, mark(X2)) → U62(X1, X2)U62(active(X1), X2) → U62(X1, X2)
U62(X1, active(X2)) → U62(X1, X2)isPLNatKind(mark(X)) → isPLNatKind(X)
isPLNatKind(active(X)) → isPLNatKind(X)U63(mark(X)) → U63(X)
U63(active(X)) → U63(X)isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)U73(mark(X)) → U73(X)
U73(active(X)) → U73(X)U81(mark(X1), X2) → U81(X1, X2)
U81(X1, mark(X2)) → U81(X1, X2)U81(active(X1), X2) → U81(X1, X2)
U81(X1, active(X2)) → U81(X1, X2)U82(mark(X1), X2) → U82(X1, X2)
U82(X1, mark(X2)) → U82(X1, X2)U82(active(X1), X2) → U82(X1, X2)
U82(X1, active(X2)) → U82(X1, X2)U83(mark(X)) → U83(X)
U83(active(X)) → U83(X)U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)U92(mark(X1), X2) → U92(X1, X2)
U92(X1, mark(X2)) → U92(X1, X2)U92(active(X1), X2) → U92(X1, X2)
U92(X1, active(X2)) → U92(X1, X2)U93(mark(X)) → U93(X)
U93(active(X)) → U93(X)tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)

Original Signature

Termination of terms over the following signature is verified: U311, U312, U104, U105, U106, U112, U63, U111, U62, U61, U303, U302, U304, U251, U253, U252, U255, U254, U256, U322, U323, isPLNat, isLNatKind, U321, tail, U193, U192, U71, U191, U73, U72, 0, U122, U121, U262, U261, pair, U331, U332, U333, U334, U46, U325, U45, U324, U44, U327, U43, U131, U326, U42, U41, U232, U231, cons, U341, U344, U342, splitAt, U343, U55, U54, U141, U56, U51, s, tt, U53, U52, U246, U245, U244, U243, afterNth, U242, U241, natsFrom, U161, U204, U203, U206, U205, fst, U211, U23, head, U24, U21, U22, U294, U292, U293, U151, mark, U291, isPLNatKind, U221, isLNat, active, U31, U32, U33, U34, U181, U182, U183, isNatural, U281, U282, U93, U92, U91, snd, U171, isNaturalKind, U172, U272, U83, U271, U201, U202, U14, take, U82, U301, U81, U11, U12, U13, U102, sel, U103, U101, nil