(0) Obligation:

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

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

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:

ACTIVE(U101(tt, V1, V2)) → U1021(isNaturalKind(V1), V1, V2)
ACTIVE(U101(tt, V1, V2)) → ISNATURALKIND(V1)
ACTIVE(U102(tt, V1, V2)) → U1031(isLNatKind(V2), V1, V2)
ACTIVE(U102(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U103(tt, V1, V2)) → U1041(isLNatKind(V2), V1, V2)
ACTIVE(U103(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U104(tt, V1, V2)) → U1051(isNatural(V1), V2)
ACTIVE(U104(tt, V1, V2)) → ISNATURAL(V1)
ACTIVE(U105(tt, V2)) → U1061(isLNat(V2))
ACTIVE(U105(tt, V2)) → ISLNAT(V2)
ACTIVE(U11(tt, N, XS)) → U121(isNaturalKind(N), N, XS)
ACTIVE(U11(tt, N, XS)) → ISNATURALKIND(N)
ACTIVE(U111(tt, V2)) → U1121(isLNatKind(V2))
ACTIVE(U111(tt, V2)) → ISLNATKIND(V2)
ACTIVE(U12(tt, N, XS)) → U131(isLNat(XS), N, XS)
ACTIVE(U12(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U121(tt, V2)) → U1221(isLNatKind(V2))
ACTIVE(U121(tt, V2)) → ISLNATKIND(V2)
ACTIVE(U13(tt, N, XS)) → U141(isLNatKind(XS), N, XS)
ACTIVE(U13(tt, N, XS)) → ISLNATKIND(XS)
ACTIVE(U14(tt, N, XS)) → SND(splitAt(N, XS))
ACTIVE(U14(tt, N, XS)) → SPLITAT(N, XS)
ACTIVE(U171(tt, V2)) → U1721(isLNatKind(V2))
ACTIVE(U171(tt, V2)) → ISLNATKIND(V2)
ACTIVE(U181(tt, V1)) → U1821(isLNatKind(V1), V1)
ACTIVE(U181(tt, V1)) → ISLNATKIND(V1)
ACTIVE(U182(tt, V1)) → U1831(isLNat(V1))
ACTIVE(U182(tt, V1)) → ISLNAT(V1)
ACTIVE(U191(tt, V1)) → U1921(isNaturalKind(V1), V1)
ACTIVE(U191(tt, V1)) → ISNATURALKIND(V1)
ACTIVE(U192(tt, V1)) → U1931(isNatural(V1))
ACTIVE(U192(tt, V1)) → ISNATURAL(V1)
ACTIVE(U201(tt, V1, V2)) → U2021(isNaturalKind(V1), V1, V2)
ACTIVE(U201(tt, V1, V2)) → ISNATURALKIND(V1)
ACTIVE(U202(tt, V1, V2)) → U2031(isLNatKind(V2), V1, V2)
ACTIVE(U202(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U203(tt, V1, V2)) → U2041(isLNatKind(V2), V1, V2)
ACTIVE(U203(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U204(tt, V1, V2)) → U2051(isNatural(V1), V2)
ACTIVE(U204(tt, V1, V2)) → ISNATURAL(V1)
ACTIVE(U205(tt, V2)) → U2061(isLNat(V2))
ACTIVE(U205(tt, V2)) → ISLNAT(V2)
ACTIVE(U21(tt, X, Y)) → U221(isLNatKind(X), X, Y)
ACTIVE(U21(tt, X, Y)) → ISLNATKIND(X)
ACTIVE(U22(tt, X, Y)) → U231(isLNat(Y), X, Y)
ACTIVE(U22(tt, X, Y)) → ISLNAT(Y)
ACTIVE(U23(tt, X, Y)) → U241(isLNatKind(Y), X)
ACTIVE(U23(tt, X, Y)) → ISLNATKIND(Y)
ACTIVE(U231(tt, V2)) → U2321(isLNatKind(V2))
ACTIVE(U231(tt, V2)) → ISLNATKIND(V2)
ACTIVE(U241(tt, V1, V2)) → U2421(isLNatKind(V1), V1, V2)
ACTIVE(U241(tt, V1, V2)) → ISLNATKIND(V1)
ACTIVE(U242(tt, V1, V2)) → U2431(isLNatKind(V2), V1, V2)
ACTIVE(U242(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U243(tt, V1, V2)) → U2441(isLNatKind(V2), V1, V2)
ACTIVE(U243(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U244(tt, V1, V2)) → U2451(isLNat(V1), V2)
ACTIVE(U244(tt, V1, V2)) → ISLNAT(V1)
ACTIVE(U245(tt, V2)) → U2461(isLNat(V2))
ACTIVE(U245(tt, V2)) → ISLNAT(V2)
ACTIVE(U251(tt, V1, V2)) → U2521(isNaturalKind(V1), V1, V2)
ACTIVE(U251(tt, V1, V2)) → ISNATURALKIND(V1)
ACTIVE(U252(tt, V1, V2)) → U2531(isLNatKind(V2), V1, V2)
ACTIVE(U252(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U253(tt, V1, V2)) → U2541(isLNatKind(V2), V1, V2)
ACTIVE(U253(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U254(tt, V1, V2)) → U2551(isNatural(V1), V2)
ACTIVE(U254(tt, V1, V2)) → ISNATURAL(V1)
ACTIVE(U255(tt, V2)) → U2561(isLNat(V2))
ACTIVE(U255(tt, V2)) → ISLNAT(V2)
ACTIVE(U261(tt, V2)) → U2621(isLNatKind(V2))
ACTIVE(U261(tt, V2)) → ISLNATKIND(V2)
ACTIVE(U271(tt, V2)) → U2721(isLNatKind(V2))
ACTIVE(U271(tt, V2)) → ISLNATKIND(V2)
ACTIVE(U281(tt, N)) → U2821(isNaturalKind(N), N)
ACTIVE(U281(tt, N)) → ISNATURALKIND(N)
ACTIVE(U282(tt, N)) → CONS(N, natsFrom(s(N)))
ACTIVE(U282(tt, N)) → NATSFROM(s(N))
ACTIVE(U282(tt, N)) → S(N)
ACTIVE(U291(tt, N, XS)) → U2921(isNaturalKind(N), N, XS)
ACTIVE(U291(tt, N, XS)) → ISNATURALKIND(N)
ACTIVE(U292(tt, N, XS)) → U2931(isLNat(XS), N, XS)
ACTIVE(U292(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U293(tt, N, XS)) → U2941(isLNatKind(XS), N, XS)
ACTIVE(U293(tt, N, XS)) → ISLNATKIND(XS)
ACTIVE(U294(tt, N, XS)) → HEAD(afterNth(N, XS))
ACTIVE(U294(tt, N, XS)) → AFTERNTH(N, XS)
ACTIVE(U301(tt, X, Y)) → U3021(isLNatKind(X), Y)
ACTIVE(U301(tt, X, Y)) → ISLNATKIND(X)
ACTIVE(U302(tt, Y)) → U3031(isLNat(Y), Y)
ACTIVE(U302(tt, Y)) → ISLNAT(Y)
ACTIVE(U303(tt, Y)) → U3041(isLNatKind(Y), Y)
ACTIVE(U303(tt, Y)) → ISLNATKIND(Y)
ACTIVE(U31(tt, N, XS)) → U321(isNaturalKind(N), N, XS)
ACTIVE(U31(tt, N, XS)) → ISNATURALKIND(N)
ACTIVE(U311(tt, XS)) → U3121(isLNatKind(XS), XS)
ACTIVE(U311(tt, XS)) → ISLNATKIND(XS)
ACTIVE(U312(tt, XS)) → PAIR(nil, XS)
ACTIVE(U32(tt, N, XS)) → U331(isLNat(XS), N, XS)
ACTIVE(U32(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U321(tt, N, X, XS)) → U3221(isNaturalKind(N), N, X, XS)
ACTIVE(U321(tt, N, X, XS)) → ISNATURALKIND(N)
ACTIVE(U322(tt, N, X, XS)) → U3231(isNatural(X), N, X, XS)
ACTIVE(U322(tt, N, X, XS)) → ISNATURAL(X)
ACTIVE(U323(tt, N, X, XS)) → U3241(isNaturalKind(X), N, X, XS)
ACTIVE(U323(tt, N, X, XS)) → ISNATURALKIND(X)
ACTIVE(U324(tt, N, X, XS)) → U3251(isLNat(XS), N, X, XS)
ACTIVE(U324(tt, N, X, XS)) → ISLNAT(XS)
ACTIVE(U325(tt, N, X, XS)) → U3261(isLNatKind(XS), N, X, XS)
ACTIVE(U325(tt, N, X, XS)) → ISLNATKIND(XS)
ACTIVE(U326(tt, N, X, XS)) → U3271(splitAt(N, XS), X)
ACTIVE(U326(tt, N, X, XS)) → SPLITAT(N, XS)
ACTIVE(U327(pair(YS, ZS), X)) → PAIR(cons(X, YS), ZS)
ACTIVE(U327(pair(YS, ZS), X)) → CONS(X, YS)
ACTIVE(U33(tt, N, XS)) → U341(isLNatKind(XS), N)
ACTIVE(U33(tt, N, XS)) → ISLNATKIND(XS)
ACTIVE(U331(tt, N, XS)) → U3321(isNaturalKind(N), XS)
ACTIVE(U331(tt, N, XS)) → ISNATURALKIND(N)
ACTIVE(U332(tt, XS)) → U3331(isLNat(XS), XS)
ACTIVE(U332(tt, XS)) → ISLNAT(XS)
ACTIVE(U333(tt, XS)) → U3341(isLNatKind(XS), XS)
ACTIVE(U333(tt, XS)) → ISLNATKIND(XS)
ACTIVE(U341(tt, N, XS)) → U3421(isNaturalKind(N), N, XS)
ACTIVE(U341(tt, N, XS)) → ISNATURALKIND(N)
ACTIVE(U342(tt, N, XS)) → U3431(isLNat(XS), N, XS)
ACTIVE(U342(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U343(tt, N, XS)) → U3441(isLNatKind(XS), N, XS)
ACTIVE(U343(tt, N, XS)) → ISLNATKIND(XS)
ACTIVE(U344(tt, N, XS)) → FST(splitAt(N, XS))
ACTIVE(U344(tt, N, XS)) → SPLITAT(N, XS)
ACTIVE(U41(tt, V1, V2)) → U421(isNaturalKind(V1), V1, V2)
ACTIVE(U41(tt, V1, V2)) → ISNATURALKIND(V1)
ACTIVE(U42(tt, V1, V2)) → U431(isLNatKind(V2), V1, V2)
ACTIVE(U42(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U43(tt, V1, V2)) → U441(isLNatKind(V2), V1, V2)
ACTIVE(U43(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U44(tt, V1, V2)) → U451(isNatural(V1), V2)
ACTIVE(U44(tt, V1, V2)) → ISNATURAL(V1)
ACTIVE(U45(tt, V2)) → U461(isLNat(V2))
ACTIVE(U45(tt, V2)) → ISLNAT(V2)
ACTIVE(U51(tt, V1, V2)) → U521(isNaturalKind(V1), V1, V2)
ACTIVE(U51(tt, V1, V2)) → ISNATURALKIND(V1)
ACTIVE(U52(tt, V1, V2)) → U531(isLNatKind(V2), V1, V2)
ACTIVE(U52(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U53(tt, V1, V2)) → U541(isLNatKind(V2), V1, V2)
ACTIVE(U53(tt, V1, V2)) → ISLNATKIND(V2)
ACTIVE(U54(tt, V1, V2)) → U551(isNatural(V1), V2)
ACTIVE(U54(tt, V1, V2)) → ISNATURAL(V1)
ACTIVE(U55(tt, V2)) → U561(isLNat(V2))
ACTIVE(U55(tt, V2)) → ISLNAT(V2)
ACTIVE(U61(tt, V1)) → U621(isPLNatKind(V1), V1)
ACTIVE(U61(tt, V1)) → ISPLNATKIND(V1)
ACTIVE(U62(tt, V1)) → U631(isPLNat(V1))
ACTIVE(U62(tt, V1)) → ISPLNAT(V1)
ACTIVE(U71(tt, V1)) → U721(isNaturalKind(V1), V1)
ACTIVE(U71(tt, V1)) → ISNATURALKIND(V1)
ACTIVE(U72(tt, V1)) → U731(isNatural(V1))
ACTIVE(U72(tt, V1)) → ISNATURAL(V1)
ACTIVE(U81(tt, V1)) → U821(isPLNatKind(V1), V1)
ACTIVE(U81(tt, V1)) → ISPLNATKIND(V1)
ACTIVE(U82(tt, V1)) → U831(isPLNat(V1))
ACTIVE(U82(tt, V1)) → ISPLNAT(V1)
ACTIVE(U91(tt, V1)) → U921(isLNatKind(V1), V1)
ACTIVE(U91(tt, V1)) → ISLNATKIND(V1)
ACTIVE(U92(tt, V1)) → U931(isLNat(V1))
ACTIVE(U92(tt, V1)) → ISLNAT(V1)
ACTIVE(afterNth(N, XS)) → U111(isNatural(N), N, XS)
ACTIVE(afterNth(N, XS)) → ISNATURAL(N)
ACTIVE(fst(pair(X, Y))) → U211(isLNat(X), X, Y)
ACTIVE(fst(pair(X, Y))) → ISLNAT(X)
ACTIVE(head(cons(N, XS))) → U311(isNatural(N), N, XS)
ACTIVE(head(cons(N, XS))) → ISNATURAL(N)
ACTIVE(isLNat(afterNth(V1, V2))) → U411(isNaturalKind(V1), V1, V2)
ACTIVE(isLNat(afterNth(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isLNat(cons(V1, V2))) → U511(isNaturalKind(V1), V1, V2)
ACTIVE(isLNat(cons(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isLNat(fst(V1))) → U611(isPLNatKind(V1), V1)
ACTIVE(isLNat(fst(V1))) → ISPLNATKIND(V1)
ACTIVE(isLNat(natsFrom(V1))) → U711(isNaturalKind(V1), V1)
ACTIVE(isLNat(natsFrom(V1))) → ISNATURALKIND(V1)
ACTIVE(isLNat(snd(V1))) → U811(isPLNatKind(V1), V1)
ACTIVE(isLNat(snd(V1))) → ISPLNATKIND(V1)
ACTIVE(isLNat(tail(V1))) → U911(isLNatKind(V1), V1)
ACTIVE(isLNat(tail(V1))) → ISLNATKIND(V1)
ACTIVE(isLNat(take(V1, V2))) → U1011(isNaturalKind(V1), V1, V2)
ACTIVE(isLNat(take(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isLNatKind(afterNth(V1, V2))) → U1111(isNaturalKind(V1), V2)
ACTIVE(isLNatKind(afterNth(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isLNatKind(cons(V1, V2))) → U1211(isNaturalKind(V1), V2)
ACTIVE(isLNatKind(cons(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isLNatKind(fst(V1))) → U1311(isPLNatKind(V1))
ACTIVE(isLNatKind(fst(V1))) → ISPLNATKIND(V1)
ACTIVE(isLNatKind(natsFrom(V1))) → U1411(isNaturalKind(V1))
ACTIVE(isLNatKind(natsFrom(V1))) → ISNATURALKIND(V1)
ACTIVE(isLNatKind(snd(V1))) → U1511(isPLNatKind(V1))
ACTIVE(isLNatKind(snd(V1))) → ISPLNATKIND(V1)
ACTIVE(isLNatKind(tail(V1))) → U1611(isLNatKind(V1))
ACTIVE(isLNatKind(tail(V1))) → ISLNATKIND(V1)
ACTIVE(isLNatKind(take(V1, V2))) → U1711(isNaturalKind(V1), V2)
ACTIVE(isLNatKind(take(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isNatural(head(V1))) → U1811(isLNatKind(V1), V1)
ACTIVE(isNatural(head(V1))) → ISLNATKIND(V1)
ACTIVE(isNatural(s(V1))) → U1911(isNaturalKind(V1), V1)
ACTIVE(isNatural(s(V1))) → ISNATURALKIND(V1)
ACTIVE(isNatural(sel(V1, V2))) → U2011(isNaturalKind(V1), V1, V2)
ACTIVE(isNatural(sel(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isNaturalKind(head(V1))) → U2111(isLNatKind(V1))
ACTIVE(isNaturalKind(head(V1))) → ISLNATKIND(V1)
ACTIVE(isNaturalKind(s(V1))) → U2211(isNaturalKind(V1))
ACTIVE(isNaturalKind(s(V1))) → ISNATURALKIND(V1)
ACTIVE(isNaturalKind(sel(V1, V2))) → U2311(isNaturalKind(V1), V2)
ACTIVE(isNaturalKind(sel(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isPLNat(pair(V1, V2))) → U2411(isLNatKind(V1), V1, V2)
ACTIVE(isPLNat(pair(V1, V2))) → ISLNATKIND(V1)
ACTIVE(isPLNat(splitAt(V1, V2))) → U2511(isNaturalKind(V1), V1, V2)
ACTIVE(isPLNat(splitAt(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(isPLNatKind(pair(V1, V2))) → U2611(isLNatKind(V1), V2)
ACTIVE(isPLNatKind(pair(V1, V2))) → ISLNATKIND(V1)
ACTIVE(isPLNatKind(splitAt(V1, V2))) → U2711(isNaturalKind(V1), V2)
ACTIVE(isPLNatKind(splitAt(V1, V2))) → ISNATURALKIND(V1)
ACTIVE(natsFrom(N)) → U2811(isNatural(N), N)
ACTIVE(natsFrom(N)) → ISNATURAL(N)
ACTIVE(sel(N, XS)) → U2911(isNatural(N), N, XS)
ACTIVE(sel(N, XS)) → ISNATURAL(N)
ACTIVE(snd(pair(X, Y))) → U3011(isLNat(X), X, Y)
ACTIVE(snd(pair(X, Y))) → ISLNAT(X)
ACTIVE(splitAt(0, XS)) → U3111(isLNat(XS), XS)
ACTIVE(splitAt(0, XS)) → ISLNAT(XS)
ACTIVE(splitAt(s(N), cons(X, XS))) → U3211(isNatural(N), N, X, XS)
ACTIVE(splitAt(s(N), cons(X, XS))) → ISNATURAL(N)
ACTIVE(tail(cons(N, XS))) → U3311(isNatural(N), N, XS)
ACTIVE(tail(cons(N, XS))) → ISNATURAL(N)
ACTIVE(take(N, XS)) → U3411(isNatural(N), N, XS)
ACTIVE(take(N, XS)) → ISNATURAL(N)
ACTIVE(U101(X1, X2, X3)) → U1011(active(X1), X2, X3)
ACTIVE(U101(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U102(X1, X2, X3)) → U1021(active(X1), X2, X3)
ACTIVE(U102(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U103(X1, X2, X3)) → U1031(active(X1), X2, X3)
ACTIVE(U103(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U104(X1, X2, X3)) → U1041(active(X1), X2, X3)
ACTIVE(U104(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U105(X1, X2)) → U1051(active(X1), X2)
ACTIVE(U105(X1, X2)) → ACTIVE(X1)
ACTIVE(U106(X)) → U1061(active(X))
ACTIVE(U106(X)) → ACTIVE(X)
ACTIVE(U11(X1, X2, X3)) → U111(active(X1), X2, X3)
ACTIVE(U11(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U12(X1, X2, X3)) → U121(active(X1), X2, X3)
ACTIVE(U12(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U111(X1, X2)) → U1111(active(X1), X2)
ACTIVE(U111(X1, X2)) → ACTIVE(X1)
ACTIVE(U112(X)) → U1121(active(X))
ACTIVE(U112(X)) → ACTIVE(X)
ACTIVE(U13(X1, X2, X3)) → U131(active(X1), X2, X3)
ACTIVE(U13(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U121(X1, X2)) → U1211(active(X1), X2)
ACTIVE(U121(X1, X2)) → ACTIVE(X1)
ACTIVE(U122(X)) → U1221(active(X))
ACTIVE(U122(X)) → ACTIVE(X)
ACTIVE(U14(X1, X2, X3)) → U141(active(X1), X2, X3)
ACTIVE(U14(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U131(X)) → U1311(active(X))
ACTIVE(U131(X)) → ACTIVE(X)
ACTIVE(snd(X)) → SND(active(X))
ACTIVE(snd(X)) → ACTIVE(X)
ACTIVE(splitAt(X1, X2)) → SPLITAT(active(X1), X2)
ACTIVE(splitAt(X1, X2)) → ACTIVE(X1)
ACTIVE(splitAt(X1, X2)) → SPLITAT(X1, active(X2))
ACTIVE(splitAt(X1, X2)) → ACTIVE(X2)
ACTIVE(U141(X)) → U1411(active(X))
ACTIVE(U141(X)) → ACTIVE(X)
ACTIVE(U151(X)) → U1511(active(X))
ACTIVE(U151(X)) → ACTIVE(X)
ACTIVE(U161(X)) → U1611(active(X))
ACTIVE(U161(X)) → ACTIVE(X)
ACTIVE(U171(X1, X2)) → U1711(active(X1), X2)
ACTIVE(U171(X1, X2)) → ACTIVE(X1)
ACTIVE(U172(X)) → U1721(active(X))
ACTIVE(U172(X)) → ACTIVE(X)
ACTIVE(U181(X1, X2)) → U1811(active(X1), X2)
ACTIVE(U181(X1, X2)) → ACTIVE(X1)
ACTIVE(U182(X1, X2)) → U1821(active(X1), X2)
ACTIVE(U182(X1, X2)) → ACTIVE(X1)
ACTIVE(U183(X)) → U1831(active(X))
ACTIVE(U183(X)) → ACTIVE(X)
ACTIVE(U191(X1, X2)) → U1911(active(X1), X2)
ACTIVE(U191(X1, X2)) → ACTIVE(X1)
ACTIVE(U192(X1, X2)) → U1921(active(X1), X2)
ACTIVE(U192(X1, X2)) → ACTIVE(X1)
ACTIVE(U193(X)) → U1931(active(X))
ACTIVE(U193(X)) → ACTIVE(X)
ACTIVE(U201(X1, X2, X3)) → U2011(active(X1), X2, X3)
ACTIVE(U201(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U202(X1, X2, X3)) → U2021(active(X1), X2, X3)
ACTIVE(U202(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U203(X1, X2, X3)) → U2031(active(X1), X2, X3)
ACTIVE(U203(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U204(X1, X2, X3)) → U2041(active(X1), X2, X3)
ACTIVE(U204(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U205(X1, X2)) → U2051(active(X1), X2)
ACTIVE(U205(X1, X2)) → ACTIVE(X1)
ACTIVE(U206(X)) → U2061(active(X))
ACTIVE(U206(X)) → ACTIVE(X)
ACTIVE(U21(X1, X2, X3)) → U211(active(X1), X2, X3)
ACTIVE(U21(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U22(X1, X2, X3)) → U221(active(X1), X2, X3)
ACTIVE(U22(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U211(X)) → U2111(active(X))
ACTIVE(U211(X)) → ACTIVE(X)
ACTIVE(U23(X1, X2, X3)) → U231(active(X1), X2, X3)
ACTIVE(U23(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U221(X)) → U2211(active(X))
ACTIVE(U221(X)) → ACTIVE(X)
ACTIVE(U24(X1, X2)) → U241(active(X1), X2)
ACTIVE(U24(X1, X2)) → ACTIVE(X1)
ACTIVE(U231(X1, X2)) → U2311(active(X1), X2)
ACTIVE(U231(X1, X2)) → ACTIVE(X1)
ACTIVE(U232(X)) → U2321(active(X))
ACTIVE(U232(X)) → ACTIVE(X)
ACTIVE(U241(X1, X2, X3)) → U2411(active(X1), X2, X3)
ACTIVE(U241(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U242(X1, X2, X3)) → U2421(active(X1), X2, X3)
ACTIVE(U242(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U243(X1, X2, X3)) → U2431(active(X1), X2, X3)
ACTIVE(U243(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U244(X1, X2, X3)) → U2441(active(X1), X2, X3)
ACTIVE(U244(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U245(X1, X2)) → U2451(active(X1), X2)
ACTIVE(U245(X1, X2)) → ACTIVE(X1)
ACTIVE(U246(X)) → U2461(active(X))
ACTIVE(U246(X)) → ACTIVE(X)
ACTIVE(U251(X1, X2, X3)) → U2511(active(X1), X2, X3)
ACTIVE(U251(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U252(X1, X2, X3)) → U2521(active(X1), X2, X3)
ACTIVE(U252(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U253(X1, X2, X3)) → U2531(active(X1), X2, X3)
ACTIVE(U253(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U254(X1, X2, X3)) → U2541(active(X1), X2, X3)
ACTIVE(U254(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U255(X1, X2)) → U2551(active(X1), X2)
ACTIVE(U255(X1, X2)) → ACTIVE(X1)
ACTIVE(U256(X)) → U2561(active(X))
ACTIVE(U256(X)) → ACTIVE(X)
ACTIVE(U261(X1, X2)) → U2611(active(X1), X2)
ACTIVE(U261(X1, X2)) → ACTIVE(X1)
ACTIVE(U262(X)) → U2621(active(X))
ACTIVE(U262(X)) → ACTIVE(X)
ACTIVE(U271(X1, X2)) → U2711(active(X1), X2)
ACTIVE(U271(X1, X2)) → ACTIVE(X1)
ACTIVE(U272(X)) → U2721(active(X))
ACTIVE(U272(X)) → ACTIVE(X)
ACTIVE(U281(X1, X2)) → U2811(active(X1), X2)
ACTIVE(U281(X1, X2)) → ACTIVE(X1)
ACTIVE(U282(X1, X2)) → U2821(active(X1), X2)
ACTIVE(U282(X1, X2)) → ACTIVE(X1)
ACTIVE(cons(X1, X2)) → CONS(active(X1), X2)
ACTIVE(cons(X1, X2)) → ACTIVE(X1)
ACTIVE(natsFrom(X)) → NATSFROM(active(X))
ACTIVE(natsFrom(X)) → ACTIVE(X)
ACTIVE(s(X)) → S(active(X))
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE(U291(X1, X2, X3)) → U2911(active(X1), X2, X3)
ACTIVE(U291(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U292(X1, X2, X3)) → U2921(active(X1), X2, X3)
ACTIVE(U292(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U293(X1, X2, X3)) → U2931(active(X1), X2, X3)
ACTIVE(U293(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U294(X1, X2, X3)) → U2941(active(X1), X2, X3)
ACTIVE(U294(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(head(X)) → HEAD(active(X))
ACTIVE(head(X)) → ACTIVE(X)
ACTIVE(afterNth(X1, X2)) → AFTERNTH(active(X1), X2)
ACTIVE(afterNth(X1, X2)) → ACTIVE(X1)
ACTIVE(afterNth(X1, X2)) → AFTERNTH(X1, active(X2))
ACTIVE(afterNth(X1, X2)) → ACTIVE(X2)
ACTIVE(U301(X1, X2, X3)) → U3011(active(X1), X2, X3)
ACTIVE(U301(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U302(X1, X2)) → U3021(active(X1), X2)
ACTIVE(U302(X1, X2)) → ACTIVE(X1)
ACTIVE(U303(X1, X2)) → U3031(active(X1), X2)
ACTIVE(U303(X1, X2)) → ACTIVE(X1)
ACTIVE(U304(X1, X2)) → U3041(active(X1), X2)
ACTIVE(U304(X1, X2)) → ACTIVE(X1)
ACTIVE(U31(X1, X2, X3)) → U311(active(X1), X2, X3)
ACTIVE(U31(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2, X3)) → U321(active(X1), X2, X3)
ACTIVE(U32(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U311(X1, X2)) → U3111(active(X1), X2)
ACTIVE(U311(X1, X2)) → ACTIVE(X1)
ACTIVE(U312(X1, X2)) → U3121(active(X1), X2)
ACTIVE(U312(X1, X2)) → ACTIVE(X1)
ACTIVE(pair(X1, X2)) → PAIR(active(X1), X2)
ACTIVE(pair(X1, X2)) → ACTIVE(X1)
ACTIVE(pair(X1, X2)) → PAIR(X1, active(X2))
ACTIVE(pair(X1, X2)) → ACTIVE(X2)
ACTIVE(U33(X1, X2, X3)) → U331(active(X1), X2, X3)
ACTIVE(U33(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U321(X1, X2, X3, X4)) → U3211(active(X1), X2, X3, X4)
ACTIVE(U321(X1, X2, X3, X4)) → ACTIVE(X1)
ACTIVE(U322(X1, X2, X3, X4)) → U3221(active(X1), X2, X3, X4)
ACTIVE(U322(X1, X2, X3, X4)) → ACTIVE(X1)
ACTIVE(U323(X1, X2, X3, X4)) → U3231(active(X1), X2, X3, X4)
ACTIVE(U323(X1, X2, X3, X4)) → ACTIVE(X1)
ACTIVE(U324(X1, X2, X3, X4)) → U3241(active(X1), X2, X3, X4)
ACTIVE(U324(X1, X2, X3, X4)) → ACTIVE(X1)
ACTIVE(U325(X1, X2, X3, X4)) → U3251(active(X1), X2, X3, X4)
ACTIVE(U325(X1, X2, X3, X4)) → ACTIVE(X1)
ACTIVE(U326(X1, X2, X3, X4)) → U3261(active(X1), X2, X3, X4)
ACTIVE(U326(X1, X2, X3, X4)) → ACTIVE(X1)
ACTIVE(U327(X1, X2)) → U3271(active(X1), X2)
ACTIVE(U327(X1, X2)) → ACTIVE(X1)
ACTIVE(U34(X1, X2)) → U341(active(X1), X2)
ACTIVE(U34(X1, X2)) → ACTIVE(X1)
ACTIVE(U331(X1, X2, X3)) → U3311(active(X1), X2, X3)
ACTIVE(U331(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U332(X1, X2)) → U3321(active(X1), X2)
ACTIVE(U332(X1, X2)) → ACTIVE(X1)
ACTIVE(U333(X1, X2)) → U3331(active(X1), X2)
ACTIVE(U333(X1, X2)) → ACTIVE(X1)
ACTIVE(U334(X1, X2)) → U3341(active(X1), X2)
ACTIVE(U334(X1, X2)) → ACTIVE(X1)
ACTIVE(U341(X1, X2, X3)) → U3411(active(X1), X2, X3)
ACTIVE(U341(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U342(X1, X2, X3)) → U3421(active(X1), X2, X3)
ACTIVE(U342(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U343(X1, X2, X3)) → U3431(active(X1), X2, X3)
ACTIVE(U343(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U344(X1, X2, X3)) → U3441(active(X1), X2, X3)
ACTIVE(U344(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(fst(X)) → FST(active(X))
ACTIVE(fst(X)) → ACTIVE(X)
ACTIVE(U41(X1, X2, X3)) → U411(active(X1), X2, X3)
ACTIVE(U41(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U42(X1, X2, X3)) → U421(active(X1), X2, X3)
ACTIVE(U42(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U43(X1, X2, X3)) → U431(active(X1), X2, X3)
ACTIVE(U43(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U44(X1, X2, X3)) → U441(active(X1), X2, X3)
ACTIVE(U44(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U45(X1, X2)) → U451(active(X1), X2)
ACTIVE(U45(X1, X2)) → ACTIVE(X1)
ACTIVE(U46(X)) → U461(active(X))
ACTIVE(U46(X)) → ACTIVE(X)
ACTIVE(U51(X1, X2, X3)) → U511(active(X1), X2, X3)
ACTIVE(U51(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U52(X1, X2, X3)) → U521(active(X1), X2, X3)
ACTIVE(U52(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U53(X1, X2, X3)) → U531(active(X1), X2, X3)
ACTIVE(U53(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U54(X1, X2, X3)) → U541(active(X1), X2, X3)
ACTIVE(U54(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U55(X1, X2)) → U551(active(X1), X2)
ACTIVE(U55(X1, X2)) → ACTIVE(X1)
ACTIVE(U56(X)) → U561(active(X))
ACTIVE(U56(X)) → ACTIVE(X)
ACTIVE(U61(X1, X2)) → U611(active(X1), X2)
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
ACTIVE(U62(X1, X2)) → U621(active(X1), X2)
ACTIVE(U62(X1, X2)) → ACTIVE(X1)
ACTIVE(U63(X)) → U631(active(X))
ACTIVE(U63(X)) → ACTIVE(X)
ACTIVE(U71(X1, X2)) → U711(active(X1), X2)
ACTIVE(U71(X1, X2)) → ACTIVE(X1)
ACTIVE(U72(X1, X2)) → U721(active(X1), X2)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
ACTIVE(U73(X)) → U731(active(X))
ACTIVE(U73(X)) → ACTIVE(X)
ACTIVE(U81(X1, X2)) → U811(active(X1), X2)
ACTIVE(U81(X1, X2)) → ACTIVE(X1)
ACTIVE(U82(X1, X2)) → U821(active(X1), X2)
ACTIVE(U82(X1, X2)) → ACTIVE(X1)
ACTIVE(U83(X)) → U831(active(X))
ACTIVE(U83(X)) → ACTIVE(X)
ACTIVE(U91(X1, X2)) → U911(active(X1), X2)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
ACTIVE(U92(X1, X2)) → U921(active(X1), X2)
ACTIVE(U92(X1, X2)) → ACTIVE(X1)
ACTIVE(U93(X)) → U931(active(X))
ACTIVE(U93(X)) → ACTIVE(X)
ACTIVE(tail(X)) → TAIL(active(X))
ACTIVE(tail(X)) → ACTIVE(X)
ACTIVE(take(X1, X2)) → TAKE(active(X1), X2)
ACTIVE(take(X1, X2)) → ACTIVE(X1)
ACTIVE(take(X1, X2)) → TAKE(X1, active(X2))
ACTIVE(take(X1, X2)) → ACTIVE(X2)
ACTIVE(sel(X1, X2)) → SEL(active(X1), X2)
ACTIVE(sel(X1, X2)) → ACTIVE(X1)
ACTIVE(sel(X1, X2)) → SEL(X1, active(X2))
ACTIVE(sel(X1, X2)) → ACTIVE(X2)
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)
U1021(mark(X1), X2, X3) → U1021(X1, X2, X3)
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)
U1041(mark(X1), X2, X3) → U1041(X1, X2, X3)
U1051(mark(X1), X2) → U1051(X1, X2)
U1061(mark(X)) → U1061(X)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
U1111(mark(X1), X2) → U1111(X1, X2)
U1121(mark(X)) → U1121(X)
U131(mark(X1), X2, X3) → U131(X1, X2, X3)
U1211(mark(X1), X2) → U1211(X1, X2)
U1221(mark(X)) → U1221(X)
U141(mark(X1), X2, X3) → U141(X1, X2, X3)
U1311(mark(X)) → U1311(X)
SND(mark(X)) → SND(X)
SPLITAT(mark(X1), X2) → SPLITAT(X1, X2)
SPLITAT(X1, mark(X2)) → SPLITAT(X1, X2)
U1411(mark(X)) → U1411(X)
U1511(mark(X)) → U1511(X)
U1611(mark(X)) → U1611(X)
U1711(mark(X1), X2) → U1711(X1, X2)
U1721(mark(X)) → U1721(X)
U1811(mark(X1), X2) → U1811(X1, X2)
U1821(mark(X1), X2) → U1821(X1, X2)
U1831(mark(X)) → U1831(X)
U1911(mark(X1), X2) → U1911(X1, X2)
U1921(mark(X1), X2) → U1921(X1, X2)
U1931(mark(X)) → U1931(X)
U2011(mark(X1), X2, X3) → U2011(X1, X2, X3)
U2021(mark(X1), X2, X3) → U2021(X1, X2, X3)
U2031(mark(X1), X2, X3) → U2031(X1, X2, X3)
U2041(mark(X1), X2, X3) → U2041(X1, X2, X3)
U2051(mark(X1), X2) → U2051(X1, X2)
U2061(mark(X)) → U2061(X)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U2111(mark(X)) → U2111(X)
U231(mark(X1), X2, X3) → U231(X1, X2, X3)
U2211(mark(X)) → U2211(X)
U241(mark(X1), X2) → U241(X1, X2)
U2311(mark(X1), X2) → U2311(X1, X2)
U2321(mark(X)) → U2321(X)
U2411(mark(X1), X2, X3) → U2411(X1, X2, X3)
U2421(mark(X1), X2, X3) → U2421(X1, X2, X3)
U2431(mark(X1), X2, X3) → U2431(X1, X2, X3)
U2441(mark(X1), X2, X3) → U2441(X1, X2, X3)
U2451(mark(X1), X2) → U2451(X1, X2)
U2461(mark(X)) → U2461(X)
U2511(mark(X1), X2, X3) → U2511(X1, X2, X3)
U2521(mark(X1), X2, X3) → U2521(X1, X2, X3)
U2531(mark(X1), X2, X3) → U2531(X1, X2, X3)
U2541(mark(X1), X2, X3) → U2541(X1, X2, X3)
U2551(mark(X1), X2) → U2551(X1, X2)
U2561(mark(X)) → U2561(X)
U2611(mark(X1), X2) → U2611(X1, X2)
U2621(mark(X)) → U2621(X)
U2711(mark(X1), X2) → U2711(X1, X2)
U2721(mark(X)) → U2721(X)
U2811(mark(X1), X2) → U2811(X1, X2)
U2821(mark(X1), X2) → U2821(X1, X2)
CONS(mark(X1), X2) → CONS(X1, X2)
NATSFROM(mark(X)) → NATSFROM(X)
S(mark(X)) → S(X)
U2911(mark(X1), X2, X3) → U2911(X1, X2, X3)
U2921(mark(X1), X2, X3) → U2921(X1, X2, X3)
U2931(mark(X1), X2, X3) → U2931(X1, X2, X3)
U2941(mark(X1), X2, X3) → U2941(X1, X2, X3)
HEAD(mark(X)) → HEAD(X)
AFTERNTH(mark(X1), X2) → AFTERNTH(X1, X2)
AFTERNTH(X1, mark(X2)) → AFTERNTH(X1, X2)
U3011(mark(X1), X2, X3) → U3011(X1, X2, X3)
U3021(mark(X1), X2) → U3021(X1, X2)
U3031(mark(X1), X2) → U3031(X1, X2)
U3041(mark(X1), X2) → U3041(X1, X2)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
U321(mark(X1), X2, X3) → U321(X1, X2, X3)
U3111(mark(X1), X2) → U3111(X1, X2)
U3121(mark(X1), X2) → U3121(X1, X2)
PAIR(mark(X1), X2) → PAIR(X1, X2)
PAIR(X1, mark(X2)) → PAIR(X1, X2)
U331(mark(X1), X2, X3) → U331(X1, X2, X3)
U3211(mark(X1), X2, X3, X4) → U3211(X1, X2, X3, X4)
U3221(mark(X1), X2, X3, X4) → U3221(X1, X2, X3, X4)
U3231(mark(X1), X2, X3, X4) → U3231(X1, X2, X3, X4)
U3241(mark(X1), X2, X3, X4) → U3241(X1, X2, X3, X4)
U3251(mark(X1), X2, X3, X4) → U3251(X1, X2, X3, X4)
U3261(mark(X1), X2, X3, X4) → U3261(X1, X2, X3, X4)
U3271(mark(X1), X2) → U3271(X1, X2)
U341(mark(X1), X2) → U341(X1, X2)
U3311(mark(X1), X2, X3) → U3311(X1, X2, X3)
U3321(mark(X1), X2) → U3321(X1, X2)
U3331(mark(X1), X2) → U3331(X1, X2)
U3341(mark(X1), X2) → U3341(X1, X2)
U3411(mark(X1), X2, X3) → U3411(X1, X2, X3)
U3421(mark(X1), X2, X3) → U3421(X1, X2, X3)
U3431(mark(X1), X2, X3) → U3431(X1, X2, X3)
U3441(mark(X1), X2, X3) → U3441(X1, X2, X3)
FST(mark(X)) → FST(X)
U411(mark(X1), X2, X3) → U411(X1, X2, X3)
U421(mark(X1), X2, X3) → U421(X1, X2, X3)
U431(mark(X1), X2, X3) → U431(X1, X2, X3)
U441(mark(X1), X2, X3) → U441(X1, X2, X3)
U451(mark(X1), X2) → U451(X1, X2)
U461(mark(X)) → U461(X)
U511(mark(X1), X2, X3) → U511(X1, X2, X3)
U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U531(mark(X1), X2, X3) → U531(X1, X2, X3)
U541(mark(X1), X2, X3) → U541(X1, X2, X3)
U551(mark(X1), X2) → U551(X1, X2)
U561(mark(X)) → U561(X)
U611(mark(X1), X2) → U611(X1, X2)
U621(mark(X1), X2) → U621(X1, X2)
U631(mark(X)) → U631(X)
U711(mark(X1), X2) → U711(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)
U731(mark(X)) → U731(X)
U811(mark(X1), X2) → U811(X1, X2)
U821(mark(X1), X2) → U821(X1, X2)
U831(mark(X)) → U831(X)
U911(mark(X1), X2) → U911(X1, X2)
U921(mark(X1), X2) → U921(X1, X2)
U931(mark(X)) → U931(X)
TAIL(mark(X)) → TAIL(X)
TAKE(mark(X1), X2) → TAKE(X1, X2)
TAKE(X1, mark(X2)) → TAKE(X1, X2)
SEL(mark(X1), X2) → SEL(X1, X2)
SEL(X1, mark(X2)) → SEL(X1, X2)
PROPER(U101(X1, X2, X3)) → U1011(proper(X1), proper(X2), proper(X3))
PROPER(U101(X1, X2, X3)) → PROPER(X1)
PROPER(U101(X1, X2, X3)) → PROPER(X2)
PROPER(U101(X1, X2, X3)) → PROPER(X3)
PROPER(U102(X1, X2, X3)) → U1021(proper(X1), proper(X2), proper(X3))
PROPER(U102(X1, X2, X3)) → PROPER(X1)
PROPER(U102(X1, X2, X3)) → PROPER(X2)
PROPER(U102(X1, X2, X3)) → PROPER(X3)
PROPER(isNaturalKind(X)) → ISNATURALKIND(proper(X))
PROPER(isNaturalKind(X)) → PROPER(X)
PROPER(U103(X1, X2, X3)) → U1031(proper(X1), proper(X2), proper(X3))
PROPER(U103(X1, X2, X3)) → PROPER(X1)
PROPER(U103(X1, X2, X3)) → PROPER(X2)
PROPER(U103(X1, X2, X3)) → PROPER(X3)
PROPER(isLNatKind(X)) → ISLNATKIND(proper(X))
PROPER(isLNatKind(X)) → PROPER(X)
PROPER(U104(X1, X2, X3)) → U1041(proper(X1), proper(X2), proper(X3))
PROPER(U104(X1, X2, X3)) → PROPER(X1)
PROPER(U104(X1, X2, X3)) → PROPER(X2)
PROPER(U104(X1, X2, X3)) → PROPER(X3)
PROPER(U105(X1, X2)) → U1051(proper(X1), proper(X2))
PROPER(U105(X1, X2)) → PROPER(X1)
PROPER(U105(X1, X2)) → PROPER(X2)
PROPER(isNatural(X)) → ISNATURAL(proper(X))
PROPER(isNatural(X)) → PROPER(X)
PROPER(U106(X)) → U1061(proper(X))
PROPER(U106(X)) → PROPER(X)
PROPER(isLNat(X)) → ISLNAT(proper(X))
PROPER(isLNat(X)) → PROPER(X)
PROPER(U11(X1, X2, X3)) → U111(proper(X1), proper(X2), proper(X3))
PROPER(U11(X1, X2, X3)) → PROPER(X1)
PROPER(U11(X1, X2, X3)) → PROPER(X2)
PROPER(U11(X1, X2, X3)) → PROPER(X3)
PROPER(U12(X1, X2, X3)) → U121(proper(X1), proper(X2), proper(X3))
PROPER(U12(X1, X2, X3)) → PROPER(X1)
PROPER(U12(X1, X2, X3)) → PROPER(X2)
PROPER(U12(X1, X2, X3)) → PROPER(X3)
PROPER(U111(X1, X2)) → U1111(proper(X1), proper(X2))
PROPER(U111(X1, X2)) → PROPER(X1)
PROPER(U111(X1, X2)) → PROPER(X2)
PROPER(U112(X)) → U1121(proper(X))
PROPER(U112(X)) → PROPER(X)
PROPER(U13(X1, X2, X3)) → U131(proper(X1), proper(X2), proper(X3))
PROPER(U13(X1, X2, X3)) → PROPER(X1)
PROPER(U13(X1, X2, X3)) → PROPER(X2)
PROPER(U13(X1, X2, X3)) → PROPER(X3)
PROPER(U121(X1, X2)) → U1211(proper(X1), proper(X2))
PROPER(U121(X1, X2)) → PROPER(X1)
PROPER(U121(X1, X2)) → PROPER(X2)
PROPER(U122(X)) → U1221(proper(X))
PROPER(U122(X)) → PROPER(X)
PROPER(U14(X1, X2, X3)) → U141(proper(X1), proper(X2), proper(X3))
PROPER(U14(X1, X2, X3)) → PROPER(X1)
PROPER(U14(X1, X2, X3)) → PROPER(X2)
PROPER(U14(X1, X2, X3)) → PROPER(X3)
PROPER(U131(X)) → U1311(proper(X))
PROPER(U131(X)) → PROPER(X)
PROPER(snd(X)) → SND(proper(X))
PROPER(snd(X)) → PROPER(X)
PROPER(splitAt(X1, X2)) → SPLITAT(proper(X1), proper(X2))
PROPER(splitAt(X1, X2)) → PROPER(X1)
PROPER(splitAt(X1, X2)) → PROPER(X2)
PROPER(U141(X)) → U1411(proper(X))
PROPER(U141(X)) → PROPER(X)
PROPER(U151(X)) → U1511(proper(X))
PROPER(U151(X)) → PROPER(X)
PROPER(U161(X)) → U1611(proper(X))
PROPER(U161(X)) → PROPER(X)
PROPER(U171(X1, X2)) → U1711(proper(X1), proper(X2))
PROPER(U171(X1, X2)) → PROPER(X1)
PROPER(U171(X1, X2)) → PROPER(X2)
PROPER(U172(X)) → U1721(proper(X))
PROPER(U172(X)) → PROPER(X)
PROPER(U181(X1, X2)) → U1811(proper(X1), proper(X2))
PROPER(U181(X1, X2)) → PROPER(X1)
PROPER(U181(X1, X2)) → PROPER(X2)
PROPER(U182(X1, X2)) → U1821(proper(X1), proper(X2))
PROPER(U182(X1, X2)) → PROPER(X1)
PROPER(U182(X1, X2)) → PROPER(X2)
PROPER(U183(X)) → U1831(proper(X))
PROPER(U183(X)) → PROPER(X)
PROPER(U191(X1, X2)) → U1911(proper(X1), proper(X2))
PROPER(U191(X1, X2)) → PROPER(X1)
PROPER(U191(X1, X2)) → PROPER(X2)
PROPER(U192(X1, X2)) → U1921(proper(X1), proper(X2))
PROPER(U192(X1, X2)) → PROPER(X1)
PROPER(U192(X1, X2)) → PROPER(X2)
PROPER(U193(X)) → U1931(proper(X))
PROPER(U193(X)) → PROPER(X)
PROPER(U201(X1, X2, X3)) → U2011(proper(X1), proper(X2), proper(X3))
PROPER(U201(X1, X2, X3)) → PROPER(X1)
PROPER(U201(X1, X2, X3)) → PROPER(X2)
PROPER(U201(X1, X2, X3)) → PROPER(X3)
PROPER(U202(X1, X2, X3)) → U2021(proper(X1), proper(X2), proper(X3))
PROPER(U202(X1, X2, X3)) → PROPER(X1)
PROPER(U202(X1, X2, X3)) → PROPER(X2)
PROPER(U202(X1, X2, X3)) → PROPER(X3)
PROPER(U203(X1, X2, X3)) → U2031(proper(X1), proper(X2), proper(X3))
PROPER(U203(X1, X2, X3)) → PROPER(X1)
PROPER(U203(X1, X2, X3)) → PROPER(X2)
PROPER(U203(X1, X2, X3)) → PROPER(X3)
PROPER(U204(X1, X2, X3)) → U2041(proper(X1), proper(X2), proper(X3))
PROPER(U204(X1, X2, X3)) → PROPER(X1)
PROPER(U204(X1, X2, X3)) → PROPER(X2)
PROPER(U204(X1, X2, X3)) → PROPER(X3)
PROPER(U205(X1, X2)) → U2051(proper(X1), proper(X2))
PROPER(U205(X1, X2)) → PROPER(X1)
PROPER(U205(X1, X2)) → PROPER(X2)
PROPER(U206(X)) → U2061(proper(X))
PROPER(U206(X)) → PROPER(X)
PROPER(U21(X1, X2, X3)) → U211(proper(X1), proper(X2), proper(X3))
PROPER(U21(X1, X2, X3)) → PROPER(X1)
PROPER(U21(X1, X2, X3)) → PROPER(X2)
PROPER(U21(X1, X2, X3)) → PROPER(X3)
PROPER(U22(X1, X2, X3)) → U221(proper(X1), proper(X2), proper(X3))
PROPER(U22(X1, X2, X3)) → PROPER(X1)
PROPER(U22(X1, X2, X3)) → PROPER(X2)
PROPER(U22(X1, X2, X3)) → PROPER(X3)
PROPER(U211(X)) → U2111(proper(X))
PROPER(U211(X)) → PROPER(X)
PROPER(U23(X1, X2, X3)) → U231(proper(X1), proper(X2), proper(X3))
PROPER(U23(X1, X2, X3)) → PROPER(X1)
PROPER(U23(X1, X2, X3)) → PROPER(X2)
PROPER(U23(X1, X2, X3)) → PROPER(X3)
PROPER(U221(X)) → U2211(proper(X))
PROPER(U221(X)) → PROPER(X)
PROPER(U24(X1, X2)) → U241(proper(X1), proper(X2))
PROPER(U24(X1, X2)) → PROPER(X1)
PROPER(U24(X1, X2)) → PROPER(X2)
PROPER(U231(X1, X2)) → U2311(proper(X1), proper(X2))
PROPER(U231(X1, X2)) → PROPER(X1)
PROPER(U231(X1, X2)) → PROPER(X2)
PROPER(U232(X)) → U2321(proper(X))
PROPER(U232(X)) → PROPER(X)
PROPER(U241(X1, X2, X3)) → U2411(proper(X1), proper(X2), proper(X3))
PROPER(U241(X1, X2, X3)) → PROPER(X1)
PROPER(U241(X1, X2, X3)) → PROPER(X2)
PROPER(U241(X1, X2, X3)) → PROPER(X3)
PROPER(U242(X1, X2, X3)) → U2421(proper(X1), proper(X2), proper(X3))
PROPER(U242(X1, X2, X3)) → PROPER(X1)
PROPER(U242(X1, X2, X3)) → PROPER(X2)
PROPER(U242(X1, X2, X3)) → PROPER(X3)
PROPER(U243(X1, X2, X3)) → U2431(proper(X1), proper(X2), proper(X3))
PROPER(U243(X1, X2, X3)) → PROPER(X1)
PROPER(U243(X1, X2, X3)) → PROPER(X2)
PROPER(U243(X1, X2, X3)) → PROPER(X3)
PROPER(U244(X1, X2, X3)) → U2441(proper(X1), proper(X2), proper(X3))
PROPER(U244(X1, X2, X3)) → PROPER(X1)
PROPER(U244(X1, X2, X3)) → PROPER(X2)
PROPER(U244(X1, X2, X3)) → PROPER(X3)
PROPER(U245(X1, X2)) → U2451(proper(X1), proper(X2))
PROPER(U245(X1, X2)) → PROPER(X1)
PROPER(U245(X1, X2)) → PROPER(X2)
PROPER(U246(X)) → U2461(proper(X))
PROPER(U246(X)) → PROPER(X)
PROPER(U251(X1, X2, X3)) → U2511(proper(X1), proper(X2), proper(X3))
PROPER(U251(X1, X2, X3)) → PROPER(X1)
PROPER(U251(X1, X2, X3)) → PROPER(X2)
PROPER(U251(X1, X2, X3)) → PROPER(X3)
PROPER(U252(X1, X2, X3)) → U2521(proper(X1), proper(X2), proper(X3))
PROPER(U252(X1, X2, X3)) → PROPER(X1)
PROPER(U252(X1, X2, X3)) → PROPER(X2)
PROPER(U252(X1, X2, X3)) → PROPER(X3)
PROPER(U253(X1, X2, X3)) → U2531(proper(X1), proper(X2), proper(X3))
PROPER(U253(X1, X2, X3)) → PROPER(X1)
PROPER(U253(X1, X2, X3)) → PROPER(X2)
PROPER(U253(X1, X2, X3)) → PROPER(X3)
PROPER(U254(X1, X2, X3)) → U2541(proper(X1), proper(X2), proper(X3))
PROPER(U254(X1, X2, X3)) → PROPER(X1)
PROPER(U254(X1, X2, X3)) → PROPER(X2)
PROPER(U254(X1, X2, X3)) → PROPER(X3)
PROPER(U255(X1, X2)) → U2551(proper(X1), proper(X2))
PROPER(U255(X1, X2)) → PROPER(X1)
PROPER(U255(X1, X2)) → PROPER(X2)
PROPER(U256(X)) → U2561(proper(X))
PROPER(U256(X)) → PROPER(X)
PROPER(U261(X1, X2)) → U2611(proper(X1), proper(X2))
PROPER(U261(X1, X2)) → PROPER(X1)
PROPER(U261(X1, X2)) → PROPER(X2)
PROPER(U262(X)) → U2621(proper(X))
PROPER(U262(X)) → PROPER(X)
PROPER(U271(X1, X2)) → U2711(proper(X1), proper(X2))
PROPER(U271(X1, X2)) → PROPER(X1)
PROPER(U271(X1, X2)) → PROPER(X2)
PROPER(U272(X)) → U2721(proper(X))
PROPER(U272(X)) → PROPER(X)
PROPER(U281(X1, X2)) → U2811(proper(X1), proper(X2))
PROPER(U281(X1, X2)) → PROPER(X1)
PROPER(U281(X1, X2)) → PROPER(X2)
PROPER(U282(X1, X2)) → U2821(proper(X1), proper(X2))
PROPER(U282(X1, X2)) → PROPER(X1)
PROPER(U282(X1, X2)) → PROPER(X2)
PROPER(cons(X1, X2)) → CONS(proper(X1), proper(X2))
PROPER(cons(X1, X2)) → PROPER(X1)
PROPER(cons(X1, X2)) → PROPER(X2)
PROPER(natsFrom(X)) → NATSFROM(proper(X))
PROPER(natsFrom(X)) → PROPER(X)
PROPER(s(X)) → S(proper(X))
PROPER(s(X)) → PROPER(X)
PROPER(U291(X1, X2, X3)) → U2911(proper(X1), proper(X2), proper(X3))
PROPER(U291(X1, X2, X3)) → PROPER(X1)
PROPER(U291(X1, X2, X3)) → PROPER(X2)
PROPER(U291(X1, X2, X3)) → PROPER(X3)
PROPER(U292(X1, X2, X3)) → U2921(proper(X1), proper(X2), proper(X3))
PROPER(U292(X1, X2, X3)) → PROPER(X1)
PROPER(U292(X1, X2, X3)) → PROPER(X2)
PROPER(U292(X1, X2, X3)) → PROPER(X3)
PROPER(U293(X1, X2, X3)) → U2931(proper(X1), proper(X2), proper(X3))
PROPER(U293(X1, X2, X3)) → PROPER(X1)
PROPER(U293(X1, X2, X3)) → PROPER(X2)
PROPER(U293(X1, X2, X3)) → PROPER(X3)
PROPER(U294(X1, X2, X3)) → U2941(proper(X1), proper(X2), proper(X3))
PROPER(U294(X1, X2, X3)) → PROPER(X1)
PROPER(U294(X1, X2, X3)) → PROPER(X2)
PROPER(U294(X1, X2, X3)) → PROPER(X3)
PROPER(head(X)) → HEAD(proper(X))
PROPER(head(X)) → PROPER(X)
PROPER(afterNth(X1, X2)) → AFTERNTH(proper(X1), proper(X2))
PROPER(afterNth(X1, X2)) → PROPER(X1)
PROPER(afterNth(X1, X2)) → PROPER(X2)
PROPER(U301(X1, X2, X3)) → U3011(proper(X1), proper(X2), proper(X3))
PROPER(U301(X1, X2, X3)) → PROPER(X1)
PROPER(U301(X1, X2, X3)) → PROPER(X2)
PROPER(U301(X1, X2, X3)) → PROPER(X3)
PROPER(U302(X1, X2)) → U3021(proper(X1), proper(X2))
PROPER(U302(X1, X2)) → PROPER(X1)
PROPER(U302(X1, X2)) → PROPER(X2)
PROPER(U303(X1, X2)) → U3031(proper(X1), proper(X2))
PROPER(U303(X1, X2)) → PROPER(X1)
PROPER(U303(X1, X2)) → PROPER(X2)
PROPER(U304(X1, X2)) → U3041(proper(X1), proper(X2))
PROPER(U304(X1, X2)) → PROPER(X1)
PROPER(U304(X1, X2)) → PROPER(X2)
PROPER(U31(X1, X2, X3)) → U311(proper(X1), proper(X2), proper(X3))
PROPER(U31(X1, X2, X3)) → PROPER(X1)
PROPER(U31(X1, X2, X3)) → PROPER(X2)
PROPER(U31(X1, X2, X3)) → PROPER(X3)
PROPER(U32(X1, X2, X3)) → U321(proper(X1), proper(X2), proper(X3))
PROPER(U32(X1, X2, X3)) → PROPER(X1)
PROPER(U32(X1, X2, X3)) → PROPER(X2)
PROPER(U32(X1, X2, X3)) → PROPER(X3)
PROPER(U311(X1, X2)) → U3111(proper(X1), proper(X2))
PROPER(U311(X1, X2)) → PROPER(X1)
PROPER(U311(X1, X2)) → PROPER(X2)
PROPER(U312(X1, X2)) → U3121(proper(X1), proper(X2))
PROPER(U312(X1, X2)) → PROPER(X1)
PROPER(U312(X1, X2)) → PROPER(X2)
PROPER(pair(X1, X2)) → PAIR(proper(X1), proper(X2))
PROPER(pair(X1, X2)) → PROPER(X1)
PROPER(pair(X1, X2)) → PROPER(X2)
PROPER(U33(X1, X2, X3)) → U331(proper(X1), proper(X2), proper(X3))
PROPER(U33(X1, X2, X3)) → PROPER(X1)
PROPER(U33(X1, X2, X3)) → PROPER(X2)
PROPER(U33(X1, X2, X3)) → PROPER(X3)
PROPER(U321(X1, X2, X3, X4)) → U3211(proper(X1), proper(X2), proper(X3), proper(X4))
PROPER(U321(X1, X2, X3, X4)) → PROPER(X1)
PROPER(U321(X1, X2, X3, X4)) → PROPER(X2)
PROPER(U321(X1, X2, X3, X4)) → PROPER(X3)
PROPER(U321(X1, X2, X3, X4)) → PROPER(X4)
PROPER(U322(X1, X2, X3, X4)) → U3221(proper(X1), proper(X2), proper(X3), proper(X4))
PROPER(U322(X1, X2, X3, X4)) → PROPER(X1)
PROPER(U322(X1, X2, X3, X4)) → PROPER(X2)
PROPER(U322(X1, X2, X3, X4)) → PROPER(X3)
PROPER(U322(X1, X2, X3, X4)) → PROPER(X4)
PROPER(U323(X1, X2, X3, X4)) → U3231(proper(X1), proper(X2), proper(X3), proper(X4))
PROPER(U323(X1, X2, X3, X4)) → PROPER(X1)
PROPER(U323(X1, X2, X3, X4)) → PROPER(X2)
PROPER(U323(X1, X2, X3, X4)) → PROPER(X3)
PROPER(U323(X1, X2, X3, X4)) → PROPER(X4)
PROPER(U324(X1, X2, X3, X4)) → U3241(proper(X1), proper(X2), proper(X3), proper(X4))
PROPER(U324(X1, X2, X3, X4)) → PROPER(X1)
PROPER(U324(X1, X2, X3, X4)) → PROPER(X2)
PROPER(U324(X1, X2, X3, X4)) → PROPER(X3)
PROPER(U324(X1, X2, X3, X4)) → PROPER(X4)
PROPER(U325(X1, X2, X3, X4)) → U3251(proper(X1), proper(X2), proper(X3), proper(X4))
PROPER(U325(X1, X2, X3, X4)) → PROPER(X1)
PROPER(U325(X1, X2, X3, X4)) → PROPER(X2)
PROPER(U325(X1, X2, X3, X4)) → PROPER(X3)
PROPER(U325(X1, X2, X3, X4)) → PROPER(X4)
PROPER(U326(X1, X2, X3, X4)) → U3261(proper(X1), proper(X2), proper(X3), proper(X4))
PROPER(U326(X1, X2, X3, X4)) → PROPER(X1)
PROPER(U326(X1, X2, X3, X4)) → PROPER(X2)
PROPER(U326(X1, X2, X3, X4)) → PROPER(X3)
PROPER(U326(X1, X2, X3, X4)) → PROPER(X4)
PROPER(U327(X1, X2)) → U3271(proper(X1), proper(X2))
PROPER(U327(X1, X2)) → PROPER(X1)
PROPER(U327(X1, X2)) → PROPER(X2)
PROPER(U34(X1, X2)) → U341(proper(X1), proper(X2))
PROPER(U34(X1, X2)) → PROPER(X1)
PROPER(U34(X1, X2)) → PROPER(X2)
PROPER(U331(X1, X2, X3)) → U3311(proper(X1), proper(X2), proper(X3))
PROPER(U331(X1, X2, X3)) → PROPER(X1)
PROPER(U331(X1, X2, X3)) → PROPER(X2)
PROPER(U331(X1, X2, X3)) → PROPER(X3)
PROPER(U332(X1, X2)) → U3321(proper(X1), proper(X2))
PROPER(U332(X1, X2)) → PROPER(X1)
PROPER(U332(X1, X2)) → PROPER(X2)
PROPER(U333(X1, X2)) → U3331(proper(X1), proper(X2))
PROPER(U333(X1, X2)) → PROPER(X1)
PROPER(U333(X1, X2)) → PROPER(X2)
PROPER(U334(X1, X2)) → U3341(proper(X1), proper(X2))
PROPER(U334(X1, X2)) → PROPER(X1)
PROPER(U334(X1, X2)) → PROPER(X2)
PROPER(U341(X1, X2, X3)) → U3411(proper(X1), proper(X2), proper(X3))
PROPER(U341(X1, X2, X3)) → PROPER(X1)
PROPER(U341(X1, X2, X3)) → PROPER(X2)
PROPER(U341(X1, X2, X3)) → PROPER(X3)
PROPER(U342(X1, X2, X3)) → U3421(proper(X1), proper(X2), proper(X3))
PROPER(U342(X1, X2, X3)) → PROPER(X1)
PROPER(U342(X1, X2, X3)) → PROPER(X2)
PROPER(U342(X1, X2, X3)) → PROPER(X3)
PROPER(U343(X1, X2, X3)) → U3431(proper(X1), proper(X2), proper(X3))
PROPER(U343(X1, X2, X3)) → PROPER(X1)
PROPER(U343(X1, X2, X3)) → PROPER(X2)
PROPER(U343(X1, X2, X3)) → PROPER(X3)
PROPER(U344(X1, X2, X3)) → U3441(proper(X1), proper(X2), proper(X3))
PROPER(U344(X1, X2, X3)) → PROPER(X1)
PROPER(U344(X1, X2, X3)) → PROPER(X2)
PROPER(U344(X1, X2, X3)) → PROPER(X3)
PROPER(fst(X)) → FST(proper(X))
PROPER(fst(X)) → PROPER(X)
PROPER(U41(X1, X2, X3)) → U411(proper(X1), proper(X2), proper(X3))
PROPER(U41(X1, X2, X3)) → PROPER(X1)
PROPER(U41(X1, X2, X3)) → PROPER(X2)
PROPER(U41(X1, X2, X3)) → PROPER(X3)
PROPER(U42(X1, X2, X3)) → U421(proper(X1), proper(X2), proper(X3))
PROPER(U42(X1, X2, X3)) → PROPER(X1)
PROPER(U42(X1, X2, X3)) → PROPER(X2)
PROPER(U42(X1, X2, X3)) → PROPER(X3)
PROPER(U43(X1, X2, X3)) → U431(proper(X1), proper(X2), proper(X3))
PROPER(U43(X1, X2, X3)) → PROPER(X1)
PROPER(U43(X1, X2, X3)) → PROPER(X2)
PROPER(U43(X1, X2, X3)) → PROPER(X3)
PROPER(U44(X1, X2, X3)) → U441(proper(X1), proper(X2), proper(X3))
PROPER(U44(X1, X2, X3)) → PROPER(X1)
PROPER(U44(X1, X2, X3)) → PROPER(X2)
PROPER(U44(X1, X2, X3)) → PROPER(X3)
PROPER(U45(X1, X2)) → U451(proper(X1), proper(X2))
PROPER(U45(X1, X2)) → PROPER(X1)
PROPER(U45(X1, X2)) → PROPER(X2)
PROPER(U46(X)) → U461(proper(X))
PROPER(U46(X)) → PROPER(X)
PROPER(U51(X1, X2, X3)) → U511(proper(X1), proper(X2), proper(X3))
PROPER(U51(X1, X2, X3)) → PROPER(X1)
PROPER(U51(X1, X2, X3)) → PROPER(X2)
PROPER(U51(X1, X2, X3)) → PROPER(X3)
PROPER(U52(X1, X2, X3)) → U521(proper(X1), proper(X2), proper(X3))
PROPER(U52(X1, X2, X3)) → PROPER(X1)
PROPER(U52(X1, X2, X3)) → PROPER(X2)
PROPER(U52(X1, X2, X3)) → PROPER(X3)
PROPER(U53(X1, X2, X3)) → U531(proper(X1), proper(X2), proper(X3))
PROPER(U53(X1, X2, X3)) → PROPER(X1)
PROPER(U53(X1, X2, X3)) → PROPER(X2)
PROPER(U53(X1, X2, X3)) → PROPER(X3)
PROPER(U54(X1, X2, X3)) → U541(proper(X1), proper(X2), proper(X3))
PROPER(U54(X1, X2, X3)) → PROPER(X1)
PROPER(U54(X1, X2, X3)) → PROPER(X2)
PROPER(U54(X1, X2, X3)) → PROPER(X3)
PROPER(U55(X1, X2)) → U551(proper(X1), proper(X2))
PROPER(U55(X1, X2)) → PROPER(X1)
PROPER(U55(X1, X2)) → PROPER(X2)
PROPER(U56(X)) → U561(proper(X))
PROPER(U56(X)) → PROPER(X)
PROPER(U61(X1, X2)) → U611(proper(X1), proper(X2))
PROPER(U61(X1, X2)) → PROPER(X1)
PROPER(U61(X1, X2)) → PROPER(X2)
PROPER(U62(X1, X2)) → U621(proper(X1), proper(X2))
PROPER(U62(X1, X2)) → PROPER(X1)
PROPER(U62(X1, X2)) → PROPER(X2)
PROPER(isPLNatKind(X)) → ISPLNATKIND(proper(X))
PROPER(isPLNatKind(X)) → PROPER(X)
PROPER(U63(X)) → U631(proper(X))
PROPER(U63(X)) → PROPER(X)
PROPER(isPLNat(X)) → ISPLNAT(proper(X))
PROPER(isPLNat(X)) → PROPER(X)
PROPER(U71(X1, X2)) → U711(proper(X1), proper(X2))
PROPER(U71(X1, X2)) → PROPER(X1)
PROPER(U71(X1, X2)) → PROPER(X2)
PROPER(U72(X1, X2)) → U721(proper(X1), proper(X2))
PROPER(U72(X1, X2)) → PROPER(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
PROPER(U73(X)) → U731(proper(X))
PROPER(U73(X)) → PROPER(X)
PROPER(U81(X1, X2)) → U811(proper(X1), proper(X2))
PROPER(U81(X1, X2)) → PROPER(X1)
PROPER(U81(X1, X2)) → PROPER(X2)
PROPER(U82(X1, X2)) → U821(proper(X1), proper(X2))
PROPER(U82(X1, X2)) → PROPER(X1)
PROPER(U82(X1, X2)) → PROPER(X2)
PROPER(U83(X)) → U831(proper(X))
PROPER(U83(X)) → PROPER(X)
PROPER(U91(X1, X2)) → U911(proper(X1), proper(X2))
PROPER(U91(X1, X2)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
PROPER(U92(X1, X2)) → U921(proper(X1), proper(X2))
PROPER(U92(X1, X2)) → PROPER(X1)
PROPER(U92(X1, X2)) → PROPER(X2)
PROPER(U93(X)) → U931(proper(X))
PROPER(U93(X)) → PROPER(X)
PROPER(tail(X)) → TAIL(proper(X))
PROPER(tail(X)) → PROPER(X)
PROPER(take(X1, X2)) → TAKE(proper(X1), proper(X2))
PROPER(take(X1, X2)) → PROPER(X1)
PROPER(take(X1, X2)) → PROPER(X2)
PROPER(sel(X1, X2)) → SEL(proper(X1), proper(X2))
PROPER(sel(X1, X2)) → PROPER(X1)
PROPER(sel(X1, X2)) → PROPER(X2)
U1011(ok(X1), ok(X2), ok(X3)) → U1011(X1, X2, X3)
U1021(ok(X1), ok(X2), ok(X3)) → U1021(X1, X2, X3)
ISNATURALKIND(ok(X)) → ISNATURALKIND(X)
U1031(ok(X1), ok(X2), ok(X3)) → U1031(X1, X2, X3)
ISLNATKIND(ok(X)) → ISLNATKIND(X)
U1041(ok(X1), ok(X2), ok(X3)) → U1041(X1, X2, X3)
U1051(ok(X1), ok(X2)) → U1051(X1, X2)
ISNATURAL(ok(X)) → ISNATURAL(X)
U1061(ok(X)) → U1061(X)
ISLNAT(ok(X)) → ISLNAT(X)
U111(ok(X1), ok(X2), ok(X3)) → U111(X1, X2, X3)
U121(ok(X1), ok(X2), ok(X3)) → U121(X1, X2, X3)
U1111(ok(X1), ok(X2)) → U1111(X1, X2)
U1121(ok(X)) → U1121(X)
U131(ok(X1), ok(X2), ok(X3)) → U131(X1, X2, X3)
U1211(ok(X1), ok(X2)) → U1211(X1, X2)
U1221(ok(X)) → U1221(X)
U141(ok(X1), ok(X2), ok(X3)) → U141(X1, X2, X3)
U1311(ok(X)) → U1311(X)
SND(ok(X)) → SND(X)
SPLITAT(ok(X1), ok(X2)) → SPLITAT(X1, X2)
U1411(ok(X)) → U1411(X)
U1511(ok(X)) → U1511(X)
U1611(ok(X)) → U1611(X)
U1711(ok(X1), ok(X2)) → U1711(X1, X2)
U1721(ok(X)) → U1721(X)
U1811(ok(X1), ok(X2)) → U1811(X1, X2)
U1821(ok(X1), ok(X2)) → U1821(X1, X2)
U1831(ok(X)) → U1831(X)
U1911(ok(X1), ok(X2)) → U1911(X1, X2)
U1921(ok(X1), ok(X2)) → U1921(X1, X2)
U1931(ok(X)) → U1931(X)
U2011(ok(X1), ok(X2), ok(X3)) → U2011(X1, X2, X3)
U2021(ok(X1), ok(X2), ok(X3)) → U2021(X1, X2, X3)
U2031(ok(X1), ok(X2), ok(X3)) → U2031(X1, X2, X3)
U2041(ok(X1), ok(X2), ok(X3)) → U2041(X1, X2, X3)
U2051(ok(X1), ok(X2)) → U2051(X1, X2)
U2061(ok(X)) → U2061(X)
U211(ok(X1), ok(X2), ok(X3)) → U211(X1, X2, X3)
U221(ok(X1), ok(X2), ok(X3)) → U221(X1, X2, X3)
U2111(ok(X)) → U2111(X)
U231(ok(X1), ok(X2), ok(X3)) → U231(X1, X2, X3)
U2211(ok(X)) → U2211(X)
U241(ok(X1), ok(X2)) → U241(X1, X2)
U2311(ok(X1), ok(X2)) → U2311(X1, X2)
U2321(ok(X)) → U2321(X)
U2411(ok(X1), ok(X2), ok(X3)) → U2411(X1, X2, X3)
U2421(ok(X1), ok(X2), ok(X3)) → U2421(X1, X2, X3)
U2431(ok(X1), ok(X2), ok(X3)) → U2431(X1, X2, X3)
U2441(ok(X1), ok(X2), ok(X3)) → U2441(X1, X2, X3)
U2451(ok(X1), ok(X2)) → U2451(X1, X2)
U2461(ok(X)) → U2461(X)
U2511(ok(X1), ok(X2), ok(X3)) → U2511(X1, X2, X3)
U2521(ok(X1), ok(X2), ok(X3)) → U2521(X1, X2, X3)
U2531(ok(X1), ok(X2), ok(X3)) → U2531(X1, X2, X3)
U2541(ok(X1), ok(X2), ok(X3)) → U2541(X1, X2, X3)
U2551(ok(X1), ok(X2)) → U2551(X1, X2)
U2561(ok(X)) → U2561(X)
U2611(ok(X1), ok(X2)) → U2611(X1, X2)
U2621(ok(X)) → U2621(X)
U2711(ok(X1), ok(X2)) → U2711(X1, X2)
U2721(ok(X)) → U2721(X)
U2811(ok(X1), ok(X2)) → U2811(X1, X2)
U2821(ok(X1), ok(X2)) → U2821(X1, X2)
CONS(ok(X1), ok(X2)) → CONS(X1, X2)
NATSFROM(ok(X)) → NATSFROM(X)
S(ok(X)) → S(X)
U2911(ok(X1), ok(X2), ok(X3)) → U2911(X1, X2, X3)
U2921(ok(X1), ok(X2), ok(X3)) → U2921(X1, X2, X3)
U2931(ok(X1), ok(X2), ok(X3)) → U2931(X1, X2, X3)
U2941(ok(X1), ok(X2), ok(X3)) → U2941(X1, X2, X3)
HEAD(ok(X)) → HEAD(X)
AFTERNTH(ok(X1), ok(X2)) → AFTERNTH(X1, X2)
U3011(ok(X1), ok(X2), ok(X3)) → U3011(X1, X2, X3)
U3021(ok(X1), ok(X2)) → U3021(X1, X2)
U3031(ok(X1), ok(X2)) → U3031(X1, X2)
U3041(ok(X1), ok(X2)) → U3041(X1, X2)
U311(ok(X1), ok(X2), ok(X3)) → U311(X1, X2, X3)
U321(ok(X1), ok(X2), ok(X3)) → U321(X1, X2, X3)
U3111(ok(X1), ok(X2)) → U3111(X1, X2)
U3121(ok(X1), ok(X2)) → U3121(X1, X2)
PAIR(ok(X1), ok(X2)) → PAIR(X1, X2)
U331(ok(X1), ok(X2), ok(X3)) → U331(X1, X2, X3)
U3211(ok(X1), ok(X2), ok(X3), ok(X4)) → U3211(X1, X2, X3, X4)
U3221(ok(X1), ok(X2), ok(X3), ok(X4)) → U3221(X1, X2, X3, X4)
U3231(ok(X1), ok(X2), ok(X3), ok(X4)) → U3231(X1, X2, X3, X4)
U3241(ok(X1), ok(X2), ok(X3), ok(X4)) → U3241(X1, X2, X3, X4)
U3251(ok(X1), ok(X2), ok(X3), ok(X4)) → U3251(X1, X2, X3, X4)
U3261(ok(X1), ok(X2), ok(X3), ok(X4)) → U3261(X1, X2, X3, X4)
U3271(ok(X1), ok(X2)) → U3271(X1, X2)
U341(ok(X1), ok(X2)) → U341(X1, X2)
U3311(ok(X1), ok(X2), ok(X3)) → U3311(X1, X2, X3)
U3321(ok(X1), ok(X2)) → U3321(X1, X2)
U3331(ok(X1), ok(X2)) → U3331(X1, X2)
U3341(ok(X1), ok(X2)) → U3341(X1, X2)
U3411(ok(X1), ok(X2), ok(X3)) → U3411(X1, X2, X3)
U3421(ok(X1), ok(X2), ok(X3)) → U3421(X1, X2, X3)
U3431(ok(X1), ok(X2), ok(X3)) → U3431(X1, X2, X3)
U3441(ok(X1), ok(X2), ok(X3)) → U3441(X1, X2, X3)
FST(ok(X)) → FST(X)
U411(ok(X1), ok(X2), ok(X3)) → U411(X1, X2, X3)
U421(ok(X1), ok(X2), ok(X3)) → U421(X1, X2, X3)
U431(ok(X1), ok(X2), ok(X3)) → U431(X1, X2, X3)
U441(ok(X1), ok(X2), ok(X3)) → U441(X1, X2, X3)
U451(ok(X1), ok(X2)) → U451(X1, X2)
U461(ok(X)) → U461(X)
U511(ok(X1), ok(X2), ok(X3)) → U511(X1, X2, X3)
U521(ok(X1), ok(X2), ok(X3)) → U521(X1, X2, X3)
U531(ok(X1), ok(X2), ok(X3)) → U531(X1, X2, X3)
U541(ok(X1), ok(X2), ok(X3)) → U541(X1, X2, X3)
U551(ok(X1), ok(X2)) → U551(X1, X2)
U561(ok(X)) → U561(X)
U611(ok(X1), ok(X2)) → U611(X1, X2)
U621(ok(X1), ok(X2)) → U621(X1, X2)
ISPLNATKIND(ok(X)) → ISPLNATKIND(X)
U631(ok(X)) → U631(X)
ISPLNAT(ok(X)) → ISPLNAT(X)
U711(ok(X1), ok(X2)) → U711(X1, X2)
U721(ok(X1), ok(X2)) → U721(X1, X2)
U731(ok(X)) → U731(X)
U811(ok(X1), ok(X2)) → U811(X1, X2)
U821(ok(X1), ok(X2)) → U821(X1, X2)
U831(ok(X)) → U831(X)
U911(ok(X1), ok(X2)) → U911(X1, X2)
U921(ok(X1), ok(X2)) → U921(X1, X2)
U931(ok(X)) → U931(X)
TAIL(ok(X)) → TAIL(X)
TAKE(ok(X1), ok(X2)) → TAKE(X1, X2)
SEL(ok(X1), ok(X2)) → SEL(X1, X2)
TOP(mark(X)) → TOP(proper(X))
TOP(mark(X)) → PROPER(X)
TOP(ok(X)) → TOP(active(X))
TOP(ok(X)) → ACTIVE(X)

The TRS R consists of the following rules:

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

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 132 SCCs with 493 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

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

ISPLNAT(ok(X)) → ISPLNAT(X)

The TRS R consists of the following rules:

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

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

(6) Obligation:

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

ISPLNATKIND(ok(X)) → ISPLNATKIND(X)

The TRS R consists of the following rules:

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

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

(7) Obligation:

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

ISLNAT(ok(X)) → ISLNAT(X)

The TRS R consists of the following rules:

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

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

(8) Obligation:

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

ISNATURAL(ok(X)) → ISNATURAL(X)

The TRS R consists of the following rules:

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

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

(9) Obligation:

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

ISLNATKIND(ok(X)) → ISLNATKIND(X)

The TRS R consists of the following rules:

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

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

(10) Obligation:

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

ISNATURALKIND(ok(X)) → ISNATURALKIND(X)

The TRS R consists of the following rules:

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

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

(11) Obligation:

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

SEL(X1, mark(X2)) → SEL(X1, X2)
SEL(mark(X1), X2) → SEL(X1, X2)
SEL(ok(X1), ok(X2)) → SEL(X1, X2)

The TRS R consists of the following rules:

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

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

(12) Obligation:

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

TAKE(X1, mark(X2)) → TAKE(X1, X2)
TAKE(mark(X1), X2) → TAKE(X1, X2)
TAKE(ok(X1), ok(X2)) → TAKE(X1, X2)

The TRS R consists of the following rules:

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

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

(13) Obligation:

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

TAIL(ok(X)) → TAIL(X)
TAIL(mark(X)) → TAIL(X)

The TRS R consists of the following rules:

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

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

(14) Obligation:

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

U931(ok(X)) → U931(X)
U931(mark(X)) → U931(X)

The TRS R consists of the following rules:

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

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

(15) Obligation:

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

U921(ok(X1), ok(X2)) → U921(X1, X2)
U921(mark(X1), X2) → U921(X1, X2)

The TRS R consists of the following rules:

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

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

(16) Obligation:

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

U911(ok(X1), ok(X2)) → U911(X1, X2)
U911(mark(X1), X2) → U911(X1, X2)

The TRS R consists of the following rules:

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

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

(17) Obligation:

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

U831(ok(X)) → U831(X)
U831(mark(X)) → U831(X)

The TRS R consists of the following rules:

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

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

(18) Obligation:

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

U821(ok(X1), ok(X2)) → U821(X1, X2)
U821(mark(X1), X2) → U821(X1, X2)

The TRS R consists of the following rules:

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

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

(19) Obligation:

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

U811(ok(X1), ok(X2)) → U811(X1, X2)
U811(mark(X1), X2) → U811(X1, X2)

The TRS R consists of the following rules:

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

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

(20) Obligation:

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

U731(ok(X)) → U731(X)
U731(mark(X)) → U731(X)

The TRS R consists of the following rules:

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

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

(21) Obligation:

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

U721(ok(X1), ok(X2)) → U721(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)

The TRS R consists of the following rules:

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

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

(22) Obligation:

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

U711(ok(X1), ok(X2)) → U711(X1, X2)
U711(mark(X1), X2) → U711(X1, X2)

The TRS R consists of the following rules:

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

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

(23) Obligation:

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

U631(ok(X)) → U631(X)
U631(mark(X)) → U631(X)

The TRS R consists of the following rules:

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

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

(24) Obligation:

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

U621(ok(X1), ok(X2)) → U621(X1, X2)
U621(mark(X1), X2) → U621(X1, X2)

The TRS R consists of the following rules:

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

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

(25) Obligation:

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

U611(ok(X1), ok(X2)) → U611(X1, X2)
U611(mark(X1), X2) → U611(X1, X2)

The TRS R consists of the following rules:

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

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

(26) Obligation:

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

U561(ok(X)) → U561(X)
U561(mark(X)) → U561(X)

The TRS R consists of the following rules:

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

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

(27) Obligation:

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

U551(ok(X1), ok(X2)) → U551(X1, X2)
U551(mark(X1), X2) → U551(X1, X2)

The TRS R consists of the following rules:

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

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

(28) Obligation:

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

U541(ok(X1), ok(X2), ok(X3)) → U541(X1, X2, X3)
U541(mark(X1), X2, X3) → U541(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(29) Obligation:

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

U531(ok(X1), ok(X2), ok(X3)) → U531(X1, X2, X3)
U531(mark(X1), X2, X3) → U531(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(30) Obligation:

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

U521(ok(X1), ok(X2), ok(X3)) → U521(X1, X2, X3)
U521(mark(X1), X2, X3) → U521(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(31) Obligation:

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

U511(ok(X1), ok(X2), ok(X3)) → U511(X1, X2, X3)
U511(mark(X1), X2, X3) → U511(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(32) Obligation:

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

U461(ok(X)) → U461(X)
U461(mark(X)) → U461(X)

The TRS R consists of the following rules:

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

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

(33) Obligation:

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

U451(ok(X1), ok(X2)) → U451(X1, X2)
U451(mark(X1), X2) → U451(X1, X2)

The TRS R consists of the following rules:

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

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

(34) Obligation:

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

U441(ok(X1), ok(X2), ok(X3)) → U441(X1, X2, X3)
U441(mark(X1), X2, X3) → U441(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(35) Obligation:

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

U431(ok(X1), ok(X2), ok(X3)) → U431(X1, X2, X3)
U431(mark(X1), X2, X3) → U431(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(36) Obligation:

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

U421(ok(X1), ok(X2), ok(X3)) → U421(X1, X2, X3)
U421(mark(X1), X2, X3) → U421(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(37) Obligation:

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

U411(ok(X1), ok(X2), ok(X3)) → U411(X1, X2, X3)
U411(mark(X1), X2, X3) → U411(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(38) Obligation:

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

FST(ok(X)) → FST(X)
FST(mark(X)) → FST(X)

The TRS R consists of the following rules:

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

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

(39) Obligation:

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

U3441(ok(X1), ok(X2), ok(X3)) → U3441(X1, X2, X3)
U3441(mark(X1), X2, X3) → U3441(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(40) Obligation:

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

U3431(ok(X1), ok(X2), ok(X3)) → U3431(X1, X2, X3)
U3431(mark(X1), X2, X3) → U3431(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(41) Obligation:

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

U3421(ok(X1), ok(X2), ok(X3)) → U3421(X1, X2, X3)
U3421(mark(X1), X2, X3) → U3421(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(42) Obligation:

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

U3411(ok(X1), ok(X2), ok(X3)) → U3411(X1, X2, X3)
U3411(mark(X1), X2, X3) → U3411(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(43) Obligation:

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

U3341(ok(X1), ok(X2)) → U3341(X1, X2)
U3341(mark(X1), X2) → U3341(X1, X2)

The TRS R consists of the following rules:

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

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

(44) Obligation:

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

U3331(ok(X1), ok(X2)) → U3331(X1, X2)
U3331(mark(X1), X2) → U3331(X1, X2)

The TRS R consists of the following rules:

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

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

(45) Obligation:

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

U3321(ok(X1), ok(X2)) → U3321(X1, X2)
U3321(mark(X1), X2) → U3321(X1, X2)

The TRS R consists of the following rules:

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

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

(46) Obligation:

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

U3311(ok(X1), ok(X2), ok(X3)) → U3311(X1, X2, X3)
U3311(mark(X1), X2, X3) → U3311(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(47) Obligation:

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

U341(ok(X1), ok(X2)) → U341(X1, X2)
U341(mark(X1), X2) → U341(X1, X2)

The TRS R consists of the following rules:

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

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

(48) Obligation:

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

U3271(ok(X1), ok(X2)) → U3271(X1, X2)
U3271(mark(X1), X2) → U3271(X1, X2)

The TRS R consists of the following rules:

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

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

(49) Obligation:

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

U3261(ok(X1), ok(X2), ok(X3), ok(X4)) → U3261(X1, X2, X3, X4)
U3261(mark(X1), X2, X3, X4) → U3261(X1, X2, X3, X4)

The TRS R consists of the following rules:

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

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

(50) Obligation:

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

U3251(ok(X1), ok(X2), ok(X3), ok(X4)) → U3251(X1, X2, X3, X4)
U3251(mark(X1), X2, X3, X4) → U3251(X1, X2, X3, X4)

The TRS R consists of the following rules:

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

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

(51) Obligation:

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

U3241(ok(X1), ok(X2), ok(X3), ok(X4)) → U3241(X1, X2, X3, X4)
U3241(mark(X1), X2, X3, X4) → U3241(X1, X2, X3, X4)

The TRS R consists of the following rules:

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

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

(52) Obligation:

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

U3231(ok(X1), ok(X2), ok(X3), ok(X4)) → U3231(X1, X2, X3, X4)
U3231(mark(X1), X2, X3, X4) → U3231(X1, X2, X3, X4)

The TRS R consists of the following rules:

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

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

(53) Obligation:

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

U3221(ok(X1), ok(X2), ok(X3), ok(X4)) → U3221(X1, X2, X3, X4)
U3221(mark(X1), X2, X3, X4) → U3221(X1, X2, X3, X4)

The TRS R consists of the following rules:

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

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

(54) Obligation:

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

U3211(ok(X1), ok(X2), ok(X3), ok(X4)) → U3211(X1, X2, X3, X4)
U3211(mark(X1), X2, X3, X4) → U3211(X1, X2, X3, X4)

The TRS R consists of the following rules:

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

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

(55) Obligation:

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

U331(ok(X1), ok(X2), ok(X3)) → U331(X1, X2, X3)
U331(mark(X1), X2, X3) → U331(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(56) Obligation:

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

PAIR(X1, mark(X2)) → PAIR(X1, X2)
PAIR(mark(X1), X2) → PAIR(X1, X2)
PAIR(ok(X1), ok(X2)) → PAIR(X1, X2)

The TRS R consists of the following rules:

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

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

(57) Obligation:

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

U3121(ok(X1), ok(X2)) → U3121(X1, X2)
U3121(mark(X1), X2) → U3121(X1, X2)

The TRS R consists of the following rules:

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

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

(58) Obligation:

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

U3111(ok(X1), ok(X2)) → U3111(X1, X2)
U3111(mark(X1), X2) → U3111(X1, X2)

The TRS R consists of the following rules:

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

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

(59) Obligation:

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

U321(ok(X1), ok(X2), ok(X3)) → U321(X1, X2, X3)
U321(mark(X1), X2, X3) → U321(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(60) Obligation:

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

U311(ok(X1), ok(X2), ok(X3)) → U311(X1, X2, X3)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(61) Obligation:

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

U3041(ok(X1), ok(X2)) → U3041(X1, X2)
U3041(mark(X1), X2) → U3041(X1, X2)

The TRS R consists of the following rules:

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

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

(62) Obligation:

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

U3031(ok(X1), ok(X2)) → U3031(X1, X2)
U3031(mark(X1), X2) → U3031(X1, X2)

The TRS R consists of the following rules:

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

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

(63) Obligation:

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

U3021(ok(X1), ok(X2)) → U3021(X1, X2)
U3021(mark(X1), X2) → U3021(X1, X2)

The TRS R consists of the following rules:

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

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

(64) Obligation:

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

U3011(ok(X1), ok(X2), ok(X3)) → U3011(X1, X2, X3)
U3011(mark(X1), X2, X3) → U3011(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(65) Obligation:

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

AFTERNTH(X1, mark(X2)) → AFTERNTH(X1, X2)
AFTERNTH(mark(X1), X2) → AFTERNTH(X1, X2)
AFTERNTH(ok(X1), ok(X2)) → AFTERNTH(X1, X2)

The TRS R consists of the following rules:

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

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

(66) Obligation:

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

HEAD(ok(X)) → HEAD(X)
HEAD(mark(X)) → HEAD(X)

The TRS R consists of the following rules:

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

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

(67) Obligation:

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

U2941(ok(X1), ok(X2), ok(X3)) → U2941(X1, X2, X3)
U2941(mark(X1), X2, X3) → U2941(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(68) Obligation:

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

U2931(ok(X1), ok(X2), ok(X3)) → U2931(X1, X2, X3)
U2931(mark(X1), X2, X3) → U2931(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(69) Obligation:

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

U2921(ok(X1), ok(X2), ok(X3)) → U2921(X1, X2, X3)
U2921(mark(X1), X2, X3) → U2921(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(70) Obligation:

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

U2911(ok(X1), ok(X2), ok(X3)) → U2911(X1, X2, X3)
U2911(mark(X1), X2, X3) → U2911(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(71) Obligation:

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

S(ok(X)) → S(X)
S(mark(X)) → S(X)

The TRS R consists of the following rules:

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

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

(72) Obligation:

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

NATSFROM(ok(X)) → NATSFROM(X)
NATSFROM(mark(X)) → NATSFROM(X)

The TRS R consists of the following rules:

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

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

(73) Obligation:

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

CONS(ok(X1), ok(X2)) → CONS(X1, X2)
CONS(mark(X1), X2) → CONS(X1, X2)

The TRS R consists of the following rules:

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

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

(74) Obligation:

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

U2821(ok(X1), ok(X2)) → U2821(X1, X2)
U2821(mark(X1), X2) → U2821(X1, X2)

The TRS R consists of the following rules:

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

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

(75) Obligation:

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

U2811(ok(X1), ok(X2)) → U2811(X1, X2)
U2811(mark(X1), X2) → U2811(X1, X2)

The TRS R consists of the following rules:

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

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

(76) Obligation:

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

U2721(ok(X)) → U2721(X)
U2721(mark(X)) → U2721(X)

The TRS R consists of the following rules:

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

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

(77) Obligation:

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

U2711(ok(X1), ok(X2)) → U2711(X1, X2)
U2711(mark(X1), X2) → U2711(X1, X2)

The TRS R consists of the following rules:

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

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

(78) Obligation:

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

U2621(ok(X)) → U2621(X)
U2621(mark(X)) → U2621(X)

The TRS R consists of the following rules:

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

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

(79) Obligation:

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

U2611(ok(X1), ok(X2)) → U2611(X1, X2)
U2611(mark(X1), X2) → U2611(X1, X2)

The TRS R consists of the following rules:

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

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

(80) Obligation:

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

U2561(ok(X)) → U2561(X)
U2561(mark(X)) → U2561(X)

The TRS R consists of the following rules:

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

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

(81) Obligation:

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

U2551(ok(X1), ok(X2)) → U2551(X1, X2)
U2551(mark(X1), X2) → U2551(X1, X2)

The TRS R consists of the following rules:

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

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

(82) Obligation:

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

U2541(ok(X1), ok(X2), ok(X3)) → U2541(X1, X2, X3)
U2541(mark(X1), X2, X3) → U2541(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(83) Obligation:

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

U2531(ok(X1), ok(X2), ok(X3)) → U2531(X1, X2, X3)
U2531(mark(X1), X2, X3) → U2531(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(84) Obligation:

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

U2521(ok(X1), ok(X2), ok(X3)) → U2521(X1, X2, X3)
U2521(mark(X1), X2, X3) → U2521(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(85) Obligation:

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

U2511(ok(X1), ok(X2), ok(X3)) → U2511(X1, X2, X3)
U2511(mark(X1), X2, X3) → U2511(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(86) Obligation:

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

U2461(ok(X)) → U2461(X)
U2461(mark(X)) → U2461(X)

The TRS R consists of the following rules:

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

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

(87) Obligation:

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

U2451(ok(X1), ok(X2)) → U2451(X1, X2)
U2451(mark(X1), X2) → U2451(X1, X2)

The TRS R consists of the following rules:

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

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

(88) Obligation:

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

U2441(ok(X1), ok(X2), ok(X3)) → U2441(X1, X2, X3)
U2441(mark(X1), X2, X3) → U2441(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(89) Obligation:

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

U2431(ok(X1), ok(X2), ok(X3)) → U2431(X1, X2, X3)
U2431(mark(X1), X2, X3) → U2431(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(90) Obligation:

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

U2421(ok(X1), ok(X2), ok(X3)) → U2421(X1, X2, X3)
U2421(mark(X1), X2, X3) → U2421(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(91) Obligation:

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

U2411(ok(X1), ok(X2), ok(X3)) → U2411(X1, X2, X3)
U2411(mark(X1), X2, X3) → U2411(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(92) Obligation:

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

U2321(ok(X)) → U2321(X)
U2321(mark(X)) → U2321(X)

The TRS R consists of the following rules:

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

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

(93) Obligation:

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

U2311(ok(X1), ok(X2)) → U2311(X1, X2)
U2311(mark(X1), X2) → U2311(X1, X2)

The TRS R consists of the following rules:

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

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

(94) Obligation:

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

U241(ok(X1), ok(X2)) → U241(X1, X2)
U241(mark(X1), X2) → U241(X1, X2)

The TRS R consists of the following rules:

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

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

(95) Obligation:

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

U2211(ok(X)) → U2211(X)
U2211(mark(X)) → U2211(X)

The TRS R consists of the following rules:

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

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

(96) Obligation:

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

U231(ok(X1), ok(X2), ok(X3)) → U231(X1, X2, X3)
U231(mark(X1), X2, X3) → U231(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(97) Obligation:

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

U2111(ok(X)) → U2111(X)
U2111(mark(X)) → U2111(X)

The TRS R consists of the following rules:

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

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

(98) Obligation:

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

U221(ok(X1), ok(X2), ok(X3)) → U221(X1, X2, X3)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(99) Obligation:

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

U211(ok(X1), ok(X2), ok(X3)) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(100) Obligation:

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

U2061(ok(X)) → U2061(X)
U2061(mark(X)) → U2061(X)

The TRS R consists of the following rules:

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

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

(101) Obligation:

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

U2051(ok(X1), ok(X2)) → U2051(X1, X2)
U2051(mark(X1), X2) → U2051(X1, X2)

The TRS R consists of the following rules:

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

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

(102) Obligation:

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

U2041(ok(X1), ok(X2), ok(X3)) → U2041(X1, X2, X3)
U2041(mark(X1), X2, X3) → U2041(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(103) Obligation:

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

U2031(ok(X1), ok(X2), ok(X3)) → U2031(X1, X2, X3)
U2031(mark(X1), X2, X3) → U2031(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(104) Obligation:

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

U2021(ok(X1), ok(X2), ok(X3)) → U2021(X1, X2, X3)
U2021(mark(X1), X2, X3) → U2021(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(105) Obligation:

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

U2011(ok(X1), ok(X2), ok(X3)) → U2011(X1, X2, X3)
U2011(mark(X1), X2, X3) → U2011(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(106) Obligation:

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

U1931(ok(X)) → U1931(X)
U1931(mark(X)) → U1931(X)

The TRS R consists of the following rules:

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

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

(107) Obligation:

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

U1921(ok(X1), ok(X2)) → U1921(X1, X2)
U1921(mark(X1), X2) → U1921(X1, X2)

The TRS R consists of the following rules:

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

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

(108) Obligation:

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

U1911(ok(X1), ok(X2)) → U1911(X1, X2)
U1911(mark(X1), X2) → U1911(X1, X2)

The TRS R consists of the following rules:

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

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

(109) Obligation:

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

U1831(ok(X)) → U1831(X)
U1831(mark(X)) → U1831(X)

The TRS R consists of the following rules:

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

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

(110) Obligation:

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

U1821(ok(X1), ok(X2)) → U1821(X1, X2)
U1821(mark(X1), X2) → U1821(X1, X2)

The TRS R consists of the following rules:

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

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

(111) Obligation:

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

U1811(ok(X1), ok(X2)) → U1811(X1, X2)
U1811(mark(X1), X2) → U1811(X1, X2)

The TRS R consists of the following rules:

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

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

(112) Obligation:

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

U1721(ok(X)) → U1721(X)
U1721(mark(X)) → U1721(X)

The TRS R consists of the following rules:

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

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

(113) Obligation:

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

U1711(ok(X1), ok(X2)) → U1711(X1, X2)
U1711(mark(X1), X2) → U1711(X1, X2)

The TRS R consists of the following rules:

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

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

(114) Obligation:

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

U1611(ok(X)) → U1611(X)
U1611(mark(X)) → U1611(X)

The TRS R consists of the following rules:

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

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

(115) Obligation:

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

U1511(ok(X)) → U1511(X)
U1511(mark(X)) → U1511(X)

The TRS R consists of the following rules:

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

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

(116) Obligation:

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

U1411(ok(X)) → U1411(X)
U1411(mark(X)) → U1411(X)

The TRS R consists of the following rules:

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

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

(117) Obligation:

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

SPLITAT(X1, mark(X2)) → SPLITAT(X1, X2)
SPLITAT(mark(X1), X2) → SPLITAT(X1, X2)
SPLITAT(ok(X1), ok(X2)) → SPLITAT(X1, X2)

The TRS R consists of the following rules:

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

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

(118) Obligation:

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

SND(ok(X)) → SND(X)
SND(mark(X)) → SND(X)

The TRS R consists of the following rules:

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

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

(119) Obligation:

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

U1311(ok(X)) → U1311(X)
U1311(mark(X)) → U1311(X)

The TRS R consists of the following rules:

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

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

(120) Obligation:

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

U141(ok(X1), ok(X2), ok(X3)) → U141(X1, X2, X3)
U141(mark(X1), X2, X3) → U141(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(121) Obligation:

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

U1221(ok(X)) → U1221(X)
U1221(mark(X)) → U1221(X)

The TRS R consists of the following rules:

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

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

(122) Obligation:

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

U1211(ok(X1), ok(X2)) → U1211(X1, X2)
U1211(mark(X1), X2) → U1211(X1, X2)

The TRS R consists of the following rules:

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

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

(123) Obligation:

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

U131(ok(X1), ok(X2), ok(X3)) → U131(X1, X2, X3)
U131(mark(X1), X2, X3) → U131(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(124) Obligation:

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

U1121(ok(X)) → U1121(X)
U1121(mark(X)) → U1121(X)

The TRS R consists of the following rules:

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

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

(125) Obligation:

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

U1111(ok(X1), ok(X2)) → U1111(X1, X2)
U1111(mark(X1), X2) → U1111(X1, X2)

The TRS R consists of the following rules:

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

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

(126) Obligation:

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

U121(ok(X1), ok(X2), ok(X3)) → U121(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(127) Obligation:

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

U111(ok(X1), ok(X2), ok(X3)) → U111(X1, X2, X3)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(128) Obligation:

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

U1061(ok(X)) → U1061(X)
U1061(mark(X)) → U1061(X)

The TRS R consists of the following rules:

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

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

(129) Obligation:

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

U1051(ok(X1), ok(X2)) → U1051(X1, X2)
U1051(mark(X1), X2) → U1051(X1, X2)

The TRS R consists of the following rules:

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

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

(130) Obligation:

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

U1041(ok(X1), ok(X2), ok(X3)) → U1041(X1, X2, X3)
U1041(mark(X1), X2, X3) → U1041(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(131) Obligation:

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

U1031(ok(X1), ok(X2), ok(X3)) → U1031(X1, X2, X3)
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(132) Obligation:

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

U1021(ok(X1), ok(X2), ok(X3)) → U1021(X1, X2, X3)
U1021(mark(X1), X2, X3) → U1021(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(133) Obligation:

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

U1011(ok(X1), ok(X2), ok(X3)) → U1011(X1, X2, X3)
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)

The TRS R consists of the following rules:

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

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

(134) Obligation:

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

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

The TRS R consists of the following rules:

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

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

(135) Obligation:

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

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

The TRS R consists of the following rules:

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

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

(136) Obligation:

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

TOP(ok(X)) → TOP(active(X))
TOP(mark(X)) → TOP(proper(X))

The TRS R consists of the following rules:

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

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