(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__U121(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(cons(V1, V2)) → A__ISNATURALKIND(V1)
A__ISNATURALKIND(sel(V1, V2)) → A__U231(a__isNaturalKind(V1), V2)
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__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)  =  A__ISNATURALKIND(x1)
head(x1)  =  x1
cons(x1, x2)  =  cons(x1, x2)
A__U121(x1, x2)  =  A__U121(x2)
s(x1)  =  x1
sel(x1, x2)  =  sel(x1, x2)
A__U231(x1, x2)  =  x2
fst(x1)  =  x1
A__ISPLNATKIND(x1)  =  x1
pair(x1, x2)  =  pair(x1, x2)
A__U261(x1, x2)  =  A__U261(x2)
a__isLNatKind(x1)  =  x1
natsFrom(x1)  =  natsFrom(x1)
snd(x1)  =  snd(x1)
tail(x1)  =  tail(x1)
take(x1, x2)  =  take(x1, x2)
A__U171(x1, x2)  =  A__U171(x2)
splitAt(x1, x2)  =  splitAt(x1, x2)
A__U271(x1, x2)  =  x2
a__U231(x1, x2)  =  x2
U231(x1, x2)  =  x2
a__U262(x1)  =  x1
a__U221(x1)  =  a__U221
U221(x1)  =  U221
a__U261(x1, x2)  =  x2
a__U211(x1)  =  a__U211(x1)
U211(x1)  =  U211
a__U272(x1)  =  a__U272(x1)
a__U271(x1, x2)  =  x1
a__U232(x1)  =  x1
U232(x1)  =  x1
a__U172(x1)  =  a__U172(x1)
U172(x1)  =  U172
a__U171(x1, x2)  =  x1
U171(x1, x2)  =  U171
a__U161(x1)  =  a__U161(x1)
U161(x1)  =  U161
a__U151(x1)  =  a__U151
U151(x1)  =  x1
a__U141(x1)  =  a__U141(x1)
U141(x1)  =  U141
U261(x1, x2)  =  U261(x1, x2)
U271(x1, x2)  =  x2
U262(x1)  =  U262
U272(x1)  =  U272(x1)
a__isPLNatKind(x1)  =  a__isPLNatKind
isPLNatKind(x1)  =  isPLNatKind(x1)
nil  =  nil
a__U111(x1, x2)  =  a__U111(x2)
a__U121(x1, x2)  =  x1
a__U131(x1)  =  x1
0  =  0
a__U112(x1)  =  a__U112(x1)
a__U122(x1)  =  x1
U111(x1, x2)  =  U111(x1)
U112(x1)  =  U112(x1)
U121(x1, x2)  =  U121
U122(x1)  =  U122(x1)
U131(x1)  =  U131(x1)
isNaturalKind(x1)  =  isNaturalKind(x1)
isLNatKind(x1)  =  isLNatKind(x1)

Recursive Path Order [RPO].
Precedence:
afterNth2 > AISNATURALKIND1
cons2 > AU1211 > AISNATURALKIND1
sel2 > AISNATURALKIND1
pair2 > AU2611 > AISNATURALKIND1
natsFrom1 > aisNaturalKind1 > tt > aU1721 > AISNATURALKIND1
natsFrom1 > aisNaturalKind1 > tt > aU1121 > U1121 > AISNATURALKIND1
natsFrom1 > aisNaturalKind1 > aU221 > AISNATURALKIND1
natsFrom1 > aisNaturalKind1 > aU2111 > AISNATURALKIND1
natsFrom1 > aisNaturalKind1 > isNaturalKind1 > AISNATURALKIND1
natsFrom1 > aU1411 > tt > aU1721 > AISNATURALKIND1
natsFrom1 > aU1411 > tt > aU1121 > U1121 > AISNATURALKIND1
snd1 > aisPLNatKind > AISNATURALKIND1
tail1 > AISNATURALKIND1
take2 > AU1711 > AISNATURALKIND1
splitAt2 > AISNATURALKIND1
U221 > AISNATURALKIND1
U211 > AISNATURALKIND1
aU2721 > tt > aU1721 > AISNATURALKIND1
aU2721 > tt > aU1121 > U1121 > AISNATURALKIND1
U172 > AISNATURALKIND1
U171 > AISNATURALKIND1
aU1611 > tt > aU1721 > AISNATURALKIND1
aU1611 > tt > aU1121 > U1121 > AISNATURALKIND1
U161 > AISNATURALKIND1
aU151 > tt > aU1721 > AISNATURALKIND1
aU151 > tt > aU1121 > U1121 > AISNATURALKIND1
U141 > AISNATURALKIND1
U2612 > AISNATURALKIND1
U262 > AISNATURALKIND1
U2721 > AISNATURALKIND1
isPLNatKind1 > AISNATURALKIND1
nil > AISNATURALKIND1
aU1111 > aU1121 > U1121 > AISNATURALKIND1
aU1111 > U1111 > AISNATURALKIND1
0 > AISNATURALKIND1
U121 > AISNATURALKIND1
U1221 > AISNATURALKIND1
U1311 > AISNATURALKIND1
isLNatKind1 > AISNATURALKIND1

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__ISNATURALKIND(s(V1)) → A__ISNATURALKIND(V1)
A__U231(tt, V2) → A__ISLNATKIND(V2)
A__ISLNATKIND(fst(V1)) → A__ISPLNATKIND(V1)
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 1 SCC with 4 less nodes.

(9) 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.

(10) 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 [RPO].
Precedence:
s1 > AISNATURALKIND1

The following usable rules [FROCOS05] were oriented: none

(11) 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.

(12) PisEmptyProof (EQUIVALENT transformation)

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

(13) TRUE

(14) 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.

(15) 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__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__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__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__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__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(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)  =  x1
A__U104(x1, x2, x3)  =  A__U104(x2, x3)
A__U105(x1, x2)  =  A__U105(x2)
a__isNatural(x1)  =  x1
A__ISLNAT(x1)  =  x1
afterNth(x1, x2)  =  afterNth(x1, x2)
A__U41(x1, x2, x3)  =  A__U41(x2, x3)
a__isNaturalKind(x1)  =  a__isNaturalKind
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)  =  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)  =  A__U61(x2)
a__isPLNatKind(x1)  =  x1
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)  =  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)  =  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(x2)
A__U92(x1, x2)  =  x2
take(x1, x2)  =  take(x1, x2)
A__U101(x1, x2, x3)  =  A__U101(x2, x3)
s(x1)  =  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)
a__U71(x1, x2)  =  a__U71(x2)
a__U63(x1)  =  a__U63
U63(x1)  =  x1
isPLNatKind(x1)  =  x1
a__U81(x1, x2)  =  a__U81
a__U91(x1, x2)  =  x1
a__U62(x1, x2)  =  a__U62
U62(x1, x2)  =  x1
a__U101(x1, x2, x3)  =  a__U101(x3)
a__U61(x1, x2)  =  a__U61
U61(x1, x2)  =  U61(x1, x2)
a__U73(x1)  =  a__U73
U73(x1)  =  U73
nil  =  nil
a__U72(x1, x2)  =  x2
U72(x1, x2)  =  U72(x1, x2)
a__U111(x1, x2)  =  a__U111
U71(x1, x2)  =  x1
a__U121(x1, x2)  =  a__U121(x1, x2)
a__U131(x1)  =  x1
a__isPLNat(x1)  =  a__isPLNat
isPLNat(x1)  =  isPLNat(x1)
a__U93(x1)  =  x1
a__U52(x1, x2, x3)  =  a__U52
U52(x1, x2, x3)  =  U52(x1, x2, x3)
a__U51(x1, x2, x3)  =  a__U51(x3)
U51(x1, x2, x3)  =  U51(x1, x2, x3)
a__U46(x1)  =  a__U46
U46(x1)  =  U46
a__U45(x1, x2)  =  a__U45(x1, x2)
U45(x1, x2)  =  U45(x1, x2)
a__U56(x1)  =  a__U56
U56(x1)  =  U56
a__U41(x1, x2, x3)  =  a__U41(x2)
a__U55(x1, x2)  =  a__U55
U55(x1, x2)  =  U55(x1, x2)
a__U54(x1, x2, x3)  =  a__U54(x2, x3)
U54(x1, x2, x3)  =  U54(x1, x2, x3)
a__U53(x1, x2, x3)  =  a__U53(x3)
U53(x1, x2, x3)  =  U53(x1, x2, x3)
a__U211(x1)  =  a__U211(x1)
0  =  0
a__U231(x1, x2)  =  x1
a__U221(x1)  =  a__U221
a__U251(x1, x2, x3)  =  a__U251
a__U43(x1, x2, x3)  =  a__U43(x2, x3)
U43(x1, x2, x3)  =  U43(x1, x2, x3)
a__U44(x1, x2, x3)  =  a__U44(x2, x3)
U44(x1, x2, x3)  =  U44(x1, x2, x3)
a__U241(x1, x2, x3)  =  x3
a__U271(x1, x2)  =  a__U271
U41(x1, x2, x3)  =  U41(x1, x2, x3)
a__U261(x1, x2)  =  x1
a__U42(x1, x2, x3)  =  a__U42
U42(x1, x2, x3)  =  U42(x2, x3)
a__U151(x1)  =  a__U151
a__U141(x1)  =  x1
a__U171(x1, x2)  =  a__U171
a__U161(x1)  =  x1
a__U181(x1, x2)  =  a__U181
a__U201(x1, x2, x3)  =  a__U201(x2)
a__U191(x1, x2)  =  a__U191
U81(x1, x2)  =  U81(x1, x2)
a__U82(x1, x2)  =  a__U82
U82(x1, x2)  =  U82(x1, x2)
a__U83(x1)  =  a__U83
U83(x1)  =  x1
U91(x1, x2)  =  U91(x1, x2)
a__U92(x1, x2)  =  a__U92(x1, x2)
U92(x1, x2)  =  U92(x1, x2)
U93(x1)  =  x1
a__U256(x1)  =  a__U256
U231(x1, x2)  =  U231(x1, x2)
a__U255(x1, x2)  =  x1
a__U262(x1)  =  a__U262
U221(x1)  =  U221
a__U252(x1, x2, x3)  =  a__U252(x2, x3)
a__U253(x1, x2, x3)  =  a__U253(x2, x3)
U211(x1)  =  x1
a__U254(x1, x2, x3)  =  a__U254
a__U206(x1)  =  a__U206
U206(x1)  =  U206(x1)
a__U246(x1)  =  a__U246
U246(x1)  =  U246(x1)
U251(x1, x2, x3)  =  U251(x1, x2, x3)
a__U244(x1, x2, x3)  =  a__U244(x3)
U244(x1, x2, x3)  =  U244(x1, x2, x3)
a__U245(x1, x2)  =  a__U245(x2)
U245(x1, x2)  =  U245(x1, x2)
a__U272(x1)  =  a__U272(x1)
a__U242(x1, x2, x3)  =  a__U242(x1, x2, x3)
U242(x1, x2, x3)  =  x1
a__U243(x1, x2, x3)  =  a__U243(x2)
U243(x1, x2, x3)  =  U243(x1, x2, x3)
a__U232(x1)  =  a__U232(x1)
U232(x1)  =  U232
U241(x1, x2, x3)  =  U241(x1, x2, x3)
a__U183(x1)  =  a__U183
U183(x1)  =  U183
a__U182(x1, x2)  =  a__U182
U182(x1, x2)  =  U182(x1, x2)
U181(x1, x2)  =  U181(x1, x2)
a__U172(x1)  =  x1
U172(x1)  =  U172
U171(x1, x2)  =  U171(x1, x2)
U161(x1)  =  U161
U151(x1)  =  U151
U141(x1)  =  x1
a__U205(x1, x2)  =  a__U205
U205(x1, x2)  =  U205(x1, x2)
a__U204(x1, x2, x3)  =  a__U204(x2, x3)
U204(x1, x2, x3)  =  U204(x1, x2, x3)
a__U203(x1, x2, x3)  =  a__U203
U203(x1, x2, x3)  =  U203(x1, x2, x3)
a__U202(x1, x2, x3)  =  a__U202
U202(x1, x2, x3)  =  x1
U201(x1, x2, x3)  =  U201(x1, x2, x3)
a__U193(x1)  =  x1
U193(x1)  =  U193
a__U192(x1, x2)  =  a__U192
U192(x1, x2)  =  U192(x1, x2)
U191(x1, x2)  =  U191(x1, x2)
U261(x1, x2)  =  U261(x1, x2)
U256(x1)  =  U256
U271(x1, x2)  =  U271(x1, x2)
U262(x1)  =  U262
U253(x1, x2, x3)  =  U253(x1, x2, x3)
U252(x1, x2, x3)  =  U252(x1, x2, x3)
U255(x1, x2)  =  U255(x1, x2)
U254(x1, x2, x3)  =  U254(x1, x2, x3)
U272(x1)  =  U272
a__U102(x1, x2, x3)  =  a__U102(x2, x3)
a__U103(x1, x2, x3)  =  a__U103(x2)
a__U104(x1, x2, x3)  =  x1
a__U105(x1, x2)  =  a__U105(x1)
a__U106(x1)  =  a__U106
a__U112(x1)  =  x1
a__U122(x1)  =  a__U122
U104(x1, x2, x3)  =  U104(x1, x2, x3)
U105(x1, x2)  =  U105(x1, x2)
isNatural(x1)  =  isNatural
U106(x1)  =  U106
isLNat(x1)  =  isLNat
U111(x1, x2)  =  U111(x1, x2)
U112(x1)  =  U112
U121(x1, x2)  =  x1
U122(x1)  =  x1
U131(x1)  =  U131(x1)
U101(x1, x2, x3)  =  U101(x1, x2, x3)
isNaturalKind(x1)  =  isNaturalKind(x1)
U102(x1, x2, x3)  =  U102(x1, x2, x3)
isLNatKind(x1)  =  x1
U103(x1, x2, x3)  =  x3

Recursive Path Order [RPO].
Precedence:
afterNth2 > AU412 > AU422 > AU432 > AU442 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > AU422 > AU432 > AU442 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > AU1821 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > AU2032 > AU2042 > AU2051 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU63 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU73 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aisPLNat > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU52 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > U543 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > U433 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > U443 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU82 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU262 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU2522 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU2532 > aU254 > U2543 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU2532 > U2533 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU206 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU2721 > U272 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU205 > U2052 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU1051 > aU1022
afterNth2 > aisNaturalKind > aU2111 > tt > aU122 > aU1022
afterNth2 > aisNaturalKind > aU221 > aU1022
afterNth2 > aisNaturalKind > isNaturalKind1 > aU1022
afterNth2 > aU111 > U1112 > aU1022
afterNth2 > aU411 > U413 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > AU422 > AU432 > AU442 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > AU1821 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > AU2032 > AU2042 > AU2051 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU63 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU73 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aisPLNat > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU52 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > U543 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > U433 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > U443 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU82 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU262 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU2522 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU2532 > aU254 > U2543 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU2532 > U2533 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU206 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU2721 > U272 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU205 > U2052 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU1051 > aU1022
cons2 > aisNaturalKind > aU2111 > tt > aU122 > aU1022
cons2 > aisNaturalKind > aU221 > aU1022
cons2 > aisNaturalKind > isNaturalKind1 > aU1022
cons2 > AU512 > AU522 > AU532 > AU542 > AU551 > aU1022
cons2 > aU1212 > aU122 > aU1022
cons2 > aU511 > U513 > aU1022
fst1 > AU611 > aU1022
fst1 > aU61 > aU1022
pair2 > AU2412 > AU2422 > AU2432 > AU2442 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > AU422 > AU432 > AU442 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > AU1821 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > AU2032 > AU2042 > AU2051 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU63 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU73 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aisPLNat > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU52 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > U543 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > U433 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > U443 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU82 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU262 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU2522 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU2532 > aU254 > U2543 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU2532 > U2533 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU206 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU2721 > U272 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU205 > U2052 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU1051 > aU1022
natsFrom1 > aisNaturalKind > aU2111 > tt > aU122 > aU1022
natsFrom1 > aisNaturalKind > aU221 > aU1022
natsFrom1 > aisNaturalKind > isNaturalKind1 > aU1022
natsFrom1 > aU711 > aU1022
head1 > AU1811 > AU1821 > aU1022
head1 > aU181 > U1812 > aU1022
splitAt2 > AU2512 > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
splitAt2 > aU271 > aU2721 > U272 > aU1022
tail1 > AU911 > aU1022
take2 > AU1012 > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
take2 > aU1011 > U1013 > aU1022
take2 > aU171 > U1712 > aU1022
sel2 > AU2012 > AU2022 > AU2032 > AU2042 > AU2051 > aU1022
sel2 > aU2011 > aU1022
aU81 > U812 > aU1022
aU81 > aU82 > aU1022
aU62 > aU63 > aU1022
aU62 > aisPLNat > aU1022
U612 > aU1022
U73 > aU1022
nil > aU1022
U722 > aU1022
isPLNat1 > aU1022
U523 > aU1022
U46 > aU1022
U452 > aU1022
U56 > aU1022
U552 > aU1022
U533 > aU1022
0 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > AU422 > AU432 > AU442 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > AU1821 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > AU2032 > AU2042 > AU2051 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU63 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU73 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aisPLNat > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU52 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU531 > aU542 > U543 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > U433 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU42 > aU432 > aU442 > U443 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU82 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU262 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU2522 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU2532 > aU254 > U2543 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU2532 > U2533 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU206 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU2721 > U272 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU205 > U2052 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU1051 > aU1022
aU251 > aisNaturalKind > aU2111 > tt > aU122 > aU1022
aU251 > aisNaturalKind > aU221 > aU1022
aU251 > aisNaturalKind > isNaturalKind1 > aU1022
aU251 > U2513 > aU1022
U422 > aU1022
aU151 > U151 > aU1022
aU191 > U1912 > aU1022
U822 > aU1022
aU83 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
aU83 > tt > AU422 > AU432 > AU442 > aU1022
aU83 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
aU83 > tt > AU1821 > aU1022
aU83 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
aU83 > tt > AU2032 > AU2042 > AU2051 > aU1022
aU83 > tt > aU63 > aU1022
aU83 > tt > aU73 > aU1022
aU83 > tt > aisPLNat > aU1022
aU83 > tt > aU52 > aU1022
aU83 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
aU83 > tt > aU531 > aU542 > U543 > aU1022
aU83 > tt > aU42 > aU432 > U433 > aU1022
aU83 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
aU83 > tt > aU42 > aU432 > aU442 > U443 > aU1022
aU83 > tt > aU82 > aU1022
aU83 > tt > aU262 > aU1022
aU83 > tt > aU2522 > aU1022
aU83 > tt > aU2532 > aU254 > U2543 > aU1022
aU83 > tt > aU2532 > U2533 > aU1022
aU83 > tt > aU206 > aU1022
aU83 > tt > aU2721 > U272 > aU1022
aU83 > tt > aU205 > U2052 > aU1022
aU83 > tt > aU1051 > aU1022
aU83 > tt > aU122 > aU1022
U912 > aU1022
aU922 > aU1022
U922 > aU1022
aU256 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
aU256 > tt > AU422 > AU432 > AU442 > aU1022
aU256 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
aU256 > tt > AU1821 > aU1022
aU256 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
aU256 > tt > AU2032 > AU2042 > AU2051 > aU1022
aU256 > tt > aU63 > aU1022
aU256 > tt > aU73 > aU1022
aU256 > tt > aisPLNat > aU1022
aU256 > tt > aU52 > aU1022
aU256 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
aU256 > tt > aU531 > aU542 > U543 > aU1022
aU256 > tt > aU42 > aU432 > U433 > aU1022
aU256 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
aU256 > tt > aU42 > aU432 > aU442 > U443 > aU1022
aU256 > tt > aU82 > aU1022
aU256 > tt > aU262 > aU1022
aU256 > tt > aU2522 > aU1022
aU256 > tt > aU2532 > aU254 > U2543 > aU1022
aU256 > tt > aU2532 > U2533 > aU1022
aU256 > tt > aU206 > aU1022
aU256 > tt > aU2721 > U272 > aU1022
aU256 > tt > aU205 > U2052 > aU1022
aU256 > tt > aU1051 > aU1022
aU256 > tt > aU122 > aU1022
aU256 > U256 > aU1022
U2312 > aU1022
U221 > aU1022
U2061 > aU1022
U2461 > aU1022
aU2423 > aU1022
aU2431 > aU2441 > U2443 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > AU422 > AU432 > AU442 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > AU1821 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > AU2032 > AU2042 > AU2051 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU63 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU73 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aisPLNat > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU52 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU531 > aU542 > U543 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU42 > aU432 > U433 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU42 > aU432 > aU442 > U443 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU82 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU262 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU2522 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU2532 > aU254 > U2543 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU2532 > U2533 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU206 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU2721 > U272 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU205 > U2052 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU1051 > aU1022
aU2431 > aU2441 > aU2451 > aU246 > tt > aU122 > aU1022
aU2431 > aU2441 > aU2451 > U2452 > aU1022
aU2431 > U2433 > aU1022
aU2321 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
aU2321 > tt > AU422 > AU432 > AU442 > aU1022
aU2321 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
aU2321 > tt > AU1821 > aU1022
aU2321 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
aU2321 > tt > AU2032 > AU2042 > AU2051 > aU1022
aU2321 > tt > aU63 > aU1022
aU2321 > tt > aU73 > aU1022
aU2321 > tt > aisPLNat > aU1022
aU2321 > tt > aU52 > aU1022
aU2321 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
aU2321 > tt > aU531 > aU542 > U543 > aU1022
aU2321 > tt > aU42 > aU432 > U433 > aU1022
aU2321 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
aU2321 > tt > aU42 > aU432 > aU442 > U443 > aU1022
aU2321 > tt > aU82 > aU1022
aU2321 > tt > aU262 > aU1022
aU2321 > tt > aU2522 > aU1022
aU2321 > tt > aU2532 > aU254 > U2543 > aU1022
aU2321 > tt > aU2532 > U2533 > aU1022
aU2321 > tt > aU206 > aU1022
aU2321 > tt > aU2721 > U272 > aU1022
aU2321 > tt > aU205 > U2052 > aU1022
aU2321 > tt > aU1051 > aU1022
aU2321 > tt > aU122 > aU1022
aU2321 > U232 > aU1022
U2413 > aU1022
aU182 > aU183 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
aU182 > aU183 > tt > AU422 > AU432 > AU442 > aU1022
aU182 > aU183 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
aU182 > aU183 > tt > AU1821 > aU1022
aU182 > aU183 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
aU182 > aU183 > tt > AU2032 > AU2042 > AU2051 > aU1022
aU182 > aU183 > tt > aU63 > aU1022
aU182 > aU183 > tt > aU73 > aU1022
aU182 > aU183 > tt > aisPLNat > aU1022
aU182 > aU183 > tt > aU52 > aU1022
aU182 > aU183 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
aU182 > aU183 > tt > aU531 > aU542 > U543 > aU1022
aU182 > aU183 > tt > aU42 > aU432 > U433 > aU1022
aU182 > aU183 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
aU182 > aU183 > tt > aU42 > aU432 > aU442 > U443 > aU1022
aU182 > aU183 > tt > aU82 > aU1022
aU182 > aU183 > tt > aU262 > aU1022
aU182 > aU183 > tt > aU2522 > aU1022
aU182 > aU183 > tt > aU2532 > aU254 > U2543 > aU1022
aU182 > aU183 > tt > aU2532 > U2533 > aU1022
aU182 > aU183 > tt > aU206 > aU1022
aU182 > aU183 > tt > aU2721 > U272 > aU1022
aU182 > aU183 > tt > aU205 > U2052 > aU1022
aU182 > aU183 > tt > aU1051 > aU1022
aU182 > aU183 > tt > aU122 > aU1022
aU182 > aU183 > U183 > aU1022
aU182 > U1822 > aU1022
U172 > aU1022
U161 > aU1022
aU2042 > aU205 > U2052 > aU1022
aU2042 > U2043 > aU1022
U2033 > aU1022
aU202 > aU203 > aU1022
U2013 > aU1022
U193 > aU1022
aU192 > U1922 > aU1022
U2612 > aU1022
U2712 > aU1022
U262 > aU1022
U2523 > aU1022
U2552 > aU1022
aU1031 > aU1022
aU106 > tt > AU1022 > AU1032 > AU1042 > AU1051 > aU1022
aU106 > tt > AU422 > AU432 > AU442 > aU1022
aU106 > tt > AU522 > AU532 > AU542 > AU551 > aU1022
aU106 > tt > AU1821 > aU1022
aU106 > tt > AU2522 > AU2532 > AU2542 > AU2551 > aU1022
aU106 > tt > AU2032 > AU2042 > AU2051 > aU1022
aU106 > tt > aU63 > aU1022
aU106 > tt > aU73 > aU1022
aU106 > tt > aisPLNat > aU1022
aU106 > tt > aU52 > aU1022
aU106 > tt > aU531 > aU542 > aU55 > aU56 > aU1022
aU106 > tt > aU531 > aU542 > U543 > aU1022
aU106 > tt > aU42 > aU432 > U433 > aU1022
aU106 > tt > aU42 > aU432 > aU442 > aU452 > aU46 > aU1022
aU106 > tt > aU42 > aU432 > aU442 > U443 > aU1022
aU106 > tt > aU82 > aU1022
aU106 > tt > aU262 > aU1022
aU106 > tt > aU2522 > aU1022
aU106 > tt > aU2532 > aU254 > U2543 > aU1022
aU106 > tt > aU2532 > U2533 > aU1022
aU106 > tt > aU206 > aU1022
aU106 > tt > aU2721 > U272 > aU1022
aU106 > tt > aU205 > U2052 > aU1022
aU106 > tt > aU1051 > aU1022
aU106 > tt > aU122 > aU1022
U1043 > aU1022
U1052 > aU1022
isNatural > aU1022
U106 > aU1022
isLNat > aU1022
U112 > aU1022
U1311 > aU1022
U1023 > aU1022

The following usable rules [FROCOS05] were oriented: none

(16) Obligation:

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

A__U45(tt, V2) → A__ISLNAT(V2)
A__U62(tt, V1) → A__ISPLNAT(V1)
A__U245(tt, V2) → A__ISLNAT(V2)
A__U71(tt, V1) → A__U72(a__isNaturalKind(V1), V1)
A__U72(tt, V1) → A__ISNATURAL(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__U92(tt, V1) → A__ISLNAT(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)

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.

(17) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 9 less nodes.

(18) Obligation:

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

A__U191(tt, V1) → A__U192(a__isNaturalKind(V1), V1)
A__U192(tt, V1) → A__ISNATURAL(V1)
A__ISNATURAL(s(V1)) → A__U191(a__isNaturalKind(V1), 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.

(19) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


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

Recursive Path Order [RPO].
Precedence:
s1 > AU1911 > AU1921 > AISNATURAL1 > aU232
s1 > aU221 > aU232
aU2312 > aU232
U2312 > aU232
U2211 > aU232
aU261 > U2612 > aU232
aU211 > tt > AISNATURAL1 > aU232
aU211 > tt > aU1721 > aU232
U2111 > aU232
U2321 > aU232
U1721 > aU232
aU1711 > aU1721 > aU232
aU1711 > U1712 > aU232
aU151 > tt > AISNATURAL1 > aU232
aU151 > tt > aU1721 > aU232
aU151 > U1511 > aU232
aU141 > tt > AISNATURAL1 > aU232
aU141 > tt > aU1721 > aU232
aU141 > U1411 > aU232
U2621 > aU232
U2721 > aU232
aisPLNatKind > aU2711 > U2712 > aU232
aisPLNatKind > isPLNatKind1 > aU232
nil > aU232
afterNth1 > aU232
cons > aU232
aU1211 > aU232
head > aU232
0 > aU232
pair1 > aU232
U1112 > aU232
U1121 > aU232
U122 > aU232
U131 > aU232
isNaturalKind > aU232
isLNatKind1 > aU232

The following usable rules [FROCOS05] were oriented: none

(20) 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.

(21) PisEmptyProof (EQUIVALENT transformation)

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

(22) TRUE

(23) 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.