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

Recursive path order with status [RPO].
Precedence:
afterNth2 > AU1111 > AISLNATKIND1 > U1121
aisNaturalKind1 > aU2111 > tt > U1121
aisNaturalKind1 > aU2111 > U2111 > U1121
head1 > AISLNATKIND1 > U1121
cons2 > AU1211 > AISLNATKIND1 > U1121
s1 > U1121
sel2 > AU2311 > AISLNATKIND1 > U1121
fst1 > AISPLNATKIND1 > AU2711 > AISLNATKIND1 > U1121
fst1 > aU131 > tt > U1121
fst1 > aU131 > U1311 > U1121
pair2 > AU2611 > AISLNATKIND1 > U1121
pair2 > aU2612 > U1121
aisLNatKind > aU1511 > tt > U1121
aisLNatKind > aU1511 > U151 > U1121
aisLNatKind > aU131 > tt > U1121
aisLNatKind > aU131 > U1311 > U1121
aisLNatKind > aU1212 > U1121
aisLNatKind > isLNatKind1 > U1121
snd1 > AISPLNATKIND1 > AU2711 > AISLNATKIND1 > U1121
snd1 > aU1511 > tt > U1121
snd1 > aU1511 > U151 > U1121
take2 > AU1711 > AISLNATKIND1 > U1121
splitAt2 > U1121
aU221 > tt > U1121
aU221 > U221 > U1121
aU172 > tt > U1121
U1712 > U1121
aU141 > tt > U1121
aU141 > U1411 > U1121
U1611 > U1121
aU122 > tt > U1121
aU122 > U1221 > U1121
aU112 > tt > U1121
U111 > U1121
U1212 > U1121
aU262 > tt > U1121
aU232 > tt > U1121
U2712 > U1121
aU272 > U1121
U2721 > U1121
U2612 > U1121
U232 > U1121
U2312 > U1121
nil > tt > U1121
isPLNatKind1 > U1121
isNaturalKind1 > U1121
0 > U1121

Status:
sel2: multiset
isPLNatKind1: multiset
take2: multiset
aU232: multiset
AU1211: multiset
tt: multiset
U1411: multiset
AU1111: multiset
pair2: multiset
aisLNatKind: multiset
AISPLNATKIND1: multiset
U2721: multiset
nil: multiset
afterNth2: multiset
aU221: multiset
aU2612: multiset
aU2111: multiset
AU2311: multiset
U151: multiset
aU122: multiset
AU1711: multiset
U1212: multiset
aU172: multiset
U1311: multiset
AU2711: multiset
U2612: multiset
U2312: multiset
aU272: multiset
aisNaturalKind1: multiset
U111: multiset
U1221: multiset
splitAt2: multiset
aU262: multiset
aU131: multiset
isNaturalKind1: multiset
isLNatKind1: multiset
aU1212: multiset
aU1511: multiset
s1: multiset
AISLNATKIND1: multiset
snd1: multiset
head1: multiset
U232: multiset
U2712: multiset
aU112: multiset
U1611: multiset
0: multiset
cons2: multiset
aU141: multiset
U1121: multiset
fst1: multiset
U2111: multiset
U1712: multiset
U221: multiset
AU2611: multiset

The following usable rules [FROCOS05] were oriented: none

(7) Obligation:

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

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

The TRS R consists of the following rules:

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

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

(8) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


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

Status:
tail1: multiset
AISLNATKIND1: multiset

The following usable rules [FROCOS05] were oriented: none

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

(10) PisEmptyProof (EQUIVALENT transformation)

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

(11) TRUE

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

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

Recursive path order with status [RPO].
Precedence:
afterNth2 > AU412 > aisNaturalKind1 > aU2211 > U2211 > U63
afterNth2 > AU412 > AU422 > AU432 > AU442 > AU451 > U63
afterNth2 > aU41 > aU42 > aU43 > U43 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU1022 > AU1032 > AU1042 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU422 > AU432 > AU442 > AU451 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU522 > AU532 > AU542 > AU551 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU2442 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU2532 > AU2542 > AU2552 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU2022 > AU2032 > AU2042 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > aU172 > U1721 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > aU232 > U2321 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > U46 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > aU45 > U45 > U63
afterNth2 > aU41 > aU42 > aU43 > aU44 > U44 > U63
afterNth2 > aU41 > aU42 > U42 > U63
afterNth2 > aU41 > U41 > U63
cons2 > AU512 > aisNaturalKind1 > aU2211 > U2211 > U63
cons2 > AU512 > AU522 > AU532 > AU542 > AU551 > U63
cons2 > aU51 > U51 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > U55 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU1022 > AU1032 > AU1042 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU422 > AU432 > AU442 > AU451 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU522 > AU532 > AU542 > AU551 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU2442 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU2532 > AU2542 > AU2552 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU2022 > AU2032 > AU2042 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > aU172 > U1721 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > aU232 > U2321 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > U56 > U63
cons2 > aU51 > aU52 > aU53 > aU54 > U54 > U63
cons2 > aU51 > aU52 > aU53 > U53 > U63
cons2 > aU51 > aU52 > U52 > U63
pair2 > AU2412 > AU2422 > AU2432 > AU2442 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU1022 > AU1032 > AU1042 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU422 > AU432 > AU442 > AU451 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU522 > AU532 > AU542 > AU551 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU2442 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU2532 > AU2542 > AU2552 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU2022 > AU2032 > AU2042 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > aU172 > U1721 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > aU232 > U2321 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > U246 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > aU245 > U245 > U63
pair2 > aU241 > aU242 > aU243 > aU244 > U244 > U63
pair2 > aU241 > aU242 > aU243 > U243 > U63
pair2 > aU241 > aU242 > U242 > U63
pair2 > aU241 > U241 > U63
aisLNat > aisLNatKind > aU141 > U63
aisLNat > aisLNatKind > aU131 > U1311 > U63
aisLNat > aisLNatKind > aU1511 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aisLNatKind > aU1511 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aisLNatKind > aU1511 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aisLNatKind > aU1511 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aisLNatKind > aU1511 > tt > AU2442 > U63
aisLNat > aisLNatKind > aU1511 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aisLNatKind > aU1511 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aisLNatKind > aU1511 > tt > aU172 > U1721 > U63
aisLNat > aisLNatKind > aU1511 > tt > aU232 > U2321 > U63
aisLNat > aisLNatKind > aU1511 > U1511 > U63
aisLNat > aisLNatKind > aU1711 > aU172 > U1721 > U63
aisLNat > aisLNatKind > aU1711 > U1712 > U63
aisLNat > aU71 > aU72 > aU73 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU71 > aU72 > aU73 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU71 > aU72 > aU73 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU71 > aU72 > aU73 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU71 > aU72 > aU73 > tt > AU2442 > U63
aisLNat > aU71 > aU72 > aU73 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU71 > aU72 > aU73 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU71 > aU72 > aU73 > tt > aU172 > U1721 > U63
aisLNat > aU71 > aU72 > aU73 > tt > aU232 > U2321 > U63
aisLNat > aU71 > aU72 > aU73 > U73 > U63
aisLNat > aU71 > aU72 > U72 > U63
aisLNat > aU71 > U71 > U63
aisLNat > aU61 > U61 > U63
aisLNat > aU61 > aU62 > aisPLNat > isPLNat > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU2442 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > aU172 > U1721 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > aU232 > U2321 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > U256 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > aU255 > U255 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > aU254 > U254 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > aU253 > U253 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > aU252 > U252 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU251 > U251 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU2442 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > aU172 > U1721 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > tt > aU232 > U2321 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > aU246 > U246 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > aU245 > U245 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > aU244 > U244 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > aU243 > U243 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > aU242 > U242 > U63
aisLNat > aU61 > aU62 > aisPLNat > aU241 > U241 > U63
aisLNat > aU61 > aU62 > U62 > U63
aisLNat > aU91 > aU92 > aU93 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU91 > aU92 > aU93 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU91 > aU92 > aU93 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU91 > aU92 > aU93 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU91 > aU92 > aU93 > tt > AU2442 > U63
aisLNat > aU91 > aU92 > aU93 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU91 > aU92 > aU93 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU91 > aU92 > aU93 > tt > aU172 > U1721 > U63
aisLNat > aU91 > aU92 > aU93 > tt > aU232 > U2321 > U63
aisLNat > aU91 > aU92 > aU93 > U93 > U63
aisLNat > aU91 > aU92 > U92 > U63
aisLNat > aU91 > U91 > U63
aisLNat > aU81 > aU82 > aU83 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU81 > aU82 > aU83 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU81 > aU82 > aU83 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU81 > aU82 > aU83 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU81 > aU82 > aU83 > tt > AU2442 > U63
aisLNat > aU81 > aU82 > aU83 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU81 > aU82 > aU83 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU81 > aU82 > aU83 > tt > aU172 > U1721 > U63
aisLNat > aU81 > aU82 > aU83 > tt > aU232 > U2321 > U63
aisLNat > aU81 > aU82 > aU83 > U83 > U63
aisLNat > aU81 > aU82 > U82 > U63
aisLNat > aU81 > U81 > U63
aisLNat > aU101 > U101 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > AU2442 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > aU172 > U1721 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > tt > aU232 > U2321 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > aU106 > U106 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > aU105 > U105 > U63
aisLNat > aU101 > aU102 > aU103 > aU104 > U104 > U63
aisLNat > aU101 > aU102 > aU103 > U103 > U63
aisLNat > aU101 > aU102 > U102 > U63
aisLNat > aU41 > aU42 > aU43 > U43 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU2442 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > aU172 > U1721 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > tt > aU232 > U2321 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > aU46 > U46 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > aU45 > U45 > U63
aisLNat > aU41 > aU42 > aU43 > aU44 > U44 > U63
aisLNat > aU41 > aU42 > U42 > U63
aisLNat > aU41 > U41 > U63
aisLNat > aU51 > U51 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > U55 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU1022 > AU1032 > AU1042 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU422 > AU432 > AU442 > AU451 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU522 > AU532 > AU542 > AU551 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU2442 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU2532 > AU2542 > AU2552 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > AU2022 > AU2032 > AU2042 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > aU172 > U1721 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > tt > aU232 > U2321 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > aU55 > aU56 > U56 > U63
aisLNat > aU51 > aU52 > aU53 > aU54 > U54 > U63
aisLNat > aU51 > aU52 > aU53 > U53 > U63
aisLNat > aU51 > aU52 > U52 > U63
head1 > AU1811 > U63
head1 > aU1811 > aU1821 > aU183 > tt > AU1022 > AU1032 > AU1042 > U63
head1 > aU1811 > aU1821 > aU183 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
head1 > aU1811 > aU1821 > aU183 > tt > AU422 > AU432 > AU442 > AU451 > U63
head1 > aU1811 > aU1821 > aU183 > tt > AU522 > AU532 > AU542 > AU551 > U63
head1 > aU1811 > aU1821 > aU183 > tt > AU2442 > U63
head1 > aU1811 > aU1821 > aU183 > tt > AU2532 > AU2542 > AU2552 > U63
head1 > aU1811 > aU1821 > aU183 > tt > AU2022 > AU2032 > AU2042 > U63
head1 > aU1811 > aU1821 > aU183 > tt > aU172 > U1721 > U63
head1 > aU1811 > aU1821 > aU183 > tt > aU232 > U2321 > U63
head1 > aU1811 > aU1821 > aU183 > U183 > U63
head1 > aU1811 > aU1821 > U1821 > U63
head1 > aU1811 > U1811 > U63
splitAt2 > AU2512 > aisNaturalKind1 > aU2211 > U2211 > U63
splitAt2 > AU2512 > AU2522 > AU2532 > AU2542 > AU2552 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU1022 > AU1032 > AU1042 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU422 > AU432 > AU442 > AU451 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU522 > AU532 > AU542 > AU551 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU2442 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU2532 > AU2542 > AU2552 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > AU2022 > AU2032 > AU2042 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > aU172 > U1721 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > tt > aU232 > U2321 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > aU256 > U256 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > aU255 > U255 > U63
splitAt2 > aU251 > aU252 > aU253 > aU254 > U254 > U63
splitAt2 > aU251 > aU252 > aU253 > U253 > U63
splitAt2 > aU251 > aU252 > U252 > U63
splitAt2 > aU251 > U251 > U63
take2 > aisNaturalKind1 > aU2211 > U2211 > U63
take2 > AU1012 > AU1022 > AU1032 > AU1042 > U63
s1 > aU191 > U191 > U63
s1 > aU191 > aU192 > U192 > U63
s1 > aU191 > aU192 > aU193 > tt > AU1022 > AU1032 > AU1042 > U63
s1 > aU191 > aU192 > aU193 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
s1 > aU191 > aU192 > aU193 > tt > AU422 > AU432 > AU442 > AU451 > U63
s1 > aU191 > aU192 > aU193 > tt > AU522 > AU532 > AU542 > AU551 > U63
s1 > aU191 > aU192 > aU193 > tt > AU2442 > U63
s1 > aU191 > aU192 > aU193 > tt > AU2532 > AU2542 > AU2552 > U63
s1 > aU191 > aU192 > aU193 > tt > AU2022 > AU2032 > AU2042 > U63
s1 > aU191 > aU192 > aU193 > tt > aU172 > U1721 > U63
s1 > aU191 > aU192 > aU193 > tt > aU232 > U2321 > U63
s1 > aU191 > aU192 > aU193 > U193 > U63
sel2 > AU2012 > aisNaturalKind1 > aU2211 > U2211 > U63
sel2 > AU2012 > AU2022 > AU2032 > AU2042 > U63
sel2 > aU2012 > U2012 > U63
sel2 > aU2012 > aU2022 > U2022 > U63
sel2 > aU2012 > aU2022 > aU2032 > U203 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > U205 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > AU1022 > AU1032 > AU1042 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > AU422 > AU432 > AU442 > AU451 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > AU522 > AU532 > AU542 > AU551 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > AU2442 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > AU2532 > AU2542 > AU2552 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > AU2022 > AU2032 > AU2042 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > aU172 > U1721 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > tt > aU232 > U2321 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > aU205 > aU206 > U206 > U63
sel2 > aU2012 > aU2022 > aU2032 > aU2041 > U2041 > U63
sel2 > aU231 > aU232 > U2321 > U63
sel2 > aU231 > U2312 > U63
nil > U63
0 > tt > AU1022 > AU1032 > AU1042 > U63
0 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
0 > tt > AU422 > AU432 > AU442 > AU451 > U63
0 > tt > AU522 > AU532 > AU542 > AU551 > U63
0 > tt > AU2442 > U63
0 > tt > AU2532 > AU2542 > AU2552 > U63
0 > tt > AU2022 > AU2032 > AU2042 > U63
0 > tt > aU172 > U1721 > U63
0 > tt > aU232 > U2321 > U63
isPLNatKind1 > U63
aU211 > tt > AU1022 > AU1032 > AU1042 > U63
aU211 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aU211 > tt > AU422 > AU432 > AU442 > AU451 > U63
aU211 > tt > AU522 > AU532 > AU542 > AU551 > U63
aU211 > tt > AU2442 > U63
aU211 > tt > AU2532 > AU2542 > AU2552 > U63
aU211 > tt > AU2022 > AU2032 > AU2042 > U63
aU211 > tt > aU172 > U1721 > U63
aU211 > tt > aU232 > U2321 > U63
aU211 > U2111 > U63
U1611 > U63
aU122 > tt > AU1022 > AU1032 > AU1042 > U63
aU122 > tt > aisNaturalKind1 > aU2211 > U2211 > U63
aU122 > tt > AU422 > AU432 > AU442 > AU451 > U63
aU122 > tt > AU522 > AU532 > AU542 > AU551 > U63
aU122 > tt > AU2442 > U63
aU122 > tt > AU2532 > AU2542 > AU2552 > U63
aU122 > tt > AU2022 > AU2032 > AU2042 > U63
aU122 > tt > aU172 > U1721 > U63
aU122 > tt > aU232 > U2321 > U63
aU122 > U1221 > U63
aU112 > U1121 > U63
U1112 > U63
U121 > U63
U2712 > U63
U2721 > U63
U2621 > U63
U2612 > U63
isLNatKind > U63
isLNat > U63
isNaturalKind > U63

Status:
aU61: multiset
aU2012: multiset
AU2512: multiset
aU191: multiset
aU54: multiset
U92: multiset
U2041: multiset
U2022: multiset
take2: multiset
U203: multiset
aU41: multiset
U83: multiset
aU106: multiset
aU43: multiset
aU232: multiset
AU1811: multiset
AU2532: multiset
tt: multiset
AU2042: multiset
aU45: multiset
aU242: multiset
aU92: multiset
aU101: multiset
aisLNatKind: []
aU91: multiset
U81: multiset
aU211: multiset
U2721: multiset
nil: multiset
U2621: multiset
U51: multiset
isPLNat: multiset
afterNth2: multiset
aU46: multiset
U206: multiset
AU442: multiset
U1721: multiset
aU82: multiset
aU72: multiset
aU231: multiset
U1821: multiset
aU245: multiset
U254: multiset
aisPLNat: multiset
aU244: multiset
AU451: multiset
aU122: multiset
aU205: multiset
aU1821: multiset
U183: multiset
AU1022: multiset
aU172: multiset
U1311: multiset
aU71: multiset
U193: multiset
U255: multiset
AU2022: multiset
aU1711: multiset
AU412: multiset
U1221: multiset
AU1032: multiset
splitAt2: multiset
U54: multiset
isLNatKind: multiset
aU52: multiset
aU255: multiset
aU104: multiset
aU1511: multiset
aU192: multiset
U242: multiset
U2321: multiset
aU73: multiset
AU522: multiset
U63: multiset
aU81: multiset
U244: multiset
aU1811: multiset
aU42: multiset
U52: multiset
U1611: multiset
aU112: multiset
AU2522: multiset
U71: multiset
aU2022: multiset
aU105: multiset
U103: multiset
aU93: multiset
U1121: multiset
U2111: multiset
U1712: multiset
sel2: multiset
aU2041: multiset
aU206: multiset
isNaturalKind: multiset
U1511: multiset
U2012: multiset
U42: multiset
U55: multiset
aU183: multiset
aU62: multiset
isPLNatKind1: multiset
U192: multiset
aU256: multiset
AU2432: multiset
U121: multiset
aU246: multiset
AU422: multiset
AU2422: multiset
U41: multiset
pair2: multiset
AU2442: multiset
aU2211: multiset
AU2552: multiset
U1811: multiset
AU2012: multiset
aU252: multiset
U104: multiset
AU532: multiset
aU2032: multiset
aU254: multiset
U251: multiset
aU44: multiset
aU103: multiset
U243: multiset
U45: multiset
AU542: multiset
AU432: multiset
AU1042: multiset
AU2542: multiset
U56: multiset
U2612: multiset
U2312: multiset
U73: multiset
U44: multiset
aU243: multiset
aisNaturalKind1: multiset
U245: multiset
U246: multiset
U253: multiset
U2211: multiset
aU131: multiset
U61: multiset
U72: multiset
U82: multiset
AU2032: multiset
aU253: multiset
U205: multiset
aU102: multiset
s1: multiset
U43: multiset
AU1012: multiset
aU56: multiset
AU2412: multiset
U46: multiset
U256: multiset
U252: multiset
U106: multiset
U62: multiset
U91: multiset
head1: multiset
aU55: multiset
U53: multiset
U93: multiset
U2712: multiset
isLNat: multiset
AU551: multiset
0: multiset
U1112: multiset
U191: multiset
aU251: multiset
cons2: multiset
aU241: multiset
aU141: multiset
aU53: multiset
AU512: multiset
U102: multiset
aU193: multiset
aisLNat: multiset
U241: multiset
aU51: multiset
U101: multiset
U105: multiset
aU83: multiset

The following usable rules [FROCOS05] were oriented:

a__isLNat(natsFrom(V1)) → a__U71(a__isNaturalKind(V1), V1)
a__isLNat(fst(V1)) → a__U61(a__isPLNatKind(V1), V1)
a__isLNat(tail(V1)) → a__U91(a__isLNatKind(V1), V1)
a__isLNat(snd(V1)) → a__U81(a__isPLNatKind(V1), V1)
a__isLNat(take(V1, V2)) → a__U101(a__isNaturalKind(V1), V1, V2)
a__isNatural(0) → tt
a__isNatural(s(V1)) → a__U191(a__isNaturalKind(V1), V1)
a__isNatural(head(V1)) → a__U181(a__isLNatKind(V1), 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__U43(X1, X2, X3) → U43(X1, X2, X3)
a__U82(tt, V1) → a__U83(a__isPLNat(V1))
a__U42(X1, X2, X3) → U42(X1, X2, X3)
a__U83(tt) → tt
a__U41(X1, X2, X3) → U41(X1, X2, X3)
a__U91(tt, V1) → a__U92(a__isLNatKind(V1), V1)
a__U92(tt, V1) → a__U93(a__isLNat(V1))
a__U51(X1, X2, X3) → U51(X1, X2, X3)
a__U46(X) → U46(X)
a__U93(tt) → tt
a__U45(X1, X2) → U45(X1, X2)
a__U44(X1, X2, X3) → U44(X1, X2, X3)
a__U55(X1, X2) → U55(X1, X2)
a__U54(X1, X2, X3) → U54(X1, X2, X3)
a__isLNat(afterNth(V1, V2)) → a__U41(a__isNaturalKind(V1), V1, V2)
a__U53(X1, X2, X3) → U53(X1, X2, X3)
a__isLNat(cons(V1, V2)) → a__U51(a__isNaturalKind(V1), V1, V2)
a__U52(X1, X2, X3) → U52(X1, X2, X3)
a__U56(X) → U56(X)
a__U61(X1, X2) → U61(X1, X2)
a__U62(X1, X2) → U62(X1, X2)
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__isNatural(sel(V1, V2)) → a__U201(a__isNaturalKind(V1), V1, V2)
a__isPLNat(splitAt(V1, V2)) → a__U251(a__isNaturalKind(V1), V1, V2)
a__isPLNat(pair(V1, V2)) → a__U241(a__isLNatKind(V1), V1, V2)
a__U205(X1, X2) → U205(X1, X2)
a__U206(X) → U206(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__U183(X) → U183(X)
a__U191(X1, X2) → U191(X1, X2)
a__U192(X1, X2) → U192(X1, X2)
a__U193(X) → U193(X)
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__U182(X1, X2) → U182(X1, X2)
a__U53(tt, V1, V2) → a__U54(a__isLNatKind(V2), V1, V2)
a__U181(X1, X2) → U181(X1, X2)
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__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__U253(tt, V1, V2) → a__U254(a__isLNatKind(V2), V1, V2)
a__U252(tt, V1, V2) → a__U253(a__isLNatKind(V2), V1, V2)
a__U251(tt, V1, V2) → a__U252(a__isNaturalKind(V1), V1, V2)
a__U246(tt) → tt
a__U256(tt) → tt
a__U255(tt, V2) → a__U256(a__isLNat(V2))
a__U254(tt, V1, V2) → a__U255(a__isNatural(V1), V2)
a__U241(tt, V1, V2) → a__U242(a__isLNatKind(V1), V1, V2)
a__U245(tt, V2) → a__U246(a__isLNat(V2))
a__U244(tt, V1, V2) → a__U245(a__isLNat(V1), V2)
a__U243(tt, V1, V2) → a__U244(a__isLNatKind(V2), V1, V2)
a__U242(tt, V1, V2) → a__U243(a__isLNatKind(V2), V1, V2)
a__U256(X) → U256(X)
a__U255(X1, X2) → U255(X1, X2)
a__U254(X1, X2, X3) → U254(X1, X2, X3)
a__U253(X1, X2, X3) → U253(X1, X2, X3)
a__U252(X1, X2, X3) → U252(X1, X2, X3)
a__U251(X1, X2, X3) → U251(X1, X2, X3)
a__U246(X) → U246(X)
a__U245(X1, X2) → U245(X1, X2)
a__U244(X1, X2, X3) → U244(X1, X2, X3)
a__U243(X1, X2, X3) → U243(X1, X2, X3)
a__U242(X1, X2, X3) → U242(X1, X2, X3)
a__U241(X1, X2, X3) → U241(X1, X2, X3)
a__U181(tt, V1) → a__U182(a__isLNatKind(V1), V1)
a__U106(tt) → tt
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__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__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__U105(X1, X2) → U105(X1, X2)
a__isNatural(X) → isNatural(X)
a__U104(X1, X2, X3) → U104(X1, X2, X3)
a__U106(X) → U106(X)
a__U103(X1, X2, X3) → U103(X1, X2, X3)
a__U101(X1, X2, X3) → U101(X1, X2, X3)
a__U102(X1, X2, X3) → U102(X1, X2, X3)
a__U104(tt, V1, V2) → a__U105(a__isNatural(V1), V2)
a__U105(tt, V2) → a__U106(a__isLNat(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__U101(tt, V1, V2) → a__U102(a__isNaturalKind(V1), V1, V2)

(14) Obligation:

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

A__U105(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__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__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__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__U191(tt, V1) → A__U192(a__isNaturalKind(V1), V1)
A__U192(tt, V1) → A__ISNATURAL(V1)
A__U205(tt, V2) → A__ISLNAT(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.

(15) DependencyGraphProof (EQUIVALENT transformation)

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

(16) Obligation:

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

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)

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) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


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

Recursive path order with status [RPO].
Precedence:
tail1 > AU911 > aisLNatKind > tt > aisPLNatKind1
tail1 > AU911 > aisLNatKind > aU151 > U1511 > aisPLNatKind1
tail1 > AU911 > aisLNatKind > aU1212 > aisPLNatKind1
aU211 > tt > aisPLNatKind1
aU211 > U211 > aisPLNatKind1
U2211 > aisPLNatKind1
U1721 > aisPLNatKind1
U1712 > aisPLNatKind1
U1411 > aisPLNatKind1
aU1611 > tt > aisPLNatKind1
aU1611 > U161 > aisPLNatKind1
U1221 > aisPLNatKind1
aU131 > tt > aisPLNatKind1
aU131 > U1311 > aisPLNatKind1
U1121 > aisPLNatKind1
aU1112 > aisLNatKind > tt > aisPLNatKind1
aU1112 > aisLNatKind > aU151 > U1511 > aisPLNatKind1
aU1112 > aisLNatKind > aU1212 > aisPLNatKind1
aU1112 > aU112 > tt > aisPLNatKind1
U1112 > aisPLNatKind1
U1211 > aisPLNatKind1
aU262 > tt > aisPLNatKind1
aU262 > U2621 > aisPLNatKind1
aU2321 > tt > aisPLNatKind1
aU271 > aisPLNatKind1
U2712 > aisPLNatKind1
aU272 > tt > aisPLNatKind1
U2612 > aisPLNatKind1
U232 > aisPLNatKind1
U2312 > aisPLNatKind1
nil > aisPLNatKind1
cons1 > aU1212 > aisPLNatKind1
aisNaturalKind1 > aisLNatKind > tt > aisPLNatKind1
aisNaturalKind1 > aisLNatKind > aU151 > U1511 > aisPLNatKind1
aisNaturalKind1 > aisLNatKind > aU1212 > aisPLNatKind1
aisNaturalKind1 > isNaturalKind > aisPLNatKind1
natsFrom1 > aisPLNatKind1
fst > aisPLNatKind1
snd > aisPLNatKind1
take2 > aisPLNatKind1
isLNatKind > aisPLNatKind1
isPLNatKind > aisPLNatKind1
head > aisPLNatKind1
s1 > aisPLNatKind1
0 > aisPLNatKind1
pair1 > aisPLNatKind1

Status:
aU1611: multiset
isNaturalKind: multiset
U1511: multiset
U2612: multiset
U2312: multiset
U211: multiset
aU272: multiset
aisNaturalKind1: multiset
U1221: multiset
take2: multiset
isLNatKind: multiset
pair1: multiset
U2211: multiset
aU262: multiset
aU131: multiset
tt: multiset
U1411: multiset
aU1212: multiset
aU271: multiset
head: multiset
aisLNatKind: multiset
s1: multiset
U161: multiset
aU211: multiset
isPLNatKind: multiset
nil: multiset
natsFrom1: multiset
U2621: multiset
tail1: multiset
aU1112: multiset
cons1: multiset
aU151: multiset
U1721: multiset
U1211: multiset
U232: multiset
U2712: multiset
aU112: multiset
fst: multiset
aisPLNatKind1: multiset
U1112: multiset
0: multiset
snd: multiset
AU911: multiset
U1121: multiset
U1712: multiset
aU2321: multiset
U1311: multiset

The following usable rules [FROCOS05] were oriented: none

(18) Obligation:

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

A__U92(tt, V1) → A__ISLNAT(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) DependencyGraphProof (EQUIVALENT transformation)

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

(20) TRUE

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