(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__U101(tt, V1, V2) → A__U102(a__isNaturalKind(V1), V1, V2)
A__U101(tt, V1, V2) → A__ISNATURALKIND(V1)
A__U102(tt, V1, V2) → A__U103(a__isLNatKind(V2), V1, V2)
A__U102(tt, V1, V2) → A__ISLNATKIND(V2)
A__U103(tt, V1, V2) → A__U104(a__isLNatKind(V2), V1, V2)
A__U103(tt, V1, V2) → A__ISLNATKIND(V2)
A__U104(tt, V1, V2) → A__U105(a__isNatural(V1), V2)
A__U104(tt, V1, V2) → A__ISNATURAL(V1)
A__U105(tt, V2) → A__U106(a__isLNat(V2))
A__U105(tt, V2) → A__ISLNAT(V2)
A__U11(tt, N, XS) → A__U12(a__isNaturalKind(N), N, XS)
A__U11(tt, N, XS) → A__ISNATURALKIND(N)
A__U111(tt, V2) → A__U112(a__isLNatKind(V2))
A__U111(tt, V2) → A__ISLNATKIND(V2)
A__U12(tt, N, XS) → A__U13(a__isLNat(XS), N, XS)
A__U12(tt, N, XS) → A__ISLNAT(XS)
A__U121(tt, V2) → A__U122(a__isLNatKind(V2))
A__U121(tt, V2) → A__ISLNATKIND(V2)
A__U13(tt, N, XS) → A__U14(a__isLNatKind(XS), N, XS)
A__U13(tt, N, XS) → A__ISLNATKIND(XS)
A__U14(tt, N, XS) → A__SND(a__splitAt(mark(N), mark(XS)))
A__U14(tt, N, XS) → A__SPLITAT(mark(N), mark(XS))
A__U14(tt, N, XS) → MARK(N)
A__U14(tt, N, XS) → MARK(XS)
A__U171(tt, V2) → A__U172(a__isLNatKind(V2))
A__U171(tt, V2) → A__ISLNATKIND(V2)
A__U181(tt, V1) → A__U182(a__isLNatKind(V1), V1)
A__U181(tt, V1) → A__ISLNATKIND(V1)
A__U182(tt, V1) → A__U183(a__isLNat(V1))
A__U182(tt, V1) → A__ISLNAT(V1)
A__U191(tt, V1) → A__U192(a__isNaturalKind(V1), V1)
A__U191(tt, V1) → A__ISNATURALKIND(V1)
A__U192(tt, V1) → A__U193(a__isNatural(V1))
A__U192(tt, V1) → A__ISNATURAL(V1)
A__U201(tt, V1, V2) → A__U202(a__isNaturalKind(V1), V1, V2)
A__U201(tt, V1, V2) → A__ISNATURALKIND(V1)
A__U202(tt, V1, V2) → A__U203(a__isLNatKind(V2), V1, V2)
A__U202(tt, V1, V2) → A__ISLNATKIND(V2)
A__U203(tt, V1, V2) → A__U204(a__isLNatKind(V2), V1, V2)
A__U203(tt, V1, V2) → A__ISLNATKIND(V2)
A__U204(tt, V1, V2) → A__U205(a__isNatural(V1), V2)
A__U204(tt, V1, V2) → A__ISNATURAL(V1)
A__U205(tt, V2) → A__U206(a__isLNat(V2))
A__U205(tt, V2) → A__ISLNAT(V2)
A__U21(tt, X, Y) → A__U22(a__isLNatKind(X), X, Y)
A__U21(tt, X, Y) → A__ISLNATKIND(X)
A__U22(tt, X, Y) → A__U23(a__isLNat(Y), X, Y)
A__U22(tt, X, Y) → A__ISLNAT(Y)
A__U23(tt, X, Y) → A__U24(a__isLNatKind(Y), X)
A__U23(tt, X, Y) → A__ISLNATKIND(Y)
A__U231(tt, V2) → A__U232(a__isLNatKind(V2))
A__U231(tt, V2) → A__ISLNATKIND(V2)
A__U24(tt, X) → MARK(X)
A__U241(tt, V1, V2) → A__U242(a__isLNatKind(V1), V1, V2)
A__U241(tt, V1, V2) → A__ISLNATKIND(V1)
A__U242(tt, V1, V2) → A__U243(a__isLNatKind(V2), V1, V2)
A__U242(tt, V1, V2) → A__ISLNATKIND(V2)
A__U243(tt, V1, V2) → A__U244(a__isLNatKind(V2), V1, V2)
A__U243(tt, V1, V2) → A__ISLNATKIND(V2)
A__U244(tt, V1, V2) → A__U245(a__isLNat(V1), V2)
A__U244(tt, V1, V2) → A__ISLNAT(V1)
A__U245(tt, V2) → A__U246(a__isLNat(V2))
A__U245(tt, V2) → A__ISLNAT(V2)
A__U251(tt, V1, V2) → A__U252(a__isNaturalKind(V1), V1, V2)
A__U251(tt, V1, V2) → A__ISNATURALKIND(V1)
A__U252(tt, V1, V2) → A__U253(a__isLNatKind(V2), V1, V2)
A__U252(tt, V1, V2) → A__ISLNATKIND(V2)
A__U253(tt, V1, V2) → A__U254(a__isLNatKind(V2), V1, V2)
A__U253(tt, V1, V2) → A__ISLNATKIND(V2)
A__U254(tt, V1, V2) → A__U255(a__isNatural(V1), V2)
A__U254(tt, V1, V2) → A__ISNATURAL(V1)
A__U255(tt, V2) → A__U256(a__isLNat(V2))
A__U255(tt, V2) → A__ISLNAT(V2)
A__U261(tt, V2) → A__U262(a__isLNatKind(V2))
A__U261(tt, V2) → A__ISLNATKIND(V2)
A__U271(tt, V2) → A__U272(a__isLNatKind(V2))
A__U271(tt, V2) → A__ISLNATKIND(V2)
A__U281(tt, N) → A__U282(a__isNaturalKind(N), N)
A__U281(tt, N) → A__ISNATURALKIND(N)
A__U282(tt, N) → MARK(N)
A__U291(tt, N, XS) → A__U292(a__isNaturalKind(N), N, XS)
A__U291(tt, N, XS) → A__ISNATURALKIND(N)
A__U292(tt, N, XS) → A__U293(a__isLNat(XS), N, XS)
A__U292(tt, N, XS) → A__ISLNAT(XS)
A__U293(tt, N, XS) → A__U294(a__isLNatKind(XS), N, XS)
A__U293(tt, N, XS) → A__ISLNATKIND(XS)
A__U294(tt, N, XS) → A__HEAD(a__afterNth(mark(N), mark(XS)))
A__U294(tt, N, XS) → A__AFTERNTH(mark(N), mark(XS))
A__U294(tt, N, XS) → MARK(N)
A__U294(tt, N, XS) → MARK(XS)
A__U301(tt, X, Y) → A__U302(a__isLNatKind(X), Y)
A__U301(tt, X, Y) → A__ISLNATKIND(X)
A__U302(tt, Y) → A__U303(a__isLNat(Y), Y)
A__U302(tt, Y) → A__ISLNAT(Y)
A__U303(tt, Y) → A__U304(a__isLNatKind(Y), Y)
A__U303(tt, Y) → A__ISLNATKIND(Y)
A__U304(tt, Y) → MARK(Y)
A__U31(tt, N, XS) → A__U32(a__isNaturalKind(N), N, XS)
A__U31(tt, N, XS) → A__ISNATURALKIND(N)
A__U311(tt, XS) → A__U312(a__isLNatKind(XS), XS)
A__U311(tt, XS) → A__ISLNATKIND(XS)
A__U312(tt, XS) → MARK(XS)
A__U32(tt, N, XS) → A__U33(a__isLNat(XS), N, XS)
A__U32(tt, N, XS) → A__ISLNAT(XS)
A__U321(tt, N, X, XS) → A__U322(a__isNaturalKind(N), N, X, XS)
A__U321(tt, N, X, XS) → A__ISNATURALKIND(N)
A__U322(tt, N, X, XS) → A__U323(a__isNatural(X), N, X, XS)
A__U322(tt, N, X, XS) → A__ISNATURAL(X)
A__U323(tt, N, X, XS) → A__U324(a__isNaturalKind(X), N, X, XS)
A__U323(tt, N, X, XS) → A__ISNATURALKIND(X)
A__U324(tt, N, X, XS) → A__U325(a__isLNat(XS), N, X, XS)
A__U324(tt, N, X, XS) → A__ISLNAT(XS)
A__U325(tt, N, X, XS) → A__U326(a__isLNatKind(XS), N, X, XS)
A__U325(tt, N, X, XS) → A__ISLNATKIND(XS)
A__U326(tt, N, X, XS) → A__U327(a__splitAt(mark(N), mark(XS)), X)
A__U326(tt, N, X, XS) → A__SPLITAT(mark(N), mark(XS))
A__U326(tt, N, X, XS) → MARK(N)
A__U326(tt, N, X, XS) → MARK(XS)
A__U327(pair(YS, ZS), X) → MARK(X)
A__U327(pair(YS, ZS), X) → MARK(ZS)
A__U33(tt, N, XS) → A__U34(a__isLNatKind(XS), N)
A__U33(tt, N, XS) → A__ISLNATKIND(XS)
A__U331(tt, N, XS) → A__U332(a__isNaturalKind(N), XS)
A__U331(tt, N, XS) → A__ISNATURALKIND(N)
A__U332(tt, XS) → A__U333(a__isLNat(XS), XS)
A__U332(tt, XS) → A__ISLNAT(XS)
A__U333(tt, XS) → A__U334(a__isLNatKind(XS), XS)
A__U333(tt, XS) → A__ISLNATKIND(XS)
A__U334(tt, XS) → MARK(XS)
A__U34(tt, N) → MARK(N)
A__U341(tt, N, XS) → A__U342(a__isNaturalKind(N), N, XS)
A__U341(tt, N, XS) → A__ISNATURALKIND(N)
A__U342(tt, N, XS) → A__U343(a__isLNat(XS), N, XS)
A__U342(tt, N, XS) → A__ISLNAT(XS)
A__U343(tt, N, XS) → A__U344(a__isLNatKind(XS), N, XS)
A__U343(tt, N, XS) → A__ISLNATKIND(XS)
A__U344(tt, N, XS) → A__FST(a__splitAt(mark(N), mark(XS)))
A__U344(tt, N, XS) → A__SPLITAT(mark(N), mark(XS))
A__U344(tt, N, XS) → MARK(N)
A__U344(tt, N, XS) → MARK(XS)
A__U41(tt, V1, V2) → A__U42(a__isNaturalKind(V1), V1, V2)
A__U41(tt, V1, V2) → A__ISNATURALKIND(V1)
A__U42(tt, V1, V2) → A__U43(a__isLNatKind(V2), V1, V2)
A__U42(tt, V1, V2) → A__ISLNATKIND(V2)
A__U43(tt, V1, V2) → A__U44(a__isLNatKind(V2), V1, V2)
A__U43(tt, V1, V2) → A__ISLNATKIND(V2)
A__U44(tt, V1, V2) → A__U45(a__isNatural(V1), V2)
A__U44(tt, V1, V2) → A__ISNATURAL(V1)
A__U45(tt, V2) → A__U46(a__isLNat(V2))
A__U45(tt, V2) → A__ISLNAT(V2)
A__U51(tt, V1, V2) → A__U52(a__isNaturalKind(V1), V1, V2)
A__U51(tt, V1, V2) → A__ISNATURALKIND(V1)
A__U52(tt, V1, V2) → A__U53(a__isLNatKind(V2), V1, V2)
A__U52(tt, V1, V2) → A__ISLNATKIND(V2)
A__U53(tt, V1, V2) → A__U54(a__isLNatKind(V2), V1, V2)
A__U53(tt, V1, V2) → A__ISLNATKIND(V2)
A__U54(tt, V1, V2) → A__U55(a__isNatural(V1), V2)
A__U54(tt, V1, V2) → A__ISNATURAL(V1)
A__U55(tt, V2) → A__U56(a__isLNat(V2))
A__U55(tt, V2) → A__ISLNAT(V2)
A__U61(tt, V1) → A__U62(a__isPLNatKind(V1), V1)
A__U61(tt, V1) → A__ISPLNATKIND(V1)
A__U62(tt, V1) → A__U63(a__isPLNat(V1))
A__U62(tt, V1) → A__ISPLNAT(V1)
A__U71(tt, V1) → A__U72(a__isNaturalKind(V1), V1)
A__U71(tt, V1) → A__ISNATURALKIND(V1)
A__U72(tt, V1) → A__U73(a__isNatural(V1))
A__U72(tt, V1) → A__ISNATURAL(V1)
A__U81(tt, V1) → A__U82(a__isPLNatKind(V1), V1)
A__U81(tt, V1) → A__ISPLNATKIND(V1)
A__U82(tt, V1) → A__U83(a__isPLNat(V1))
A__U82(tt, V1) → A__ISPLNAT(V1)
A__U91(tt, V1) → A__U92(a__isLNatKind(V1), V1)
A__U91(tt, V1) → A__ISLNATKIND(V1)
A__U92(tt, V1) → A__U93(a__isLNat(V1))
A__U92(tt, V1) → A__ISLNAT(V1)
A__AFTERNTH(N, XS) → A__U11(a__isNatural(N), N, XS)
A__AFTERNTH(N, XS) → A__ISNATURAL(N)
A__FST(pair(X, Y)) → A__U21(a__isLNat(X), X, Y)
A__FST(pair(X, Y)) → A__ISLNAT(X)
A__HEAD(cons(N, XS)) → A__U31(a__isNatural(N), N, XS)
A__HEAD(cons(N, XS)) → A__ISNATURAL(N)
A__ISLNAT(afterNth(V1, V2)) → A__U41(a__isNaturalKind(V1), V1, V2)
A__ISLNAT(afterNth(V1, V2)) → A__ISNATURALKIND(V1)
A__ISLNAT(cons(V1, V2)) → A__U51(a__isNaturalKind(V1), V1, V2)
A__ISLNAT(cons(V1, V2)) → A__ISNATURALKIND(V1)
A__ISLNAT(fst(V1)) → A__U61(a__isPLNatKind(V1), V1)
A__ISLNAT(fst(V1)) → A__ISPLNATKIND(V1)
A__ISLNAT(natsFrom(V1)) → A__U71(a__isNaturalKind(V1), V1)
A__ISLNAT(natsFrom(V1)) → A__ISNATURALKIND(V1)
A__ISLNAT(snd(V1)) → A__U81(a__isPLNatKind(V1), V1)
A__ISLNAT(snd(V1)) → A__ISPLNATKIND(V1)
A__ISLNAT(tail(V1)) → A__U91(a__isLNatKind(V1), V1)
A__ISLNAT(tail(V1)) → A__ISLNATKIND(V1)
A__ISLNAT(take(V1, V2)) → A__U101(a__isNaturalKind(V1), V1, V2)
A__ISLNAT(take(V1, V2)) → A__ISNATURALKIND(V1)
A__ISLNATKIND(afterNth(V1, V2)) → A__U111(a__isNaturalKind(V1), V2)
A__ISLNATKIND(afterNth(V1, V2)) → A__ISNATURALKIND(V1)
A__ISLNATKIND(cons(V1, V2)) → A__U121(a__isNaturalKind(V1), V2)
A__ISLNATKIND(cons(V1, V2)) → A__ISNATURALKIND(V1)
A__ISLNATKIND(fst(V1)) → A__U131(a__isPLNatKind(V1))
A__ISLNATKIND(fst(V1)) → A__ISPLNATKIND(V1)
A__ISLNATKIND(natsFrom(V1)) → A__U141(a__isNaturalKind(V1))
A__ISLNATKIND(natsFrom(V1)) → A__ISNATURALKIND(V1)
A__ISLNATKIND(snd(V1)) → A__U151(a__isPLNatKind(V1))
A__ISLNATKIND(snd(V1)) → A__ISPLNATKIND(V1)
A__ISLNATKIND(tail(V1)) → A__U161(a__isLNatKind(V1))
A__ISLNATKIND(tail(V1)) → A__ISLNATKIND(V1)
A__ISLNATKIND(take(V1, V2)) → A__U171(a__isNaturalKind(V1), V2)
A__ISLNATKIND(take(V1, V2)) → A__ISNATURALKIND(V1)
A__ISNATURAL(head(V1)) → A__U181(a__isLNatKind(V1), V1)
A__ISNATURAL(head(V1)) → A__ISLNATKIND(V1)
A__ISNATURAL(s(V1)) → A__U191(a__isNaturalKind(V1), V1)
A__ISNATURAL(s(V1)) → A__ISNATURALKIND(V1)
A__ISNATURAL(sel(V1, V2)) → A__U201(a__isNaturalKind(V1), V1, V2)
A__ISNATURAL(sel(V1, V2)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(head(V1)) → A__U211(a__isLNatKind(V1))
A__ISNATURALKIND(head(V1)) → A__ISLNATKIND(V1)
A__ISNATURALKIND(s(V1)) → A__U221(a__isNaturalKind(V1))
A__ISNATURALKIND(s(V1)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(sel(V1, V2)) → A__U231(a__isNaturalKind(V1), V2)
A__ISNATURALKIND(sel(V1, V2)) → A__ISNATURALKIND(V1)
A__ISPLNAT(pair(V1, V2)) → A__U241(a__isLNatKind(V1), V1, V2)
A__ISPLNAT(pair(V1, V2)) → A__ISLNATKIND(V1)
A__ISPLNAT(splitAt(V1, V2)) → A__U251(a__isNaturalKind(V1), V1, V2)
A__ISPLNAT(splitAt(V1, V2)) → A__ISNATURALKIND(V1)
A__ISPLNATKIND(pair(V1, V2)) → A__U261(a__isLNatKind(V1), V2)
A__ISPLNATKIND(pair(V1, V2)) → A__ISLNATKIND(V1)
A__ISPLNATKIND(splitAt(V1, V2)) → A__U271(a__isNaturalKind(V1), V2)
A__ISPLNATKIND(splitAt(V1, V2)) → A__ISNATURALKIND(V1)
A__NATSFROM(N) → A__U281(a__isNatural(N), N)
A__NATSFROM(N) → A__ISNATURAL(N)
A__SEL(N, XS) → A__U291(a__isNatural(N), N, XS)
A__SEL(N, XS) → A__ISNATURAL(N)
A__SND(pair(X, Y)) → A__U301(a__isLNat(X), X, Y)
A__SND(pair(X, Y)) → A__ISLNAT(X)
A__SPLITAT(0, XS) → A__U311(a__isLNat(XS), XS)
A__SPLITAT(0, XS) → A__ISLNAT(XS)
A__SPLITAT(s(N), cons(X, XS)) → A__U321(a__isNatural(N), N, X, XS)
A__SPLITAT(s(N), cons(X, XS)) → A__ISNATURAL(N)
A__TAIL(cons(N, XS)) → A__U331(a__isNatural(N), N, XS)
A__TAIL(cons(N, XS)) → A__ISNATURAL(N)
A__TAKE(N, XS) → A__U341(a__isNatural(N), N, XS)
A__TAKE(N, XS) → A__ISNATURAL(N)
MARK(U101(X1, X2, X3)) → A__U101(mark(X1), X2, X3)
MARK(U101(X1, X2, X3)) → MARK(X1)
MARK(U102(X1, X2, X3)) → A__U102(mark(X1), X2, X3)
MARK(U102(X1, X2, X3)) → MARK(X1)
MARK(isNaturalKind(X)) → A__ISNATURALKIND(X)
MARK(U103(X1, X2, X3)) → A__U103(mark(X1), X2, X3)
MARK(U103(X1, X2, X3)) → MARK(X1)
MARK(isLNatKind(X)) → A__ISLNATKIND(X)
MARK(U104(X1, X2, X3)) → A__U104(mark(X1), X2, X3)
MARK(U104(X1, X2, X3)) → MARK(X1)
MARK(U105(X1, X2)) → A__U105(mark(X1), X2)
MARK(U105(X1, X2)) → MARK(X1)
MARK(isNatural(X)) → A__ISNATURAL(X)
MARK(U106(X)) → A__U106(mark(X))
MARK(U106(X)) → MARK(X)
MARK(isLNat(X)) → A__ISLNAT(X)
MARK(U11(X1, X2, X3)) → A__U11(mark(X1), X2, X3)
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → A__U12(mark(X1), X2, X3)
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U111(X1, X2)) → A__U111(mark(X1), X2)
MARK(U111(X1, X2)) → MARK(X1)
MARK(U112(X)) → A__U112(mark(X))
MARK(U112(X)) → MARK(X)
MARK(U13(X1, X2, X3)) → A__U13(mark(X1), X2, X3)
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U121(X1, X2)) → A__U121(mark(X1), X2)
MARK(U121(X1, X2)) → MARK(X1)
MARK(U122(X)) → A__U122(mark(X))
MARK(U122(X)) → MARK(X)
MARK(U14(X1, X2, X3)) → A__U14(mark(X1), X2, X3)
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U131(X)) → A__U131(mark(X))
MARK(U131(X)) → MARK(X)
MARK(snd(X)) → A__SND(mark(X))
MARK(snd(X)) → MARK(X)
MARK(splitAt(X1, X2)) → A__SPLITAT(mark(X1), mark(X2))
MARK(splitAt(X1, X2)) → MARK(X1)
MARK(splitAt(X1, X2)) → MARK(X2)
MARK(U141(X)) → A__U141(mark(X))
MARK(U141(X)) → MARK(X)
MARK(U151(X)) → A__U151(mark(X))
MARK(U151(X)) → MARK(X)
MARK(U161(X)) → A__U161(mark(X))
MARK(U161(X)) → MARK(X)
MARK(U171(X1, X2)) → A__U171(mark(X1), X2)
MARK(U171(X1, X2)) → MARK(X1)
MARK(U172(X)) → A__U172(mark(X))
MARK(U172(X)) → MARK(X)
MARK(U181(X1, X2)) → A__U181(mark(X1), X2)
MARK(U181(X1, X2)) → MARK(X1)
MARK(U182(X1, X2)) → A__U182(mark(X1), X2)
MARK(U182(X1, X2)) → MARK(X1)
MARK(U183(X)) → A__U183(mark(X))
MARK(U183(X)) → MARK(X)
MARK(U191(X1, X2)) → A__U191(mark(X1), X2)
MARK(U191(X1, X2)) → MARK(X1)
MARK(U192(X1, X2)) → A__U192(mark(X1), X2)
MARK(U192(X1, X2)) → MARK(X1)
MARK(U193(X)) → A__U193(mark(X))
MARK(U193(X)) → MARK(X)
MARK(U201(X1, X2, X3)) → A__U201(mark(X1), X2, X3)
MARK(U201(X1, X2, X3)) → MARK(X1)
MARK(U202(X1, X2, X3)) → A__U202(mark(X1), X2, X3)
MARK(U202(X1, X2, X3)) → MARK(X1)
MARK(U203(X1, X2, X3)) → A__U203(mark(X1), X2, X3)
MARK(U203(X1, X2, X3)) → MARK(X1)
MARK(U204(X1, X2, X3)) → A__U204(mark(X1), X2, X3)
MARK(U204(X1, X2, X3)) → MARK(X1)
MARK(U205(X1, X2)) → A__U205(mark(X1), X2)
MARK(U205(X1, X2)) → MARK(X1)
MARK(U206(X)) → A__U206(mark(X))
MARK(U206(X)) → MARK(X)
MARK(U21(X1, X2, X3)) → A__U21(mark(X1), X2, X3)
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(U22(X1, X2, X3)) → A__U22(mark(X1), X2, X3)
MARK(U22(X1, X2, X3)) → MARK(X1)
MARK(U211(X)) → A__U211(mark(X))
MARK(U211(X)) → MARK(X)
MARK(U23(X1, X2, X3)) → A__U23(mark(X1), X2, X3)
MARK(U23(X1, X2, X3)) → MARK(X1)
MARK(U221(X)) → A__U221(mark(X))
MARK(U221(X)) → MARK(X)
MARK(U24(X1, X2)) → A__U24(mark(X1), X2)
MARK(U24(X1, X2)) → MARK(X1)
MARK(U231(X1, X2)) → A__U231(mark(X1), X2)
MARK(U231(X1, X2)) → MARK(X1)
MARK(U232(X)) → A__U232(mark(X))
MARK(U232(X)) → MARK(X)
MARK(U241(X1, X2, X3)) → A__U241(mark(X1), X2, X3)
MARK(U241(X1, X2, X3)) → MARK(X1)
MARK(U242(X1, X2, X3)) → A__U242(mark(X1), X2, X3)
MARK(U242(X1, X2, X3)) → MARK(X1)
MARK(U243(X1, X2, X3)) → A__U243(mark(X1), X2, X3)
MARK(U243(X1, X2, X3)) → MARK(X1)
MARK(U244(X1, X2, X3)) → A__U244(mark(X1), X2, X3)
MARK(U244(X1, X2, X3)) → MARK(X1)
MARK(U245(X1, X2)) → A__U245(mark(X1), X2)
MARK(U245(X1, X2)) → MARK(X1)
MARK(U246(X)) → A__U246(mark(X))
MARK(U246(X)) → MARK(X)
MARK(U251(X1, X2, X3)) → A__U251(mark(X1), X2, X3)
MARK(U251(X1, X2, X3)) → MARK(X1)
MARK(U252(X1, X2, X3)) → A__U252(mark(X1), X2, X3)
MARK(U252(X1, X2, X3)) → MARK(X1)
MARK(U253(X1, X2, X3)) → A__U253(mark(X1), X2, X3)
MARK(U253(X1, X2, X3)) → MARK(X1)
MARK(U254(X1, X2, X3)) → A__U254(mark(X1), X2, X3)
MARK(U254(X1, X2, X3)) → MARK(X1)
MARK(U255(X1, X2)) → A__U255(mark(X1), X2)
MARK(U255(X1, X2)) → MARK(X1)
MARK(U256(X)) → A__U256(mark(X))
MARK(U256(X)) → MARK(X)
MARK(U261(X1, X2)) → A__U261(mark(X1), X2)
MARK(U261(X1, X2)) → MARK(X1)
MARK(U262(X)) → A__U262(mark(X))
MARK(U262(X)) → MARK(X)
MARK(U271(X1, X2)) → A__U271(mark(X1), X2)
MARK(U271(X1, X2)) → MARK(X1)
MARK(U272(X)) → A__U272(mark(X))
MARK(U272(X)) → MARK(X)
MARK(U281(X1, X2)) → A__U281(mark(X1), X2)
MARK(U281(X1, X2)) → MARK(X1)
MARK(U282(X1, X2)) → A__U282(mark(X1), X2)
MARK(U282(X1, X2)) → MARK(X1)
MARK(natsFrom(X)) → A__NATSFROM(mark(X))
MARK(natsFrom(X)) → MARK(X)
MARK(U291(X1, X2, X3)) → A__U291(mark(X1), X2, X3)
MARK(U291(X1, X2, X3)) → MARK(X1)
MARK(U292(X1, X2, X3)) → A__U292(mark(X1), X2, X3)
MARK(U292(X1, X2, X3)) → MARK(X1)
MARK(U293(X1, X2, X3)) → A__U293(mark(X1), X2, X3)
MARK(U293(X1, X2, X3)) → MARK(X1)
MARK(U294(X1, X2, X3)) → A__U294(mark(X1), X2, X3)
MARK(U294(X1, X2, X3)) → MARK(X1)
MARK(head(X)) → A__HEAD(mark(X))
MARK(head(X)) → MARK(X)
MARK(afterNth(X1, X2)) → A__AFTERNTH(mark(X1), mark(X2))
MARK(afterNth(X1, X2)) → MARK(X1)
MARK(afterNth(X1, X2)) → MARK(X2)
MARK(U301(X1, X2, X3)) → A__U301(mark(X1), X2, X3)
MARK(U301(X1, X2, X3)) → MARK(X1)
MARK(U302(X1, X2)) → A__U302(mark(X1), X2)
MARK(U302(X1, X2)) → MARK(X1)
MARK(U303(X1, X2)) → A__U303(mark(X1), X2)
MARK(U303(X1, X2)) → MARK(X1)
MARK(U304(X1, X2)) → A__U304(mark(X1), X2)
MARK(U304(X1, X2)) → MARK(X1)
MARK(U31(X1, X2, X3)) → A__U31(mark(X1), X2, X3)
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → A__U32(mark(X1), X2, X3)
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U311(X1, X2)) → A__U311(mark(X1), X2)
MARK(U311(X1, X2)) → MARK(X1)
MARK(U312(X1, X2)) → A__U312(mark(X1), X2)
MARK(U312(X1, X2)) → MARK(X1)
MARK(U33(X1, X2, X3)) → A__U33(mark(X1), X2, X3)
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U321(X1, X2, X3, X4)) → A__U321(mark(X1), X2, X3, X4)
MARK(U321(X1, X2, X3, X4)) → MARK(X1)
MARK(U322(X1, X2, X3, X4)) → A__U322(mark(X1), X2, X3, X4)
MARK(U322(X1, X2, X3, X4)) → MARK(X1)
MARK(U323(X1, X2, X3, X4)) → A__U323(mark(X1), X2, X3, X4)
MARK(U323(X1, X2, X3, X4)) → MARK(X1)
MARK(U324(X1, X2, X3, X4)) → A__U324(mark(X1), X2, X3, X4)
MARK(U324(X1, X2, X3, X4)) → MARK(X1)
MARK(U325(X1, X2, X3, X4)) → A__U325(mark(X1), X2, X3, X4)
MARK(U325(X1, X2, X3, X4)) → MARK(X1)
MARK(U326(X1, X2, X3, X4)) → A__U326(mark(X1), X2, X3, X4)
MARK(U326(X1, X2, X3, X4)) → MARK(X1)
MARK(U327(X1, X2)) → A__U327(mark(X1), X2)
MARK(U327(X1, X2)) → MARK(X1)
MARK(U34(X1, X2)) → A__U34(mark(X1), X2)
MARK(U34(X1, X2)) → MARK(X1)
MARK(U331(X1, X2, X3)) → A__U331(mark(X1), X2, X3)
MARK(U331(X1, X2, X3)) → MARK(X1)
MARK(U332(X1, X2)) → A__U332(mark(X1), X2)
MARK(U332(X1, X2)) → MARK(X1)
MARK(U333(X1, X2)) → A__U333(mark(X1), X2)
MARK(U333(X1, X2)) → MARK(X1)
MARK(U334(X1, X2)) → A__U334(mark(X1), X2)
MARK(U334(X1, X2)) → MARK(X1)
MARK(U341(X1, X2, X3)) → A__U341(mark(X1), X2, X3)
MARK(U341(X1, X2, X3)) → MARK(X1)
MARK(U342(X1, X2, X3)) → A__U342(mark(X1), X2, X3)
MARK(U342(X1, X2, X3)) → MARK(X1)
MARK(U343(X1, X2, X3)) → A__U343(mark(X1), X2, X3)
MARK(U343(X1, X2, X3)) → MARK(X1)
MARK(U344(X1, X2, X3)) → A__U344(mark(X1), X2, X3)
MARK(U344(X1, X2, X3)) → MARK(X1)
MARK(fst(X)) → A__FST(mark(X))
MARK(fst(X)) → MARK(X)
MARK(U41(X1, X2, X3)) → A__U41(mark(X1), X2, X3)
MARK(U41(X1, X2, X3)) → MARK(X1)
MARK(U42(X1, X2, X3)) → A__U42(mark(X1), X2, X3)
MARK(U42(X1, X2, X3)) → MARK(X1)
MARK(U43(X1, X2, X3)) → A__U43(mark(X1), X2, X3)
MARK(U43(X1, X2, X3)) → MARK(X1)
MARK(U44(X1, X2, X3)) → A__U44(mark(X1), X2, X3)
MARK(U44(X1, X2, X3)) → MARK(X1)
MARK(U45(X1, X2)) → A__U45(mark(X1), X2)
MARK(U45(X1, X2)) → MARK(X1)
MARK(U46(X)) → A__U46(mark(X))
MARK(U46(X)) → MARK(X)
MARK(U51(X1, X2, X3)) → A__U51(mark(X1), X2, X3)
MARK(U51(X1, X2, X3)) → MARK(X1)
MARK(U52(X1, X2, X3)) → A__U52(mark(X1), X2, X3)
MARK(U52(X1, X2, X3)) → MARK(X1)
MARK(U53(X1, X2, X3)) → A__U53(mark(X1), X2, X3)
MARK(U53(X1, X2, X3)) → MARK(X1)
MARK(U54(X1, X2, X3)) → A__U54(mark(X1), X2, X3)
MARK(U54(X1, X2, X3)) → MARK(X1)
MARK(U55(X1, X2)) → A__U55(mark(X1), X2)
MARK(U55(X1, X2)) → MARK(X1)
MARK(U56(X)) → A__U56(mark(X))
MARK(U56(X)) → MARK(X)
MARK(U61(X1, X2)) → A__U61(mark(X1), X2)
MARK(U61(X1, X2)) → MARK(X1)
MARK(U62(X1, X2)) → A__U62(mark(X1), X2)
MARK(U62(X1, X2)) → MARK(X1)
MARK(isPLNatKind(X)) → A__ISPLNATKIND(X)
MARK(U63(X)) → A__U63(mark(X))
MARK(U63(X)) → MARK(X)
MARK(isPLNat(X)) → A__ISPLNAT(X)
MARK(U71(X1, X2)) → A__U71(mark(X1), X2)
MARK(U71(X1, X2)) → MARK(X1)
MARK(U72(X1, X2)) → A__U72(mark(X1), X2)
MARK(U72(X1, X2)) → MARK(X1)
MARK(U73(X)) → A__U73(mark(X))
MARK(U73(X)) → MARK(X)
MARK(U81(X1, X2)) → A__U81(mark(X1), X2)
MARK(U81(X1, X2)) → MARK(X1)
MARK(U82(X1, X2)) → A__U82(mark(X1), X2)
MARK(U82(X1, X2)) → MARK(X1)
MARK(U83(X)) → A__U83(mark(X))
MARK(U83(X)) → MARK(X)
MARK(U91(X1, X2)) → A__U91(mark(X1), X2)
MARK(U91(X1, X2)) → MARK(X1)
MARK(U92(X1, X2)) → A__U92(mark(X1), X2)
MARK(U92(X1, X2)) → MARK(X1)
MARK(U93(X)) → A__U93(mark(X))
MARK(U93(X)) → MARK(X)
MARK(tail(X)) → A__TAIL(mark(X))
MARK(tail(X)) → MARK(X)
MARK(take(X1, X2)) → A__TAKE(mark(X1), mark(X2))
MARK(take(X1, X2)) → MARK(X1)
MARK(take(X1, X2)) → MARK(X2)
MARK(sel(X1, X2)) → A__SEL(mark(X1), mark(X2))
MARK(sel(X1, X2)) → MARK(X1)
MARK(sel(X1, X2)) → MARK(X2)
MARK(cons(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pair(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → MARK(X2)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 176 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__U111(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(afterNth(V1, V2)) → A__U111(a__isNaturalKind(V1), V2)
A__ISLNATKIND(afterNth(V1, V2)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(head(V1)) → A__ISLNATKIND(V1)
A__ISLNATKIND(cons(V1, V2)) → A__U121(a__isNaturalKind(V1), V2)
A__U121(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(cons(V1, V2)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(s(V1)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(sel(V1, V2)) → A__U231(a__isNaturalKind(V1), V2)
A__U231(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(fst(V1)) → A__ISPLNATKIND(V1)
A__ISPLNATKIND(pair(V1, V2)) → A__U261(a__isLNatKind(V1), V2)
A__U261(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(natsFrom(V1)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(sel(V1, V2)) → A__ISNATURALKIND(V1)
A__ISLNATKIND(snd(V1)) → A__ISPLNATKIND(V1)
A__ISPLNATKIND(pair(V1, V2)) → A__ISLNATKIND(V1)
A__ISLNATKIND(tail(V1)) → A__ISLNATKIND(V1)
A__ISLNATKIND(take(V1, V2)) → A__U171(a__isNaturalKind(V1), V2)
A__U171(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(take(V1, V2)) → A__ISNATURALKIND(V1)
A__ISPLNATKIND(splitAt(V1, V2)) → A__U271(a__isNaturalKind(V1), V2)
A__U271(tt, V2) → A__ISLNATKIND(V2)
A__ISPLNATKIND(splitAt(V1, V2)) → A__ISNATURALKIND(V1)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(6) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


A__ISLNATKIND(afterNth(V1, V2)) → A__U111(a__isNaturalKind(V1), V2)
A__ISLNATKIND(afterNth(V1, V2)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(head(V1)) → A__ISLNATKIND(V1)
A__ISLNATKIND(cons(V1, V2)) → A__U121(a__isNaturalKind(V1), V2)
A__ISLNATKIND(cons(V1, V2)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(sel(V1, V2)) → A__U231(a__isNaturalKind(V1), V2)
A__ISLNATKIND(fst(V1)) → A__ISPLNATKIND(V1)
A__ISPLNATKIND(pair(V1, V2)) → A__U261(a__isLNatKind(V1), V2)
A__ISLNATKIND(natsFrom(V1)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(sel(V1, V2)) → A__ISNATURALKIND(V1)
A__ISLNATKIND(snd(V1)) → A__ISPLNATKIND(V1)
A__ISPLNATKIND(pair(V1, V2)) → A__ISLNATKIND(V1)
A__ISLNATKIND(take(V1, V2)) → A__U171(a__isNaturalKind(V1), V2)
A__ISLNATKIND(take(V1, V2)) → A__ISNATURALKIND(V1)
A__ISPLNATKIND(splitAt(V1, V2)) → A__U271(a__isNaturalKind(V1), V2)
A__ISPLNATKIND(splitAt(V1, V2)) → A__ISNATURALKIND(V1)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
A__U111(x1, x2)  =  x2
tt  =  tt
A__ISLNATKIND(x1)  =  x1
afterNth(x1, x2)  =  afterNth(x1, x2)
a__isNaturalKind(x1)  =  a__isNaturalKind(x1)
A__ISNATURALKIND(x1)  =  x1
head(x1)  =  head(x1)
cons(x1, x2)  =  cons(x1, x2)
A__U121(x1, x2)  =  x2
s(x1)  =  x1
sel(x1, x2)  =  sel(x1, x2)
A__U231(x1, x2)  =  x2
fst(x1)  =  fst(x1)
A__ISPLNATKIND(x1)  =  x1
pair(x1, x2)  =  pair(x1, x2)
A__U261(x1, x2)  =  x2
a__isLNatKind(x1)  =  a__isLNatKind(x1)
natsFrom(x1)  =  natsFrom(x1)
snd(x1)  =  snd(x1)
tail(x1)  =  x1
take(x1, x2)  =  take(x1, x2)
A__U171(x1, x2)  =  x2
splitAt(x1, x2)  =  splitAt(x1, x2)
A__U271(x1, x2)  =  x2
0  =  0
a__U211(x1)  =  a__U211(x1)
a__U221(x1)  =  a__U221(x1)
a__U231(x1, x2)  =  x2
isNaturalKind(x1)  =  isNaturalKind(x1)
nil  =  nil
a__U111(x1, x2)  =  x1
a__U121(x1, x2)  =  x1
a__U131(x1)  =  a__U131(x1)
a__isPLNatKind(x1)  =  a__isPLNatKind(x1)
a__U141(x1)  =  a__U141(x1)
a__U151(x1)  =  a__U151(x1)
a__U161(x1)  =  x1
a__U171(x1, x2)  =  x1
isLNatKind(x1)  =  x1
U111(x1, x2)  =  x2
U211(x1)  =  U211(x1)
U121(x1, x2)  =  x2
U221(x1)  =  U221(x1)
U231(x1, x2)  =  x2
a__U232(x1)  =  a__U232(x1)
U232(x1)  =  U232(x1)
isPLNatKind(x1)  =  isPLNatKind(x1)
U131(x1)  =  U131(x1)
a__U261(x1, x2)  =  x2
U261(x1, x2)  =  x2
U141(x1)  =  U141(x1)
U151(x1)  =  U151(x1)
a__U271(x1, x2)  =  x1
U271(x1, x2)  =  x2
a__U272(x1)  =  a__U272(x1)
U272(x1)  =  U272(x1)
U161(x1)  =  U161(x1)
U171(x1, x2)  =  x2
a__U172(x1)  =  a__U172(x1)
U172(x1)  =  U172(x1)
a__U262(x1)  =  a__U262(x1)
U262(x1)  =  U262(x1)
a__U122(x1)  =  a__U122(x1)
U122(x1)  =  U122(x1)
a__U112(x1)  =  a__U112(x1)
U112(x1)  =  U112(x1)

Recursive path order with status [RPO].
Precedence:
afterNth2 > aisNaturalKind1
head1 > aisNaturalKind1
cons2 > aisNaturalKind1
sel2 > aisNaturalKind1
fst1 > aisNaturalKind1
pair2 > aisNaturalKind1
aisLNatKind1 > tt > aisNaturalKind1
aisLNatKind1 > aisPLNatKind1 > aisNaturalKind1
natsFrom1 > aisNaturalKind1
snd1 > aisNaturalKind1
take2 > aisNaturalKind1
splitAt2 > aisNaturalKind1
0 > tt > aisNaturalKind1
aU2111 > tt > aisNaturalKind1
aU2211 > tt > aisNaturalKind1
isNaturalKind1 > aisNaturalKind1
nil > tt > aisNaturalKind1
aU1311 > tt > aisNaturalKind1
aU1411 > tt > aisNaturalKind1
aU1511 > tt > aisNaturalKind1
U2111 > aisNaturalKind1
U2211 > aisNaturalKind1
aU2321 > tt > aisNaturalKind1
U2321 > aisNaturalKind1
isPLNatKind1 > aisNaturalKind1
U1311 > aisNaturalKind1
U1411 > aisNaturalKind1
U1511 > aisNaturalKind1
aU2721 > tt > aisNaturalKind1
U2721 > aisNaturalKind1
U1611 > aisNaturalKind1
aU1721 > tt > aisNaturalKind1
U1721 > aisNaturalKind1
aU2621 > tt > aisNaturalKind1
U2621 > aisNaturalKind1
aU1221 > tt > aisNaturalKind1
U1221 > aisNaturalKind1
aU1121 > tt > aisNaturalKind1
U1121 > aisNaturalKind1

Status:
tt: multiset
afterNth2: multiset
aisNaturalKind1: multiset
head1: multiset
cons2: multiset
sel2: multiset
fst1: multiset
pair2: multiset
aisLNatKind1: multiset
natsFrom1: multiset
snd1: multiset
take2: multiset
splitAt2: multiset
0: multiset
aU2111: multiset
aU2211: multiset
isNaturalKind1: multiset
nil: multiset
aU1311: multiset
aisPLNatKind1: multiset
aU1411: multiset
aU1511: multiset
U2111: multiset
U2211: multiset
aU2321: multiset
U2321: multiset
isPLNatKind1: multiset
U1311: multiset
U1411: multiset
U1511: multiset
aU2721: multiset
U2721: multiset
U1611: multiset
aU1721: multiset
U1721: multiset
aU2621: multiset
U2621: multiset
aU1221: multiset
U1221: multiset
aU1121: multiset
U1121: multiset

The following usable rules [FROCOS05] were oriented: none

(7) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__U111(tt, V2) → A__ISLNATKIND(V2)
A__U121(tt, V2) → A__ISLNATKIND(V2)
A__ISNATURALKIND(s(V1)) → A__ISNATURALKIND(V1)
A__U231(tt, V2) → A__ISLNATKIND(V2)
A__U261(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(tail(V1)) → A__ISLNATKIND(V1)
A__U171(tt, V2) → A__ISLNATKIND(V2)
A__U271(tt, V2) → A__ISLNATKIND(V2)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(8) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 6 less nodes.

(9) Complex Obligation (AND)

(10) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__ISLNATKIND(tail(V1)) → A__ISLNATKIND(V1)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(11) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


A__ISLNATKIND(tail(V1)) → A__ISLNATKIND(V1)
The remaining pairs can at least be oriented weakly.
Used ordering: Recursive path order with status [RPO].
Precedence:
tail1 > AISLNATKIND1

Status:
AISLNATKIND1: [1]
tail1: multiset

The following usable rules [FROCOS05] were oriented: none

(12) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(13) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(14) TRUE

(15) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__ISNATURALKIND(s(V1)) → A__ISNATURALKIND(V1)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(16) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


A__ISNATURALKIND(s(V1)) → A__ISNATURALKIND(V1)
The remaining pairs can at least be oriented weakly.
Used ordering: Recursive path order with status [RPO].
Precedence:
s1 > AISNATURALKIND1

Status:
AISNATURALKIND1: [1]
s1: multiset

The following usable rules [FROCOS05] were oriented: none

(17) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(18) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(19) TRUE

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__U102(tt, V1, V2) → A__U103(a__isLNatKind(V2), V1, V2)
A__U103(tt, V1, V2) → A__U104(a__isLNatKind(V2), V1, V2)
A__U104(tt, V1, V2) → A__U105(a__isNatural(V1), V2)
A__U105(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(afterNth(V1, V2)) → A__U41(a__isNaturalKind(V1), V1, V2)
A__U41(tt, V1, V2) → A__U42(a__isNaturalKind(V1), V1, V2)
A__U42(tt, V1, V2) → A__U43(a__isLNatKind(V2), V1, V2)
A__U43(tt, V1, V2) → A__U44(a__isLNatKind(V2), V1, V2)
A__U44(tt, V1, V2) → A__U45(a__isNatural(V1), V2)
A__U45(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(cons(V1, V2)) → A__U51(a__isNaturalKind(V1), V1, V2)
A__U51(tt, V1, V2) → A__U52(a__isNaturalKind(V1), V1, V2)
A__U52(tt, V1, V2) → A__U53(a__isLNatKind(V2), V1, V2)
A__U53(tt, V1, V2) → A__U54(a__isLNatKind(V2), V1, V2)
A__U54(tt, V1, V2) → A__U55(a__isNatural(V1), V2)
A__U55(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(fst(V1)) → A__U61(a__isPLNatKind(V1), V1)
A__U61(tt, V1) → A__U62(a__isPLNatKind(V1), V1)
A__U62(tt, V1) → A__ISPLNAT(V1)
A__ISPLNAT(pair(V1, V2)) → A__U241(a__isLNatKind(V1), V1, V2)
A__U241(tt, V1, V2) → A__U242(a__isLNatKind(V1), V1, V2)
A__U242(tt, V1, V2) → A__U243(a__isLNatKind(V2), V1, V2)
A__U243(tt, V1, V2) → A__U244(a__isLNatKind(V2), V1, V2)
A__U244(tt, V1, V2) → A__U245(a__isLNat(V1), V2)
A__U245(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(natsFrom(V1)) → A__U71(a__isNaturalKind(V1), V1)
A__U71(tt, V1) → A__U72(a__isNaturalKind(V1), V1)
A__U72(tt, V1) → A__ISNATURAL(V1)
A__ISNATURAL(head(V1)) → A__U181(a__isLNatKind(V1), V1)
A__U181(tt, V1) → A__U182(a__isLNatKind(V1), V1)
A__U182(tt, V1) → A__ISLNAT(V1)
A__ISLNAT(snd(V1)) → A__U81(a__isPLNatKind(V1), V1)
A__U81(tt, V1) → A__U82(a__isPLNatKind(V1), V1)
A__U82(tt, V1) → A__ISPLNAT(V1)
A__ISPLNAT(splitAt(V1, V2)) → A__U251(a__isNaturalKind(V1), V1, V2)
A__U251(tt, V1, V2) → A__U252(a__isNaturalKind(V1), V1, V2)
A__U252(tt, V1, V2) → A__U253(a__isLNatKind(V2), V1, V2)
A__U253(tt, V1, V2) → A__U254(a__isLNatKind(V2), V1, V2)
A__U254(tt, V1, V2) → A__U255(a__isNatural(V1), V2)
A__U255(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(tail(V1)) → A__U91(a__isLNatKind(V1), V1)
A__U91(tt, V1) → A__U92(a__isLNatKind(V1), V1)
A__U92(tt, V1) → A__ISLNAT(V1)
A__ISLNAT(take(V1, V2)) → A__U101(a__isNaturalKind(V1), V1, V2)
A__U101(tt, V1, V2) → A__U102(a__isNaturalKind(V1), V1, V2)
A__U254(tt, V1, V2) → A__ISNATURAL(V1)
A__ISNATURAL(s(V1)) → A__U191(a__isNaturalKind(V1), V1)
A__U191(tt, V1) → A__U192(a__isNaturalKind(V1), V1)
A__U192(tt, V1) → A__ISNATURAL(V1)
A__ISNATURAL(sel(V1, V2)) → A__U201(a__isNaturalKind(V1), V1, V2)
A__U201(tt, V1, V2) → A__U202(a__isNaturalKind(V1), V1, V2)
A__U202(tt, V1, V2) → A__U203(a__isLNatKind(V2), V1, V2)
A__U203(tt, V1, V2) → A__U204(a__isLNatKind(V2), V1, V2)
A__U204(tt, V1, V2) → A__U205(a__isNatural(V1), V2)
A__U205(tt, V2) → A__ISLNAT(V2)
A__U204(tt, V1, V2) → A__ISNATURAL(V1)
A__U244(tt, V1, V2) → A__ISLNAT(V1)
A__U54(tt, V1, V2) → A__ISNATURAL(V1)
A__U44(tt, V1, V2) → A__ISNATURAL(V1)
A__U104(tt, V1, V2) → A__ISNATURAL(V1)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(21) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


A__U102(tt, V1, V2) → A__U103(a__isLNatKind(V2), V1, V2)
A__U103(tt, V1, V2) → A__U104(a__isLNatKind(V2), V1, V2)
A__U104(tt, V1, V2) → A__U105(a__isNatural(V1), V2)
A__U105(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(afterNth(V1, V2)) → A__U41(a__isNaturalKind(V1), V1, V2)
A__U41(tt, V1, V2) → A__U42(a__isNaturalKind(V1), V1, V2)
A__U42(tt, V1, V2) → A__U43(a__isLNatKind(V2), V1, V2)
A__U43(tt, V1, V2) → A__U44(a__isLNatKind(V2), V1, V2)
A__U44(tt, V1, V2) → A__U45(a__isNatural(V1), V2)
A__U45(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(cons(V1, V2)) → A__U51(a__isNaturalKind(V1), V1, V2)
A__U51(tt, V1, V2) → A__U52(a__isNaturalKind(V1), V1, V2)
A__U52(tt, V1, V2) → A__U53(a__isLNatKind(V2), V1, V2)
A__U53(tt, V1, V2) → A__U54(a__isLNatKind(V2), V1, V2)
A__U54(tt, V1, V2) → A__U55(a__isNatural(V1), V2)
A__U55(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(fst(V1)) → A__U61(a__isPLNatKind(V1), V1)
A__ISPLNAT(pair(V1, V2)) → A__U241(a__isLNatKind(V1), V1, V2)
A__U241(tt, V1, V2) → A__U242(a__isLNatKind(V1), V1, V2)
A__U242(tt, V1, V2) → A__U243(a__isLNatKind(V2), V1, V2)
A__U243(tt, V1, V2) → A__U244(a__isLNatKind(V2), V1, V2)
A__U244(tt, V1, V2) → A__U245(a__isLNat(V1), V2)
A__U245(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(natsFrom(V1)) → A__U71(a__isNaturalKind(V1), V1)
A__ISNATURAL(head(V1)) → A__U181(a__isLNatKind(V1), V1)
A__U181(tt, V1) → A__U182(a__isLNatKind(V1), V1)
A__U182(tt, V1) → A__ISLNAT(V1)
A__ISLNAT(snd(V1)) → A__U81(a__isPLNatKind(V1), V1)
A__ISPLNAT(splitAt(V1, V2)) → A__U251(a__isNaturalKind(V1), V1, V2)
A__U251(tt, V1, V2) → A__U252(a__isNaturalKind(V1), V1, V2)
A__U252(tt, V1, V2) → A__U253(a__isLNatKind(V2), V1, V2)
A__U253(tt, V1, V2) → A__U254(a__isLNatKind(V2), V1, V2)
A__U254(tt, V1, V2) → A__U255(a__isNatural(V1), V2)
A__U255(tt, V2) → A__ISLNAT(V2)
A__ISLNAT(tail(V1)) → A__U91(a__isLNatKind(V1), V1)
A__U91(tt, V1) → A__U92(a__isLNatKind(V1), V1)
A__U92(tt, V1) → A__ISLNAT(V1)
A__ISLNAT(take(V1, V2)) → A__U101(a__isNaturalKind(V1), V1, V2)
A__U101(tt, V1, V2) → A__U102(a__isNaturalKind(V1), V1, V2)
A__U254(tt, V1, V2) → A__ISNATURAL(V1)
A__ISNATURAL(s(V1)) → A__U191(a__isNaturalKind(V1), V1)
A__ISNATURAL(sel(V1, V2)) → A__U201(a__isNaturalKind(V1), V1, V2)
A__U201(tt, V1, V2) → A__U202(a__isNaturalKind(V1), V1, V2)
A__U202(tt, V1, V2) → A__U203(a__isLNatKind(V2), V1, V2)
A__U203(tt, V1, V2) → A__U204(a__isLNatKind(V2), V1, V2)
A__U204(tt, V1, V2) → A__U205(a__isNatural(V1), V2)
A__U205(tt, V2) → A__ISLNAT(V2)
A__U204(tt, V1, V2) → A__ISNATURAL(V1)
A__U244(tt, V1, V2) → A__ISLNAT(V1)
A__U54(tt, V1, V2) → A__ISNATURAL(V1)
A__U44(tt, V1, V2) → A__ISNATURAL(V1)
A__U104(tt, V1, V2) → A__ISNATURAL(V1)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
A__U102(x1, x2, x3)  =  A__U102(x2, x3)
tt  =  tt
A__U103(x1, x2, x3)  =  A__U103(x2, x3)
a__isLNatKind(x1)  =  a__isLNatKind
A__U104(x1, x2, x3)  =  A__U104(x2, x3)
A__U105(x1, x2)  =  A__U105(x2)
a__isNatural(x1)  =  x1
A__ISLNAT(x1)  =  A__ISLNAT(x1)
afterNth(x1, x2)  =  afterNth(x1, x2)
A__U41(x1, x2, x3)  =  A__U41(x2, x3)
a__isNaturalKind(x1)  =  x1
A__U42(x1, x2, x3)  =  A__U42(x2, x3)
A__U43(x1, x2, x3)  =  A__U43(x2, x3)
A__U44(x1, x2, x3)  =  A__U44(x2, x3)
A__U45(x1, x2)  =  A__U45(x2)
cons(x1, x2)  =  cons(x1, x2)
A__U51(x1, x2, x3)  =  A__U51(x2, x3)
A__U52(x1, x2, x3)  =  A__U52(x2, x3)
A__U53(x1, x2, x3)  =  A__U53(x2, x3)
A__U54(x1, x2, x3)  =  A__U54(x2, x3)
A__U55(x1, x2)  =  A__U55(x2)
fst(x1)  =  fst(x1)
A__U61(x1, x2)  =  x2
a__isPLNatKind(x1)  =  a__isPLNatKind
A__U62(x1, x2)  =  x2
A__ISPLNAT(x1)  =  x1
pair(x1, x2)  =  pair(x1, x2)
A__U241(x1, x2, x3)  =  A__U241(x2, x3)
A__U242(x1, x2, x3)  =  A__U242(x2, x3)
A__U243(x1, x2, x3)  =  A__U243(x2, x3)
A__U244(x1, x2, x3)  =  A__U244(x2, x3)
A__U245(x1, x2)  =  A__U245(x1, x2)
a__isLNat(x1)  =  x1
natsFrom(x1)  =  natsFrom(x1)
A__U71(x1, x2)  =  x2
A__U72(x1, x2)  =  x2
A__ISNATURAL(x1)  =  x1
head(x1)  =  head(x1)
A__U181(x1, x2)  =  A__U181(x2)
A__U182(x1, x2)  =  A__U182(x2)
snd(x1)  =  snd(x1)
A__U81(x1, x2)  =  x2
A__U82(x1, x2)  =  x2
splitAt(x1, x2)  =  splitAt(x1, x2)
A__U251(x1, x2, x3)  =  A__U251(x2, x3)
A__U252(x1, x2, x3)  =  A__U252(x2, x3)
A__U253(x1, x2, x3)  =  A__U253(x2, x3)
A__U254(x1, x2, x3)  =  A__U254(x2, x3)
A__U255(x1, x2)  =  A__U255(x2)
tail(x1)  =  tail(x1)
A__U91(x1, x2)  =  A__U91(x1, x2)
A__U92(x1, x2)  =  A__U92(x1, x2)
take(x1, x2)  =  take(x1, x2)
A__U101(x1, x2, x3)  =  A__U101(x2, x3)
s(x1)  =  s(x1)
A__U191(x1, x2)  =  x2
A__U192(x1, x2)  =  x2
sel(x1, x2)  =  sel(x1, x2)
A__U201(x1, x2, x3)  =  A__U201(x2, x3)
A__U202(x1, x2, x3)  =  A__U202(x2, x3)
A__U203(x1, x2, x3)  =  A__U203(x2, x3)
A__U204(x1, x2, x3)  =  A__U204(x2, x3)
A__U205(x1, x2)  =  A__U205(x2)
nil  =  nil
a__U111(x1, x2)  =  a__U111
a__U121(x1, x2)  =  a__U121
a__U131(x1)  =  a__U131
a__U141(x1)  =  a__U141
a__U151(x1)  =  a__U151
a__U161(x1)  =  x1
a__U171(x1, x2)  =  a__U171
isLNatKind(x1)  =  isLNatKind
0  =  0
a__U181(x1, x2)  =  a__U181(x1, x2)
a__U191(x1, x2)  =  x2
a__U201(x1, x2, x3)  =  x3
isNatural(x1)  =  x1
a__U211(x1)  =  x1
a__U221(x1)  =  a__U221(x1)
a__U231(x1, x2)  =  a__U231(x1)
isNaturalKind(x1)  =  x1
a__U261(x1, x2)  =  a__U261(x1)
a__U271(x1, x2)  =  a__U271
isPLNatKind(x1)  =  isPLNatKind
a__U41(x1, x2, x3)  =  x3
a__U51(x1, x2, x3)  =  x3
a__U61(x1, x2)  =  x2
a__U71(x1, x2)  =  x2
a__U81(x1, x2)  =  x2
a__U91(x1, x2)  =  a__U91(x1, x2)
a__U101(x1, x2, x3)  =  x3
isLNat(x1)  =  x1
a__U102(x1, x2, x3)  =  x3
a__U103(x1, x2, x3)  =  x3
U103(x1, x2, x3)  =  x3
a__U104(x1, x2, x3)  =  x3
U104(x1, x2, x3)  =  x3
a__U105(x1, x2)  =  x2
U105(x1, x2)  =  x2
U181(x1, x2)  =  x2
a__U182(x1, x2)  =  x2
U182(x1, x2)  =  x2
a__U183(x1)  =  x1
U183(x1)  =  x1
U41(x1, x2, x3)  =  x3
a__U42(x1, x2, x3)  =  x3
U42(x1, x2, x3)  =  x3
a__U43(x1, x2, x3)  =  x3
U43(x1, x2, x3)  =  x3
a__U44(x1, x2, x3)  =  x3
U44(x1, x2, x3)  =  x3
a__U45(x1, x2)  =  x2
U45(x1, x2)  =  x2
U191(x1, x2)  =  x2
a__U192(x1, x2)  =  x2
U192(x1, x2)  =  x2
a__U193(x1)  =  x1
U193(x1)  =  x1
U201(x1, x2, x3)  =  x3
a__U202(x1, x2, x3)  =  x3
U202(x1, x2, x3)  =  x3
a__U203(x1, x2, x3)  =  x3
U203(x1, x2, x3)  =  x3
a__U204(x1, x2, x3)  =  x3
U204(x1, x2, x3)  =  x3
a__U205(x1, x2)  =  x2
U205(x1, x2)  =  x2
a__U206(x1)  =  x1
U206(x1)  =  x1
U51(x1, x2, x3)  =  x3
a__U52(x1, x2, x3)  =  x3
U52(x1, x2, x3)  =  x3
a__U53(x1, x2, x3)  =  x3
U53(x1, x2, x3)  =  x3
a__U54(x1, x2, x3)  =  x3
U54(x1, x2, x3)  =  x3
a__U55(x1, x2)  =  x2
U55(x1, x2)  =  x2
a__U56(x1)  =  x1
U56(x1)  =  x1
U61(x1, x2)  =  x2
a__U62(x1, x2)  =  x2
U62(x1, x2)  =  x2
a__U63(x1)  =  x1
a__isPLNat(x1)  =  x1
isPLNat(x1)  =  x1
U63(x1)  =  x1
a__U241(x1, x2, x3)  =  x3
U241(x1, x2, x3)  =  x3
a__U242(x1, x2, x3)  =  x3
U242(x1, x2, x3)  =  x3
a__U243(x1, x2, x3)  =  x3
U243(x1, x2, x3)  =  x3
a__U244(x1, x2, x3)  =  x3
U244(x1, x2, x3)  =  x3
a__U245(x1, x2)  =  x2
U245(x1, x2)  =  x2
U71(x1, x2)  =  x2
a__U72(x1, x2)  =  x2
U72(x1, x2)  =  x2
a__U73(x1)  =  x1
U73(x1)  =  x1
U81(x1, x2)  =  x2
a__U82(x1, x2)  =  x2
U82(x1, x2)  =  x2
a__U83(x1)  =  x1
U83(x1)  =  x1
a__U251(x1, x2, x3)  =  x3
U251(x1, x2, x3)  =  x3
a__U252(x1, x2, x3)  =  x3
U252(x1, x2, x3)  =  x3
a__U253(x1, x2, x3)  =  x3
U253(x1, x2, x3)  =  x3
a__U254(x1, x2, x3)  =  x3
U254(x1, x2, x3)  =  x3
a__U255(x1, x2)  =  x2
U255(x1, x2)  =  x2
a__U256(x1)  =  x1
U256(x1)  =  x1
U91(x1, x2)  =  x2
a__U92(x1, x2)  =  x2
U92(x1, x2)  =  x2
a__U93(x1)  =  x1
U93(x1)  =  x1
U101(x1, x2, x3)  =  x3
U102(x1, x2, x3)  =  x3
a__U246(x1)  =  x1
U246(x1)  =  x1
a__U46(x1)  =  x1
U46(x1)  =  x1
a__U106(x1)  =  x1
U106(x1)  =  x1
U111(x1, x2)  =  U111
U211(x1)  =  x1
U121(x1, x2)  =  U121
U221(x1)  =  x1
U231(x1, x2)  =  x1
a__U232(x1)  =  x1
U232(x1)  =  x1
U131(x1)  =  U131
U261(x1, x2)  =  x1
U141(x1)  =  U141
U151(x1)  =  U151
U271(x1, x2)  =  U271
a__U272(x1)  =  x1
U272(x1)  =  x1
U161(x1)  =  x1
U171(x1, x2)  =  U171
a__U172(x1)  =  a__U172
U172(x1)  =  U172
a__U262(x1)  =  a__U262(x1)
U262(x1)  =  x1
a__U122(x1)  =  a__U122
U122(x1)  =  U122
a__U112(x1)  =  a__U112
U112(x1)  =  U112

Recursive path order with status [RPO].
Precedence:
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU111 > U111 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU121 > U121 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU131 > U131 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU141 > U141 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU151 > U151 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU171 > U171 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
afterNth2 > AU412 > AU422 > AU432 > AU442 > AU451 > AISLNAT1 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU111 > U111 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU121 > U121 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU131 > U131 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU141 > U141 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU151 > U151 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU171 > U171 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
cons2 > AU512 > AU522 > AU532 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
cons2 > AU512 > AU522 > AU532 > AU542 > AU551 > AISLNAT1 > isLNatKind
fst1 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU111 > U111 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU121 > U121 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU131 > U131 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU141 > U141 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU151 > U151 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU171 > U171 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
aisPLNatKind > aU2611 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU111 > U111 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU121 > U121 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU131 > U131 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU141 > U141 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU151 > U151 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU171 > U171 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
aisPLNatKind > aU271 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
aisPLNatKind > aU271 > U271 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU111 > U111 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU121 > U121 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU131 > U131 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU141 > U141 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU151 > U151 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU171 > U171 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
pair2 > AU2412 > AU2422 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
pair2 > AU2412 > AU2422 > AU2432 > AU2442 > AU2452 > AISLNAT1 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU111 > U111 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU121 > U121 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU131 > U131 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU141 > U141 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU151 > U151 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU171 > U171 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
pair2 > aU2611 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
natsFrom1 > isLNatKind
head1 > AU1811 > aisLNatKind > aU111 > U111 > isLNatKind
head1 > AU1811 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
head1 > AU1811 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
head1 > AU1811 > aisLNatKind > aU121 > U121 > isLNatKind
head1 > AU1811 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
head1 > AU1811 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
head1 > AU1811 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
head1 > AU1811 > aisLNatKind > aU131 > U131 > isLNatKind
head1 > AU1811 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
head1 > AU1811 > aisLNatKind > aU141 > U141 > isLNatKind
head1 > AU1811 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
head1 > AU1811 > aisLNatKind > aU151 > U151 > isLNatKind
head1 > AU1811 > aisLNatKind > aU171 > U171 > isLNatKind
head1 > AU1811 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
head1 > AU1811 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
head1 > AU1811 > AU1821 > AISLNAT1 > isLNatKind
head1 > aU1812 > aisLNatKind > aU111 > U111 > isLNatKind
head1 > aU1812 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
head1 > aU1812 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
head1 > aU1812 > aisLNatKind > aU121 > U121 > isLNatKind
head1 > aU1812 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
head1 > aU1812 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
head1 > aU1812 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
head1 > aU1812 > aisLNatKind > aU131 > U131 > isLNatKind
head1 > aU1812 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
head1 > aU1812 > aisLNatKind > aU141 > U141 > isLNatKind
head1 > aU1812 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
head1 > aU1812 > aisLNatKind > aU151 > U151 > isLNatKind
head1 > aU1812 > aisLNatKind > aU171 > U171 > isLNatKind
head1 > aU1812 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
head1 > aU1812 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
snd1 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU111 > U111 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU121 > U121 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU131 > U131 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU141 > U141 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU151 > U151 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU171 > U171 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
splitAt2 > AU2512 > AU2522 > AU2532 > AU2542 > AU2551 > AISLNAT1 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU111 > U111 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU121 > U121 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU131 > U131 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU141 > U141 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU151 > U151 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU171 > U171 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
splitAt2 > aU271 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
splitAt2 > aU271 > U271 > isLNatKind
tail1 > AU912 > aisLNatKind > aU111 > U111 > isLNatKind
tail1 > AU912 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
tail1 > AU912 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
tail1 > AU912 > aisLNatKind > aU121 > U121 > isLNatKind
tail1 > AU912 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
tail1 > AU912 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
tail1 > AU912 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
tail1 > AU912 > aisLNatKind > aU131 > U131 > isLNatKind
tail1 > AU912 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
tail1 > AU912 > aisLNatKind > aU141 > U141 > isLNatKind
tail1 > AU912 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
tail1 > AU912 > aisLNatKind > aU151 > U151 > isLNatKind
tail1 > AU912 > aisLNatKind > aU171 > U171 > isLNatKind
tail1 > AU912 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
tail1 > AU912 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
tail1 > AU912 > AU922 > AISLNAT1 > isLNatKind
tail1 > aU912 > aisLNatKind > aU111 > U111 > isLNatKind
tail1 > aU912 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
tail1 > aU912 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
tail1 > aU912 > aisLNatKind > aU121 > U121 > isLNatKind
tail1 > aU912 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
tail1 > aU912 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
tail1 > aU912 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
tail1 > aU912 > aisLNatKind > aU131 > U131 > isLNatKind
tail1 > aU912 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
tail1 > aU912 > aisLNatKind > aU141 > U141 > isLNatKind
tail1 > aU912 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
tail1 > aU912 > aisLNatKind > aU151 > U151 > isLNatKind
tail1 > aU912 > aisLNatKind > aU171 > U171 > isLNatKind
tail1 > aU912 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
tail1 > aU912 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU111 > U111 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU121 > U121 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU131 > U131 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU141 > U141 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU151 > U151 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU171 > U171 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
take2 > AU1012 > AU1022 > AU1032 > AU1042 > AU1051 > AISLNAT1 > isLNatKind
s1 > aU2211 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU111 > U111 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU121 > U121 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU131 > U131 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU141 > U141 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU151 > U151 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU171 > U171 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
sel2 > AU2012 > AU2022 > AU2032 > AU2042 > AU2051 > AISLNAT1 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU111 > U111 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU111 > aU112 > tt > aU2621 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU111 > aU112 > U112 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU121 > U121 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU121 > aU122 > tt > aU2621 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU121 > aU122 > U122 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU131 > tt > aU2621 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU131 > U131 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU141 > tt > aU2621 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU141 > U141 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU151 > tt > aU2621 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU151 > U151 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU171 > U171 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU171 > aU172 > tt > aU2621 > isLNatKind
sel2 > aU2311 > aisLNatKind > aU171 > aU172 > U172 > isLNatKind
nil > tt > aU2621 > isLNatKind
0 > tt > aU2621 > isLNatKind
isPLNatKind > isLNatKind

Status:
AU1022: multiset
tt: multiset
AU1032: multiset
aisLNatKind: multiset
AU1042: multiset
AU1051: multiset
AISLNAT1: multiset
afterNth2: multiset
AU412: multiset
AU422: multiset
AU432: multiset
AU442: multiset
AU451: multiset
cons2: multiset
AU512: multiset
AU522: multiset
AU532: multiset
AU542: multiset
AU551: multiset
fst1: multiset
aisPLNatKind: multiset
pair2: multiset
AU2412: multiset
AU2422: multiset
AU2432: multiset
AU2442: multiset
AU2452: multiset
natsFrom1: multiset
head1: multiset
AU1811: multiset
AU1821: multiset
snd1: multiset
splitAt2: multiset
AU2512: multiset
AU2522: multiset
AU2532: multiset
AU2542: multiset
AU2551: multiset
tail1: multiset
AU912: multiset
AU922: multiset
take2: multiset
AU1012: multiset
s1: multiset
sel2: multiset
AU2012: multiset
AU2022: multiset
AU2032: multiset
AU2042: multiset
AU2051: multiset
nil: multiset
aU111: multiset
aU121: multiset
aU131: multiset
aU141: multiset
aU151: multiset
aU171: multiset
isLNatKind: multiset
0: multiset
aU1812: multiset
aU2211: multiset
aU2311: multiset
aU2611: multiset
aU271: multiset
isPLNatKind: multiset
aU912: multiset
U111: multiset
U121: multiset
U131: multiset
U141: multiset
U151: multiset
U271: multiset
U171: multiset
aU172: multiset
U172: multiset
aU2621: multiset
aU122: multiset
U122: multiset
aU112: multiset
U112: multiset

The following usable rules [FROCOS05] were oriented:

a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isLNatKind(X) → isLNatKind(X)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNatural(X) → isNatural(X)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isNaturalKind(X) → isNaturalKind(X)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNat(X) → isLNat(X)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(X1, X2) → U105(X1, X2)
a__U181(X1, X2) → U181(X1, X2)
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(X1, X2) → U182(X1, X2)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U183(X) → U183(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(X1, X2) → U45(X1, X2)
a__U191(X1, X2) → U191(X1, X2)
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(X1, X2) → U192(X1, X2)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(X1, X2) → U205(X1, X2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U206(X) → U206(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(X1, X2) → U55(X1, X2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(X1, X2) → U62(X1, X2)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__isPLNat(X) → isPLNat(X)
a__U63(tt) → tt
a__U63(X) → U63(X)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(X1, X2) → U245(X1, X2)
a__U71(X1, X2) → U71(X1, X2)
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(X1, X2) → U72(X1, X2)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(X1, X2) → U82(X1, X2)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U83(X) → U83(X)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(X1, X2) → U255(X1, X2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U256(X) → U256(X)
a__U91(X1, X2) → U91(X1, X2)
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(X1, X2) → U92(X1, X2)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__U93(X) → U93(X)
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U246(X) → U246(X)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U46(X) → U46(X)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U106(X) → U106(X)
a__U111(X1, X2) → U111(X1, X2)
a__U211(tt) → tt
a__U211(X) → U211(X)
a__U121(X1, X2) → U121(X1, X2)
a__U221(tt) → tt
a__U221(X) → U221(X)
a__U231(X1, X2) → U231(X1, X2)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U232(X) → U232(X)
a__U131(tt) → tt
a__U131(X) → U131(X)
a__U261(X1, X2) → U261(X1, X2)
a__U141(tt) → tt
a__U141(X) → U141(X)
a__U151(tt) → tt
a__U151(X) → U151(X)
a__U271(X1, X2) → U271(X1, X2)
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U272(X) → U272(X)
a__U161(tt) → tt
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U172(X) → U172(X)
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U262(X) → U262(X)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U122(X) → U122(X)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U112(X) → U112(X)

(22) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__U61(tt, V1) → A__U62(a__isPLNatKind(V1), V1)
A__U62(tt, V1) → A__ISPLNAT(V1)
A__U71(tt, V1) → A__U72(a__isNaturalKind(V1), V1)
A__U72(tt, V1) → A__ISNATURAL(V1)
A__U81(tt, V1) → A__U82(a__isPLNatKind(V1), V1)
A__U82(tt, V1) → A__ISPLNAT(V1)
A__U191(tt, V1) → A__U192(a__isNaturalKind(V1), V1)
A__U192(tt, V1) → A__ISNATURAL(V1)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(23) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 8 less nodes.

(24) TRUE

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MARK(U101(X1, X2, X3)) → MARK(X1)
MARK(U102(X1, X2, X3)) → MARK(X1)
MARK(U103(X1, X2, X3)) → MARK(X1)
MARK(U104(X1, X2, X3)) → MARK(X1)
MARK(U105(X1, X2)) → MARK(X1)
MARK(U106(X)) → MARK(X)
MARK(U11(X1, X2, X3)) → A__U11(mark(X1), X2, X3)
A__U11(tt, N, XS) → A__U12(a__isNaturalKind(N), N, XS)
A__U12(tt, N, XS) → A__U13(a__isLNat(XS), N, XS)
A__U13(tt, N, XS) → A__U14(a__isLNatKind(XS), N, XS)
A__U14(tt, N, XS) → A__SND(a__splitAt(mark(N), mark(XS)))
A__SND(pair(X, Y)) → A__U301(a__isLNat(X), X, Y)
A__U301(tt, X, Y) → A__U302(a__isLNatKind(X), Y)
A__U302(tt, Y) → A__U303(a__isLNat(Y), Y)
A__U303(tt, Y) → A__U304(a__isLNatKind(Y), Y)
A__U304(tt, Y) → MARK(Y)
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → A__U12(mark(X1), X2, X3)
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U111(X1, X2)) → MARK(X1)
MARK(U112(X)) → MARK(X)
MARK(U13(X1, X2, X3)) → A__U13(mark(X1), X2, X3)
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U121(X1, X2)) → MARK(X1)
MARK(U122(X)) → MARK(X)
MARK(U14(X1, X2, X3)) → A__U14(mark(X1), X2, X3)
A__U14(tt, N, XS) → A__SPLITAT(mark(N), mark(XS))
A__SPLITAT(0, XS) → A__U311(a__isLNat(XS), XS)
A__U311(tt, XS) → A__U312(a__isLNatKind(XS), XS)
A__U312(tt, XS) → MARK(XS)
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U131(X)) → MARK(X)
MARK(snd(X)) → A__SND(mark(X))
MARK(snd(X)) → MARK(X)
MARK(splitAt(X1, X2)) → A__SPLITAT(mark(X1), mark(X2))
A__SPLITAT(s(N), cons(X, XS)) → A__U321(a__isNatural(N), N, X, XS)
A__U321(tt, N, X, XS) → A__U322(a__isNaturalKind(N), N, X, XS)
A__U322(tt, N, X, XS) → A__U323(a__isNatural(X), N, X, XS)
A__U323(tt, N, X, XS) → A__U324(a__isNaturalKind(X), N, X, XS)
A__U324(tt, N, X, XS) → A__U325(a__isLNat(XS), N, X, XS)
A__U325(tt, N, X, XS) → A__U326(a__isLNatKind(XS), N, X, XS)
A__U326(tt, N, X, XS) → A__U327(a__splitAt(mark(N), mark(XS)), X)
A__U327(pair(YS, ZS), X) → MARK(X)
MARK(splitAt(X1, X2)) → MARK(X1)
MARK(splitAt(X1, X2)) → MARK(X2)
MARK(U141(X)) → MARK(X)
MARK(U151(X)) → MARK(X)
MARK(U161(X)) → MARK(X)
MARK(U171(X1, X2)) → MARK(X1)
MARK(U172(X)) → MARK(X)
MARK(U181(X1, X2)) → MARK(X1)
MARK(U182(X1, X2)) → MARK(X1)
MARK(U183(X)) → MARK(X)
MARK(U191(X1, X2)) → MARK(X1)
MARK(U192(X1, X2)) → MARK(X1)
MARK(U193(X)) → MARK(X)
MARK(U201(X1, X2, X3)) → MARK(X1)
MARK(U202(X1, X2, X3)) → MARK(X1)
MARK(U203(X1, X2, X3)) → MARK(X1)
MARK(U204(X1, X2, X3)) → MARK(X1)
MARK(U205(X1, X2)) → MARK(X1)
MARK(U206(X)) → MARK(X)
MARK(U21(X1, X2, X3)) → A__U21(mark(X1), X2, X3)
A__U21(tt, X, Y) → A__U22(a__isLNatKind(X), X, Y)
A__U22(tt, X, Y) → A__U23(a__isLNat(Y), X, Y)
A__U23(tt, X, Y) → A__U24(a__isLNatKind(Y), X)
A__U24(tt, X) → MARK(X)
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(U22(X1, X2, X3)) → A__U22(mark(X1), X2, X3)
MARK(U22(X1, X2, X3)) → MARK(X1)
MARK(U211(X)) → MARK(X)
MARK(U23(X1, X2, X3)) → A__U23(mark(X1), X2, X3)
MARK(U23(X1, X2, X3)) → MARK(X1)
MARK(U221(X)) → MARK(X)
MARK(U24(X1, X2)) → A__U24(mark(X1), X2)
MARK(U24(X1, X2)) → MARK(X1)
MARK(U231(X1, X2)) → MARK(X1)
MARK(U232(X)) → MARK(X)
MARK(U241(X1, X2, X3)) → MARK(X1)
MARK(U242(X1, X2, X3)) → MARK(X1)
MARK(U243(X1, X2, X3)) → MARK(X1)
MARK(U244(X1, X2, X3)) → MARK(X1)
MARK(U245(X1, X2)) → MARK(X1)
MARK(U246(X)) → MARK(X)
MARK(U251(X1, X2, X3)) → MARK(X1)
MARK(U252(X1, X2, X3)) → MARK(X1)
MARK(U253(X1, X2, X3)) → MARK(X1)
MARK(U254(X1, X2, X3)) → MARK(X1)
MARK(U255(X1, X2)) → MARK(X1)
MARK(U256(X)) → MARK(X)
MARK(U261(X1, X2)) → MARK(X1)
MARK(U262(X)) → MARK(X)
MARK(U271(X1, X2)) → MARK(X1)
MARK(U272(X)) → MARK(X)
MARK(U281(X1, X2)) → A__U281(mark(X1), X2)
A__U281(tt, N) → A__U282(a__isNaturalKind(N), N)
A__U282(tt, N) → MARK(N)
MARK(U281(X1, X2)) → MARK(X1)
MARK(U282(X1, X2)) → A__U282(mark(X1), X2)
MARK(U282(X1, X2)) → MARK(X1)
MARK(natsFrom(X)) → A__NATSFROM(mark(X))
A__NATSFROM(N) → A__U281(a__isNatural(N), N)
MARK(natsFrom(X)) → MARK(X)
MARK(U291(X1, X2, X3)) → A__U291(mark(X1), X2, X3)
A__U291(tt, N, XS) → A__U292(a__isNaturalKind(N), N, XS)
A__U292(tt, N, XS) → A__U293(a__isLNat(XS), N, XS)
A__U293(tt, N, XS) → A__U294(a__isLNatKind(XS), N, XS)
A__U294(tt, N, XS) → A__HEAD(a__afterNth(mark(N), mark(XS)))
A__HEAD(cons(N, XS)) → A__U31(a__isNatural(N), N, XS)
A__U31(tt, N, XS) → A__U32(a__isNaturalKind(N), N, XS)
A__U32(tt, N, XS) → A__U33(a__isLNat(XS), N, XS)
A__U33(tt, N, XS) → A__U34(a__isLNatKind(XS), N)
A__U34(tt, N) → MARK(N)
MARK(U291(X1, X2, X3)) → MARK(X1)
MARK(U292(X1, X2, X3)) → A__U292(mark(X1), X2, X3)
MARK(U292(X1, X2, X3)) → MARK(X1)
MARK(U293(X1, X2, X3)) → A__U293(mark(X1), X2, X3)
MARK(U293(X1, X2, X3)) → MARK(X1)
MARK(U294(X1, X2, X3)) → A__U294(mark(X1), X2, X3)
A__U294(tt, N, XS) → A__AFTERNTH(mark(N), mark(XS))
A__AFTERNTH(N, XS) → A__U11(a__isNatural(N), N, XS)
A__U294(tt, N, XS) → MARK(N)
MARK(U294(X1, X2, X3)) → MARK(X1)
MARK(head(X)) → A__HEAD(mark(X))
MARK(head(X)) → MARK(X)
MARK(afterNth(X1, X2)) → A__AFTERNTH(mark(X1), mark(X2))
MARK(afterNth(X1, X2)) → MARK(X1)
MARK(afterNth(X1, X2)) → MARK(X2)
MARK(U301(X1, X2, X3)) → A__U301(mark(X1), X2, X3)
MARK(U301(X1, X2, X3)) → MARK(X1)
MARK(U302(X1, X2)) → A__U302(mark(X1), X2)
MARK(U302(X1, X2)) → MARK(X1)
MARK(U303(X1, X2)) → A__U303(mark(X1), X2)
MARK(U303(X1, X2)) → MARK(X1)
MARK(U304(X1, X2)) → A__U304(mark(X1), X2)
MARK(U304(X1, X2)) → MARK(X1)
MARK(U31(X1, X2, X3)) → A__U31(mark(X1), X2, X3)
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → A__U32(mark(X1), X2, X3)
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U311(X1, X2)) → A__U311(mark(X1), X2)
MARK(U311(X1, X2)) → MARK(X1)
MARK(U312(X1, X2)) → A__U312(mark(X1), X2)
MARK(U312(X1, X2)) → MARK(X1)
MARK(U33(X1, X2, X3)) → A__U33(mark(X1), X2, X3)
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U321(X1, X2, X3, X4)) → A__U321(mark(X1), X2, X3, X4)
MARK(U321(X1, X2, X3, X4)) → MARK(X1)
MARK(U322(X1, X2, X3, X4)) → A__U322(mark(X1), X2, X3, X4)
MARK(U322(X1, X2, X3, X4)) → MARK(X1)
MARK(U323(X1, X2, X3, X4)) → A__U323(mark(X1), X2, X3, X4)
MARK(U323(X1, X2, X3, X4)) → MARK(X1)
MARK(U324(X1, X2, X3, X4)) → A__U324(mark(X1), X2, X3, X4)
MARK(U324(X1, X2, X3, X4)) → MARK(X1)
MARK(U325(X1, X2, X3, X4)) → A__U325(mark(X1), X2, X3, X4)
MARK(U325(X1, X2, X3, X4)) → MARK(X1)
MARK(U326(X1, X2, X3, X4)) → A__U326(mark(X1), X2, X3, X4)
A__U326(tt, N, X, XS) → A__SPLITAT(mark(N), mark(XS))
A__U326(tt, N, X, XS) → MARK(N)
MARK(U326(X1, X2, X3, X4)) → MARK(X1)
MARK(U327(X1, X2)) → A__U327(mark(X1), X2)
A__U327(pair(YS, ZS), X) → MARK(ZS)
MARK(U327(X1, X2)) → MARK(X1)
MARK(U34(X1, X2)) → A__U34(mark(X1), X2)
MARK(U34(X1, X2)) → MARK(X1)
MARK(U331(X1, X2, X3)) → A__U331(mark(X1), X2, X3)
A__U331(tt, N, XS) → A__U332(a__isNaturalKind(N), XS)
A__U332(tt, XS) → A__U333(a__isLNat(XS), XS)
A__U333(tt, XS) → A__U334(a__isLNatKind(XS), XS)
A__U334(tt, XS) → MARK(XS)
MARK(U331(X1, X2, X3)) → MARK(X1)
MARK(U332(X1, X2)) → A__U332(mark(X1), X2)
MARK(U332(X1, X2)) → MARK(X1)
MARK(U333(X1, X2)) → A__U333(mark(X1), X2)
MARK(U333(X1, X2)) → MARK(X1)
MARK(U334(X1, X2)) → A__U334(mark(X1), X2)
MARK(U334(X1, X2)) → MARK(X1)
MARK(U341(X1, X2, X3)) → A__U341(mark(X1), X2, X3)
A__U341(tt, N, XS) → A__U342(a__isNaturalKind(N), N, XS)
A__U342(tt, N, XS) → A__U343(a__isLNat(XS), N, XS)
A__U343(tt, N, XS) → A__U344(a__isLNatKind(XS), N, XS)
A__U344(tt, N, XS) → A__FST(a__splitAt(mark(N), mark(XS)))
A__FST(pair(X, Y)) → A__U21(a__isLNat(X), X, Y)
A__U344(tt, N, XS) → A__SPLITAT(mark(N), mark(XS))
A__U344(tt, N, XS) → MARK(N)
MARK(U341(X1, X2, X3)) → MARK(X1)
MARK(U342(X1, X2, X3)) → A__U342(mark(X1), X2, X3)
MARK(U342(X1, X2, X3)) → MARK(X1)
MARK(U343(X1, X2, X3)) → A__U343(mark(X1), X2, X3)
MARK(U343(X1, X2, X3)) → MARK(X1)
MARK(U344(X1, X2, X3)) → A__U344(mark(X1), X2, X3)
A__U344(tt, N, XS) → MARK(XS)
MARK(U344(X1, X2, X3)) → MARK(X1)
MARK(fst(X)) → A__FST(mark(X))
MARK(fst(X)) → MARK(X)
MARK(U41(X1, X2, X3)) → MARK(X1)
MARK(U42(X1, X2, X3)) → MARK(X1)
MARK(U43(X1, X2, X3)) → MARK(X1)
MARK(U44(X1, X2, X3)) → MARK(X1)
MARK(U45(X1, X2)) → MARK(X1)
MARK(U46(X)) → MARK(X)
MARK(U51(X1, X2, X3)) → MARK(X1)
MARK(U52(X1, X2, X3)) → MARK(X1)
MARK(U53(X1, X2, X3)) → MARK(X1)
MARK(U54(X1, X2, X3)) → MARK(X1)
MARK(U55(X1, X2)) → MARK(X1)
MARK(U56(X)) → MARK(X)
MARK(U61(X1, X2)) → MARK(X1)
MARK(U62(X1, X2)) → MARK(X1)
MARK(U63(X)) → MARK(X)
MARK(U71(X1, X2)) → MARK(X1)
MARK(U72(X1, X2)) → MARK(X1)
MARK(U73(X)) → MARK(X)
MARK(U81(X1, X2)) → MARK(X1)
MARK(U82(X1, X2)) → MARK(X1)
MARK(U83(X)) → MARK(X)
MARK(U91(X1, X2)) → MARK(X1)
MARK(U92(X1, X2)) → MARK(X1)
MARK(U93(X)) → MARK(X)
MARK(tail(X)) → A__TAIL(mark(X))
A__TAIL(cons(N, XS)) → A__U331(a__isNatural(N), N, XS)
MARK(tail(X)) → MARK(X)
MARK(take(X1, X2)) → A__TAKE(mark(X1), mark(X2))
A__TAKE(N, XS) → A__U341(a__isNatural(N), N, XS)
MARK(take(X1, X2)) → MARK(X1)
MARK(take(X1, X2)) → MARK(X2)
MARK(sel(X1, X2)) → A__SEL(mark(X1), mark(X2))
A__SEL(N, XS) → A__U291(a__isNatural(N), N, XS)
MARK(sel(X1, X2)) → MARK(X1)
MARK(sel(X1, X2)) → MARK(X2)
MARK(cons(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pair(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → MARK(X2)
A__U326(tt, N, X, XS) → MARK(XS)
A__U294(tt, N, XS) → MARK(XS)
A__U14(tt, N, XS) → MARK(N)
A__U14(tt, N, XS) → MARK(XS)

The TRS R consists of the following rules:

a__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)
a__U102(tt, V1, V2) → a__U103(a__isLNatKind(V2), V1, V2)
a__U103(tt, V1, V2) → a__U104(a__isLNatKind(V2), V1, V2)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(V2))
a__U106(tt) → tt
a__U11(tt, N, XS) → a__U12(a__isNaturalKind(N), N, XS)
a__U111(tt, V2) → a__U112(a__isLNatKind(V2))
a__U112(tt) → tt
a__U12(tt, N, XS) → a__U13(a__isLNat(XS), N, XS)
a__U121(tt, V2) → a__U122(a__isLNatKind(V2))
a__U122(tt) → tt
a__U13(tt, N, XS) → a__U14(a__isLNatKind(XS), N, XS)
a__U131(tt) → tt
a__U14(tt, N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
a__U141(tt) → tt
a__U151(tt) → tt
a__U161(tt) → tt
a__U171(tt, V2) → a__U172(a__isLNatKind(V2))
a__U172(tt) → tt
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U182(tt, V1) → a__U183(a__isLNat(V1))
a__U183(tt) → tt
a__U191(tt, V1) → a__U192(a__isNaturalKind(V1), V1)
a__U192(tt, V1) → a__U193(a__isNatural(V1))
a__U193(tt) → tt
a__U201(tt, V1, V2) → a__U202(a__isNaturalKind(V1), V1, V2)
a__U202(tt, V1, V2) → a__U203(a__isLNatKind(V2), V1, V2)
a__U203(tt, V1, V2) → a__U204(a__isLNatKind(V2), V1, V2)
a__U204(tt, V1, V2) → a__U205(a__isNatural(V1), V2)
a__U205(tt, V2) → a__U206(a__isLNat(V2))
a__U206(tt) → tt
a__U21(tt, X, Y) → a__U22(a__isLNatKind(X), X, Y)
a__U211(tt) → tt
a__U22(tt, X, Y) → a__U23(a__isLNat(Y), X, Y)
a__U221(tt) → tt
a__U23(tt, X, Y) → a__U24(a__isLNatKind(Y), X)
a__U231(tt, V2) → a__U232(a__isLNatKind(V2))
a__U232(tt) → tt
a__U24(tt, X) → mark(X)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U246(tt) → tt
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U256(tt) → tt
a__U261(tt, V2) → a__U262(a__isLNatKind(V2))
a__U262(tt) → tt
a__U271(tt, V2) → a__U272(a__isLNatKind(V2))
a__U272(tt) → tt
a__U281(tt, N) → a__U282(a__isNaturalKind(N), N)
a__U282(tt, N) → cons(mark(N), natsFrom(s(N)))
a__U291(tt, N, XS) → a__U292(a__isNaturalKind(N), N, XS)
a__U292(tt, N, XS) → a__U293(a__isLNat(XS), N, XS)
a__U293(tt, N, XS) → a__U294(a__isLNatKind(XS), N, XS)
a__U294(tt, N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__U301(tt, X, Y) → a__U302(a__isLNatKind(X), Y)
a__U302(tt, Y) → a__U303(a__isLNat(Y), Y)
a__U303(tt, Y) → a__U304(a__isLNatKind(Y), Y)
a__U304(tt, Y) → mark(Y)
a__U31(tt, N, XS) → a__U32(a__isNaturalKind(N), N, XS)
a__U311(tt, XS) → a__U312(a__isLNatKind(XS), XS)
a__U312(tt, XS) → pair(nil, mark(XS))
a__U32(tt, N, XS) → a__U33(a__isLNat(XS), N, XS)
a__U321(tt, N, X, XS) → a__U322(a__isNaturalKind(N), N, X, XS)
a__U322(tt, N, X, XS) → a__U323(a__isNatural(X), N, X, XS)
a__U323(tt, N, X, XS) → a__U324(a__isNaturalKind(X), N, X, XS)
a__U324(tt, N, X, XS) → a__U325(a__isLNat(XS), N, X, XS)
a__U325(tt, N, X, XS) → a__U326(a__isLNatKind(XS), N, X, XS)
a__U326(tt, N, X, XS) → a__U327(a__splitAt(mark(N), mark(XS)), X)
a__U327(pair(YS, ZS), X) → pair(cons(mark(X), YS), mark(ZS))
a__U33(tt, N, XS) → a__U34(a__isLNatKind(XS), N)
a__U331(tt, N, XS) → a__U332(a__isNaturalKind(N), XS)
a__U332(tt, XS) → a__U333(a__isLNat(XS), XS)
a__U333(tt, XS) → a__U334(a__isLNatKind(XS), XS)
a__U334(tt, XS) → mark(XS)
a__U34(tt, N) → mark(N)
a__U341(tt, N, XS) → a__U342(a__isNaturalKind(N), N, XS)
a__U342(tt, N, XS) → a__U343(a__isLNat(XS), N, XS)
a__U343(tt, N, XS) → a__U344(a__isLNatKind(XS), N, XS)
a__U344(tt, N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__U41(tt, V1, V2) → a__U42(a__isNaturalKind(V1), V1, V2)
a__U42(tt, V1, V2) → a__U43(a__isLNatKind(V2), V1, V2)
a__U43(tt, V1, V2) → a__U44(a__isLNatKind(V2), V1, V2)
a__U44(tt, V1, V2) → a__U45(a__isNatural(V1), V2)
a__U45(tt, V2) → a__U46(a__isLNat(V2))
a__U46(tt) → tt
a__U51(tt, V1, V2) → a__U52(a__isNaturalKind(V1), V1, V2)
a__U52(tt, V1, V2) → a__U53(a__isLNatKind(V2), V1, V2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U54(tt, V1, V2) → a__U55(a__isNatural(V1), V2)
a__U55(tt, V2) → a__U56(a__isLNat(V2))
a__U56(tt) → tt
a__U61(tt, V1) → a__U62(a__isPLNatKind(V1), V1)
a__U62(tt, V1) → a__U63(a__isPLNat(V1))
a__U63(tt) → tt
a__U71(tt, V1) → a__U72(a__isNaturalKind(V1), V1)
a__U72(tt, V1) → a__U73(a__isNatural(V1))
a__U73(tt) → tt
a__U81(tt, V1) → a__U82(a__isPLNatKind(V1), V1)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U83(tt) → tt
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U93(tt) → tt
a__afterNth(N, XS) → a__U11(a__isNatural(N), N, XS)
a__fst(pair(X, Y)) → a__U21(a__isLNat(X), X, Y)
a__head(cons(N, XS)) → a__U31(a__isNatural(N), N, XS)
a__isLNat(nil) → tt
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isLNatKind(nil) → tt
a__isLNatKind(afterNth(V1, V2)) → a__U111(a__isNaturalKind(V1), V2)
a__isLNatKind(cons(V1, V2)) → a__U121(a__isNaturalKind(V1), V2)
a__isLNatKind(fst(V1)) → a__U131(a__isPLNatKind(V1))
a__isLNatKind(natsFrom(V1)) → a__U141(a__isNaturalKind(V1))
a__isLNatKind(snd(V1)) → a__U151(a__isPLNatKind(V1))
a__isLNatKind(tail(V1)) → a__U161(a__isLNatKind(V1))
a__isLNatKind(take(V1, V2)) → a__U171(a__isNaturalKind(V1), V2)
a__isNatural(0) → tt
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), V1)
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isNaturalKind(0) → tt
a__isNaturalKind(head(V1)) → a__U211(a__isLNatKind(V1))
a__isNaturalKind(s(V1)) → a__U221(a__isNaturalKind(V1))
a__isNaturalKind(sel(V1, V2)) → a__U231(a__isNaturalKind(V1), V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNatKind(pair(V1, V2)) → a__U261(a__isLNatKind(V1), V2)
a__isPLNatKind(splitAt(V1, V2)) → a__U271(a__isNaturalKind(V1), V2)
a__natsFrom(N) → a__U281(a__isNatural(N), N)
a__sel(N, XS) → a__U291(a__isNatural(N), N, XS)
a__snd(pair(X, Y)) → a__U301(a__isLNat(X), X, Y)
a__splitAt(0, XS) → a__U311(a__isLNat(XS), XS)
a__splitAt(s(N), cons(X, XS)) → a__U321(a__isNatural(N), N, X, XS)
a__tail(cons(N, XS)) → a__U331(a__isNatural(N), N, XS)
a__take(N, XS) → a__U341(a__isNatural(N), N, XS)
mark(U101(X1, X2, X3)) → a__U101(mark(X1), X2, X3)
mark(U102(X1, X2, X3)) → a__U102(mark(X1), X2, X3)
mark(isNaturalKind(X)) → a__isNaturalKind(X)
mark(U103(X1, X2, X3)) → a__U103(mark(X1), X2, X3)
mark(isLNatKind(X)) → a__isLNatKind(X)
mark(U104(X1, X2, X3)) → a__U104(mark(X1), X2, X3)
mark(U105(X1, X2)) → a__U105(mark(X1), X2)
mark(isNatural(X)) → a__isNatural(X)
mark(U106(X)) → a__U106(mark(X))
mark(isLNat(X)) → a__isLNat(X)
mark(U11(X1, X2, X3)) → a__U11(mark(X1), X2, X3)
mark(U12(X1, X2, X3)) → a__U12(mark(X1), X2, X3)
mark(U111(X1, X2)) → a__U111(mark(X1), X2)
mark(U112(X)) → a__U112(mark(X))
mark(U13(X1, X2, X3)) → a__U13(mark(X1), X2, X3)
mark(U121(X1, X2)) → a__U121(mark(X1), X2)
mark(U122(X)) → a__U122(mark(X))
mark(U14(X1, X2, X3)) → a__U14(mark(X1), X2, X3)
mark(U131(X)) → a__U131(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(U141(X)) → a__U141(mark(X))
mark(U151(X)) → a__U151(mark(X))
mark(U161(X)) → a__U161(mark(X))
mark(U171(X1, X2)) → a__U171(mark(X1), X2)
mark(U172(X)) → a__U172(mark(X))
mark(U181(X1, X2)) → a__U181(mark(X1), X2)
mark(U182(X1, X2)) → a__U182(mark(X1), X2)
mark(U183(X)) → a__U183(mark(X))
mark(U191(X1, X2)) → a__U191(mark(X1), X2)
mark(U192(X1, X2)) → a__U192(mark(X1), X2)
mark(U193(X)) → a__U193(mark(X))
mark(U201(X1, X2, X3)) → a__U201(mark(X1), X2, X3)
mark(U202(X1, X2, X3)) → a__U202(mark(X1), X2, X3)
mark(U203(X1, X2, X3)) → a__U203(mark(X1), X2, X3)
mark(U204(X1, X2, X3)) → a__U204(mark(X1), X2, X3)
mark(U205(X1, X2)) → a__U205(mark(X1), X2)
mark(U206(X)) → a__U206(mark(X))
mark(U21(X1, X2, X3)) → a__U21(mark(X1), X2, X3)
mark(U22(X1, X2, X3)) → a__U22(mark(X1), X2, X3)
mark(U211(X)) → a__U211(mark(X))
mark(U23(X1, X2, X3)) → a__U23(mark(X1), X2, X3)
mark(U221(X)) → a__U221(mark(X))
mark(U24(X1, X2)) → a__U24(mark(X1), X2)
mark(U231(X1, X2)) → a__U231(mark(X1), X2)
mark(U232(X)) → a__U232(mark(X))
mark(U241(X1, X2, X3)) → a__U241(mark(X1), X2, X3)
mark(U242(X1, X2, X3)) → a__U242(mark(X1), X2, X3)
mark(U243(X1, X2, X3)) → a__U243(mark(X1), X2, X3)
mark(U244(X1, X2, X3)) → a__U244(mark(X1), X2, X3)
mark(U245(X1, X2)) → a__U245(mark(X1), X2)
mark(U246(X)) → a__U246(mark(X))
mark(U251(X1, X2, X3)) → a__U251(mark(X1), X2, X3)
mark(U252(X1, X2, X3)) → a__U252(mark(X1), X2, X3)
mark(U253(X1, X2, X3)) → a__U253(mark(X1), X2, X3)
mark(U254(X1, X2, X3)) → a__U254(mark(X1), X2, X3)
mark(U255(X1, X2)) → a__U255(mark(X1), X2)
mark(U256(X)) → a__U256(mark(X))
mark(U261(X1, X2)) → a__U261(mark(X1), X2)
mark(U262(X)) → a__U262(mark(X))
mark(U271(X1, X2)) → a__U271(mark(X1), X2)
mark(U272(X)) → a__U272(mark(X))
mark(U281(X1, X2)) → a__U281(mark(X1), X2)
mark(U282(X1, X2)) → a__U282(mark(X1), X2)
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(U291(X1, X2, X3)) → a__U291(mark(X1), X2, X3)
mark(U292(X1, X2, X3)) → a__U292(mark(X1), X2, X3)
mark(U293(X1, X2, X3)) → a__U293(mark(X1), X2, X3)
mark(U294(X1, X2, X3)) → a__U294(mark(X1), X2, X3)
mark(head(X)) → a__head(mark(X))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(U301(X1, X2, X3)) → a__U301(mark(X1), X2, X3)
mark(U302(X1, X2)) → a__U302(mark(X1), X2)
mark(U303(X1, X2)) → a__U303(mark(X1), X2)
mark(U304(X1, X2)) → a__U304(mark(X1), X2)
mark(U31(X1, X2, X3)) → a__U31(mark(X1), X2, X3)
mark(U32(X1, X2, X3)) → a__U32(mark(X1), X2, X3)
mark(U311(X1, X2)) → a__U311(mark(X1), X2)
mark(U312(X1, X2)) → a__U312(mark(X1), X2)
mark(U33(X1, X2, X3)) → a__U33(mark(X1), X2, X3)
mark(U321(X1, X2, X3, X4)) → a__U321(mark(X1), X2, X3, X4)
mark(U322(X1, X2, X3, X4)) → a__U322(mark(X1), X2, X3, X4)
mark(U323(X1, X2, X3, X4)) → a__U323(mark(X1), X2, X3, X4)
mark(U324(X1, X2, X3, X4)) → a__U324(mark(X1), X2, X3, X4)
mark(U325(X1, X2, X3, X4)) → a__U325(mark(X1), X2, X3, X4)
mark(U326(X1, X2, X3, X4)) → a__U326(mark(X1), X2, X3, X4)
mark(U327(X1, X2)) → a__U327(mark(X1), X2)
mark(U34(X1, X2)) → a__U34(mark(X1), X2)
mark(U331(X1, X2, X3)) → a__U331(mark(X1), X2, X3)
mark(U332(X1, X2)) → a__U332(mark(X1), X2)
mark(U333(X1, X2)) → a__U333(mark(X1), X2)
mark(U334(X1, X2)) → a__U334(mark(X1), X2)
mark(U341(X1, X2, X3)) → a__U341(mark(X1), X2, X3)
mark(U342(X1, X2, X3)) → a__U342(mark(X1), X2, X3)
mark(U343(X1, X2, X3)) → a__U343(mark(X1), X2, X3)
mark(U344(X1, X2, X3)) → a__U344(mark(X1), X2, X3)
mark(fst(X)) → a__fst(mark(X))
mark(U41(X1, X2, X3)) → a__U41(mark(X1), X2, X3)
mark(U42(X1, X2, X3)) → a__U42(mark(X1), X2, X3)
mark(U43(X1, X2, X3)) → a__U43(mark(X1), X2, X3)
mark(U44(X1, X2, X3)) → a__U44(mark(X1), X2, X3)
mark(U45(X1, X2)) → a__U45(mark(X1), X2)
mark(U46(X)) → a__U46(mark(X))
mark(U51(X1, X2, X3)) → a__U51(mark(X1), X2, X3)
mark(U52(X1, X2, X3)) → a__U52(mark(X1), X2, X3)
mark(U53(X1, X2, X3)) → a__U53(mark(X1), X2, X3)
mark(U54(X1, X2, X3)) → a__U54(mark(X1), X2, X3)
mark(U55(X1, X2)) → a__U55(mark(X1), X2)
mark(U56(X)) → a__U56(mark(X))
mark(U61(X1, X2)) → a__U61(mark(X1), X2)
mark(U62(X1, X2)) → a__U62(mark(X1), X2)
mark(isPLNatKind(X)) → a__isPLNatKind(X)
mark(U63(X)) → a__U63(mark(X))
mark(isPLNat(X)) → a__isPLNat(X)
mark(U71(X1, X2)) → a__U71(mark(X1), X2)
mark(U72(X1, X2)) → a__U72(mark(X1), X2)
mark(U73(X)) → a__U73(mark(X))
mark(U81(X1, X2)) → a__U81(mark(X1), X2)
mark(U82(X1, X2)) → a__U82(mark(X1), X2)
mark(U83(X)) → a__U83(mark(X))
mark(U91(X1, X2)) → a__U91(mark(X1), X2)
mark(U92(X1, X2)) → a__U92(mark(X1), X2)
mark(U93(X)) → a__U93(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(tt) → tt
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(nil) → nil
mark(0) → 0
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__isNaturalKind(X) → isNaturalKind(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__isLNatKind(X) → isLNatKind(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U106(X) → U106(X)
a__isLNat(X) → isLNat(X)
a__U11(X1, X2, X3) → U11(X1, X2, X3)
a__U12(X1, X2, X3) → U12(X1, X2, X3)
a__U111(X1, X2) → U111(X1, X2)
a__U112(X) → U112(X)
a__U13(X1, X2, X3) → U13(X1, X2, X3)
a__U121(X1, X2) → U121(X1, X2)
a__U122(X) → U122(X)
a__U14(X1, X2, X3) → U14(X1, X2, X3)
a__U131(X) → U131(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__U141(X) → U141(X)
a__U151(X) → U151(X)
a__U161(X) → U161(X)
a__U171(X1, X2) → U171(X1, X2)
a__U172(X) → U172(X)
a__U181(X1, X2) → U181(X1, X2)
a__U182(X1, X2) → U182(X1, X2)
a__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
a__U201(X1, X2, X3) → U201(X1, X2, X3)
a__U202(X1, X2, X3) → U202(X1, X2, X3)
a__U203(X1, X2, X3) → U203(X1, X2, X3)
a__U204(X1, X2, X3) → U204(X1, X2, X3)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(X)
a__U21(X1, X2, X3) → U21(X1, X2, X3)
a__U22(X1, X2, X3) → U22(X1, X2, X3)
a__U211(X) → U211(X)
a__U23(X1, X2, X3) → U23(X1, X2, X3)
a__U221(X) → U221(X)
a__U24(X1, X2) → U24(X1, X2)
a__U231(X1, X2) → U231(X1, X2)
a__U232(X) → U232(X)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U245(X1, X2) → U245(X1, X2)
a__U246(X) → U246(X)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U255(X1, X2) → U255(X1, X2)
a__U256(X) → U256(X)
a__U261(X1, X2) → U261(X1, X2)
a__U262(X) → U262(X)
a__U271(X1, X2) → U271(X1, X2)
a__U272(X) → U272(X)
a__U281(X1, X2) → U281(X1, X2)
a__U282(X1, X2) → U282(X1, X2)
a__natsFrom(X) → natsFrom(X)
a__U291(X1, X2, X3) → U291(X1, X2, X3)
a__U292(X1, X2, X3) → U292(X1, X2, X3)
a__U293(X1, X2, X3) → U293(X1, X2, X3)
a__U294(X1, X2, X3) → U294(X1, X2, X3)
a__head(X) → head(X)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__U301(X1, X2, X3) → U301(X1, X2, X3)
a__U302(X1, X2) → U302(X1, X2)
a__U303(X1, X2) → U303(X1, X2)
a__U304(X1, X2) → U304(X1, X2)
a__U31(X1, X2, X3) → U31(X1, X2, X3)
a__U32(X1, X2, X3) → U32(X1, X2, X3)
a__U311(X1, X2) → U311(X1, X2)
a__U312(X1, X2) → U312(X1, X2)
a__U33(X1, X2, X3) → U33(X1, X2, X3)
a__U321(X1, X2, X3, X4) → U321(X1, X2, X3, X4)
a__U322(X1, X2, X3, X4) → U322(X1, X2, X3, X4)
a__U323(X1, X2, X3, X4) → U323(X1, X2, X3, X4)
a__U324(X1, X2, X3, X4) → U324(X1, X2, X3, X4)
a__U325(X1, X2, X3, X4) → U325(X1, X2, X3, X4)
a__U326(X1, X2, X3, X4) → U326(X1, X2, X3, X4)
a__U327(X1, X2) → U327(X1, X2)
a__U34(X1, X2) → U34(X1, X2)
a__U331(X1, X2, X3) → U331(X1, X2, X3)
a__U332(X1, X2) → U332(X1, X2)
a__U333(X1, X2) → U333(X1, X2)
a__U334(X1, X2) → U334(X1, X2)
a__U341(X1, X2, X3) → U341(X1, X2, X3)
a__U342(X1, X2, X3) → U342(X1, X2, X3)
a__U343(X1, X2, X3) → U343(X1, X2, X3)
a__U344(X1, X2, X3) → U344(X1, X2, X3)
a__fst(X) → fst(X)
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U45(X1, X2) → U45(X1, X2)
a__U46(X) → U46(X)
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
a__isPLNatKind(X) → isPLNatKind(X)
a__U63(X) → U63(X)
a__isPLNat(X) → isPLNat(X)
a__U71(X1, X2) → U71(X1, X2)
a__U72(X1, X2) → U72(X1, X2)
a__U73(X) → U73(X)
a__U81(X1, X2) → U81(X1, X2)
a__U82(X1, X2) → U82(X1, X2)
a__U83(X) → U83(X)
a__U91(X1, X2) → U91(X1, X2)
a__U92(X1, X2) → U92(X1, X2)
a__U93(X) → U93(X)
a__tail(X) → tail(X)
a__take(X1, X2) → take(X1, X2)
a__sel(X1, X2) → sel(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.