(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
U101(tt, V1, V2) → U102(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2) → U103(isLNatKind(activate(V2)), activate(V1), activate(V2))
U103(tt, V1, V2) → U104(isLNatKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2) → U105(isNatural(activate(V1)), activate(V2))
U105(tt, V2) → U106(isLNat(activate(V2)))
U106(tt) → tt
U11(tt, N, XS) → U12(isNaturalKind(activate(N)), activate(N), activate(XS))
U111(tt, V2) → U112(isLNatKind(activate(V2)))
U112(tt) → tt
U12(tt, N, XS) → U13(isLNat(activate(XS)), activate(N), activate(XS))
U121(tt, V2) → U122(isLNatKind(activate(V2)))
U122(tt) → tt
U13(tt, N, XS) → U14(isLNatKind(activate(XS)), activate(N), activate(XS))
U131(tt) → tt
U14(tt, N, XS) → snd(splitAt(activate(N), activate(XS)))
U141(tt) → tt
U151(tt) → tt
U161(tt) → tt
U171(tt, V2) → U172(isLNatKind(activate(V2)))
U172(tt) → tt
U181(tt, V1) → U182(isLNatKind(activate(V1)), activate(V1))
U182(tt, V1) → U183(isLNat(activate(V1)))
U183(tt) → tt
U191(tt, V1) → U192(isNaturalKind(activate(V1)), activate(V1))
U192(tt, V1) → U193(isNatural(activate(V1)))
U193(tt) → tt
U201(tt, V1, V2) → U202(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U202(tt, V1, V2) → U203(isLNatKind(activate(V2)), activate(V1), activate(V2))
U203(tt, V1, V2) → U204(isLNatKind(activate(V2)), activate(V1), activate(V2))
U204(tt, V1, V2) → U205(isNatural(activate(V1)), activate(V2))
U205(tt, V2) → U206(isLNat(activate(V2)))
U206(tt) → tt
U21(tt, X, Y) → U22(isLNatKind(activate(X)), activate(X), activate(Y))
U211(tt) → tt
U22(tt, X, Y) → U23(isLNat(activate(Y)), activate(X), activate(Y))
U221(tt) → tt
U23(tt, X, Y) → U24(isLNatKind(activate(Y)), activate(X))
U231(tt, V2) → U232(isLNatKind(activate(V2)))
U232(tt) → tt
U24(tt, X) → activate(X)
U241(tt, V1, V2) → U242(isLNatKind(activate(V1)), activate(V1), activate(V2))
U242(tt, V1, V2) → U243(isLNatKind(activate(V2)), activate(V1), activate(V2))
U243(tt, V1, V2) → U244(isLNatKind(activate(V2)), activate(V1), activate(V2))
U244(tt, V1, V2) → U245(isLNat(activate(V1)), activate(V2))
U245(tt, V2) → U246(isLNat(activate(V2)))
U246(tt) → tt
U251(tt, V1, V2) → U252(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U252(tt, V1, V2) → U253(isLNatKind(activate(V2)), activate(V1), activate(V2))
U253(tt, V1, V2) → U254(isLNatKind(activate(V2)), activate(V1), activate(V2))
U254(tt, V1, V2) → U255(isNatural(activate(V1)), activate(V2))
U255(tt, V2) → U256(isLNat(activate(V2)))
U256(tt) → tt
U261(tt, V2) → U262(isLNatKind(activate(V2)))
U262(tt) → tt
U271(tt, V2) → U272(isLNatKind(activate(V2)))
U272(tt) → tt
U281(tt, N) → U282(isNaturalKind(activate(N)), activate(N))
U282(tt, N) → cons(activate(N), n__natsFrom(n__s(activate(N))))
U291(tt, N, XS) → U292(isNaturalKind(activate(N)), activate(N), activate(XS))
U292(tt, N, XS) → U293(isLNat(activate(XS)), activate(N), activate(XS))
U293(tt, N, XS) → U294(isLNatKind(activate(XS)), activate(N), activate(XS))
U294(tt, N, XS) → head(afterNth(activate(N), activate(XS)))
U301(tt, X, Y) → U302(isLNatKind(activate(X)), activate(Y))
U302(tt, Y) → U303(isLNat(activate(Y)), activate(Y))
U303(tt, Y) → U304(isLNatKind(activate(Y)), activate(Y))
U304(tt, Y) → activate(Y)
U31(tt, N, XS) → U32(isNaturalKind(activate(N)), activate(N), activate(XS))
U311(tt, XS) → U312(isLNatKind(activate(XS)), activate(XS))
U312(tt, XS) → pair(nil, activate(XS))
U32(tt, N, XS) → U33(isLNat(activate(XS)), activate(N), activate(XS))
U321(tt, N, X, XS) → U322(isNaturalKind(activate(N)), activate(N), activate(X), activate(XS))
U322(tt, N, X, XS) → U323(isNatural(activate(X)), activate(N), activate(X), activate(XS))
U323(tt, N, X, XS) → U324(isNaturalKind(activate(X)), activate(N), activate(X), activate(XS))
U324(tt, N, X, XS) → U325(isLNat(activate(XS)), activate(N), activate(X), activate(XS))
U325(tt, N, X, XS) → U326(isLNatKind(activate(XS)), activate(N), activate(X), activate(XS))
U326(tt, N, X, XS) → U327(splitAt(activate(N), activate(XS)), activate(X))
U327(pair(YS, ZS), X) → pair(cons(activate(X), YS), ZS)
U33(tt, N, XS) → U34(isLNatKind(activate(XS)), activate(N))
U331(tt, N, XS) → U332(isNaturalKind(activate(N)), activate(XS))
U332(tt, XS) → U333(isLNat(activate(XS)), activate(XS))
U333(tt, XS) → U334(isLNatKind(activate(XS)), activate(XS))
U334(tt, XS) → activate(XS)
U34(tt, N) → activate(N)
U341(tt, N, XS) → U342(isNaturalKind(activate(N)), activate(N), activate(XS))
U342(tt, N, XS) → U343(isLNat(activate(XS)), activate(N), activate(XS))
U343(tt, N, XS) → U344(isLNatKind(activate(XS)), activate(N), activate(XS))
U344(tt, N, XS) → fst(splitAt(activate(N), activate(XS)))
U41(tt, V1, V2) → U42(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isLNatKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2) → U44(isLNatKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isNatural(activate(V1)), activate(V2))
U45(tt, V2) → U46(isLNat(activate(V2)))
U46(tt) → tt
U51(tt, V1, V2) → U52(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isLNatKind(activate(V2)), activate(V1), activate(V2))
U53(tt, V1, V2) → U54(isLNatKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNatural(activate(V1)), activate(V2))
U55(tt, V2) → U56(isLNat(activate(V2)))
U56(tt) → tt
U61(tt, V1) → U62(isPLNatKind(activate(V1)), activate(V1))
U62(tt, V1) → U63(isPLNat(activate(V1)))
U63(tt) → tt
U71(tt, V1) → U72(isNaturalKind(activate(V1)), activate(V1))
U72(tt, V1) → U73(isNatural(activate(V1)))
U73(tt) → tt
U81(tt, V1) → U82(isPLNatKind(activate(V1)), activate(V1))
U82(tt, V1) → U83(isPLNat(activate(V1)))
U83(tt) → tt
U91(tt, V1) → U92(isLNatKind(activate(V1)), activate(V1))
U92(tt, V1) → U93(isLNat(activate(V1)))
U93(tt) → tt
afterNth(N, XS) → U11(isNatural(N), N, XS)
fst(pair(X, Y)) → U21(isLNat(X), X, Y)
head(cons(N, XS)) → U31(isNatural(N), N, activate(XS))
isLNat(n__nil) → tt
isLNat(n__afterNth(V1, V2)) → U41(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNat(n__cons(V1, V2)) → U51(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNat(n__fst(V1)) → U61(isPLNatKind(activate(V1)), activate(V1))
isLNat(n__natsFrom(V1)) → U71(isNaturalKind(activate(V1)), activate(V1))
isLNat(n__snd(V1)) → U81(isPLNatKind(activate(V1)), activate(V1))
isLNat(n__tail(V1)) → U91(isLNatKind(activate(V1)), activate(V1))
isLNat(n__take(V1, V2)) → U101(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNatKind(n__nil) → tt
isLNatKind(n__afterNth(V1, V2)) → U111(isNaturalKind(activate(V1)), activate(V2))
isLNatKind(n__cons(V1, V2)) → U121(isNaturalKind(activate(V1)), activate(V2))
isLNatKind(n__fst(V1)) → U131(isPLNatKind(activate(V1)))
isLNatKind(n__natsFrom(V1)) → U141(isNaturalKind(activate(V1)))
isLNatKind(n__snd(V1)) → U151(isPLNatKind(activate(V1)))
isLNatKind(n__tail(V1)) → U161(isLNatKind(activate(V1)))
isLNatKind(n__take(V1, V2)) → U171(isNaturalKind(activate(V1)), activate(V2))
isNatural(n__0) → tt
isNatural(n__head(V1)) → U181(isLNatKind(activate(V1)), activate(V1))
isNatural(n__s(V1)) → U191(isNaturalKind(activate(V1)), activate(V1))
isNatural(n__sel(V1, V2)) → U201(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isNaturalKind(n__0) → tt
isNaturalKind(n__head(V1)) → U211(isLNatKind(activate(V1)))
isNaturalKind(n__s(V1)) → U221(isNaturalKind(activate(V1)))
isNaturalKind(n__sel(V1, V2)) → U231(isNaturalKind(activate(V1)), activate(V2))
isPLNat(n__pair(V1, V2)) → U241(isLNatKind(activate(V1)), activate(V1), activate(V2))
isPLNat(n__splitAt(V1, V2)) → U251(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isPLNatKind(n__pair(V1, V2)) → U261(isLNatKind(activate(V1)), activate(V2))
isPLNatKind(n__splitAt(V1, V2)) → U271(isNaturalKind(activate(V1)), activate(V2))
natsFrom(N) → U281(isNatural(N), N)
sel(N, XS) → U291(isNatural(N), N, XS)
snd(pair(X, Y)) → U301(isLNat(X), X, Y)
splitAt(0, XS) → U311(isLNat(XS), XS)
splitAt(s(N), cons(X, XS)) → U321(isNatural(N), N, X, activate(XS))
tail(cons(N, XS)) → U331(isNatural(N), N, activate(XS))
take(N, XS) → U341(isNatural(N), N, XS)
natsFrom(X) → n__natsFrom(X)
s(X) → n__s(X)
nil → n__nil
afterNth(X1, X2) → n__afterNth(X1, X2)
cons(X1, X2) → n__cons(X1, X2)
fst(X) → n__fst(X)
snd(X) → n__snd(X)
tail(X) → n__tail(X)
take(X1, X2) → n__take(X1, X2)
0 → n__0
head(X) → n__head(X)
sel(X1, X2) → n__sel(X1, X2)
pair(X1, X2) → n__pair(X1, X2)
splitAt(X1, X2) → n__splitAt(X1, X2)
activate(n__natsFrom(X)) → natsFrom(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__nil) → nil
activate(n__afterNth(X1, X2)) → afterNth(activate(X1), activate(X2))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__fst(X)) → fst(activate(X))
activate(n__snd(X)) → snd(activate(X))
activate(n__tail(X)) → tail(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__head(X)) → head(activate(X))
activate(n__sel(X1, X2)) → sel(activate(X1), activate(X2))
activate(n__pair(X1, X2)) → pair(activate(X1), activate(X2))
activate(n__splitAt(X1, X2)) → splitAt(activate(X1), activate(X2))
activate(X) → 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:
U1011(tt, V1, V2) → U1021(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U1011(tt, V1, V2) → ISNATURALKIND(activate(V1))
U1011(tt, V1, V2) → ACTIVATE(V1)
U1011(tt, V1, V2) → ACTIVATE(V2)
U1021(tt, V1, V2) → U1031(isLNatKind(activate(V2)), activate(V1), activate(V2))
U1021(tt, V1, V2) → ISLNATKIND(activate(V2))
U1021(tt, V1, V2) → ACTIVATE(V2)
U1021(tt, V1, V2) → ACTIVATE(V1)
U1031(tt, V1, V2) → U1041(isLNatKind(activate(V2)), activate(V1), activate(V2))
U1031(tt, V1, V2) → ISLNATKIND(activate(V2))
U1031(tt, V1, V2) → ACTIVATE(V2)
U1031(tt, V1, V2) → ACTIVATE(V1)
U1041(tt, V1, V2) → U1051(isNatural(activate(V1)), activate(V2))
U1041(tt, V1, V2) → ISNATURAL(activate(V1))
U1041(tt, V1, V2) → ACTIVATE(V1)
U1041(tt, V1, V2) → ACTIVATE(V2)
U1051(tt, V2) → U1061(isLNat(activate(V2)))
U1051(tt, V2) → ISLNAT(activate(V2))
U1051(tt, V2) → ACTIVATE(V2)
U111(tt, N, XS) → U121(isNaturalKind(activate(N)), activate(N), activate(XS))
U111(tt, N, XS) → ISNATURALKIND(activate(N))
U111(tt, N, XS) → ACTIVATE(N)
U111(tt, N, XS) → ACTIVATE(XS)
U1111(tt, V2) → U1121(isLNatKind(activate(V2)))
U1111(tt, V2) → ISLNATKIND(activate(V2))
U1111(tt, V2) → ACTIVATE(V2)
U121(tt, N, XS) → U131(isLNat(activate(XS)), activate(N), activate(XS))
U121(tt, N, XS) → ISLNAT(activate(XS))
U121(tt, N, XS) → ACTIVATE(XS)
U121(tt, N, XS) → ACTIVATE(N)
U1211(tt, V2) → U1221(isLNatKind(activate(V2)))
U1211(tt, V2) → ISLNATKIND(activate(V2))
U1211(tt, V2) → ACTIVATE(V2)
U131(tt, N, XS) → U141(isLNatKind(activate(XS)), activate(N), activate(XS))
U131(tt, N, XS) → ISLNATKIND(activate(XS))
U131(tt, N, XS) → ACTIVATE(XS)
U131(tt, N, XS) → ACTIVATE(N)
U141(tt, N, XS) → SND(splitAt(activate(N), activate(XS)))
U141(tt, N, XS) → SPLITAT(activate(N), activate(XS))
U141(tt, N, XS) → ACTIVATE(N)
U141(tt, N, XS) → ACTIVATE(XS)
U1711(tt, V2) → U1721(isLNatKind(activate(V2)))
U1711(tt, V2) → ISLNATKIND(activate(V2))
U1711(tt, V2) → ACTIVATE(V2)
U1811(tt, V1) → U1821(isLNatKind(activate(V1)), activate(V1))
U1811(tt, V1) → ISLNATKIND(activate(V1))
U1811(tt, V1) → ACTIVATE(V1)
U1821(tt, V1) → U1831(isLNat(activate(V1)))
U1821(tt, V1) → ISLNAT(activate(V1))
U1821(tt, V1) → ACTIVATE(V1)
U1911(tt, V1) → U1921(isNaturalKind(activate(V1)), activate(V1))
U1911(tt, V1) → ISNATURALKIND(activate(V1))
U1911(tt, V1) → ACTIVATE(V1)
U1921(tt, V1) → U1931(isNatural(activate(V1)))
U1921(tt, V1) → ISNATURAL(activate(V1))
U1921(tt, V1) → ACTIVATE(V1)
U2011(tt, V1, V2) → U2021(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U2011(tt, V1, V2) → ISNATURALKIND(activate(V1))
U2011(tt, V1, V2) → ACTIVATE(V1)
U2011(tt, V1, V2) → ACTIVATE(V2)
U2021(tt, V1, V2) → U2031(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2021(tt, V1, V2) → ISLNATKIND(activate(V2))
U2021(tt, V1, V2) → ACTIVATE(V2)
U2021(tt, V1, V2) → ACTIVATE(V1)
U2031(tt, V1, V2) → U2041(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2031(tt, V1, V2) → ISLNATKIND(activate(V2))
U2031(tt, V1, V2) → ACTIVATE(V2)
U2031(tt, V1, V2) → ACTIVATE(V1)
U2041(tt, V1, V2) → U2051(isNatural(activate(V1)), activate(V2))
U2041(tt, V1, V2) → ISNATURAL(activate(V1))
U2041(tt, V1, V2) → ACTIVATE(V1)
U2041(tt, V1, V2) → ACTIVATE(V2)
U2051(tt, V2) → U2061(isLNat(activate(V2)))
U2051(tt, V2) → ISLNAT(activate(V2))
U2051(tt, V2) → ACTIVATE(V2)
U211(tt, X, Y) → U221(isLNatKind(activate(X)), activate(X), activate(Y))
U211(tt, X, Y) → ISLNATKIND(activate(X))
U211(tt, X, Y) → ACTIVATE(X)
U211(tt, X, Y) → ACTIVATE(Y)
U221(tt, X, Y) → U231(isLNat(activate(Y)), activate(X), activate(Y))
U221(tt, X, Y) → ISLNAT(activate(Y))
U221(tt, X, Y) → ACTIVATE(Y)
U221(tt, X, Y) → ACTIVATE(X)
U231(tt, X, Y) → U241(isLNatKind(activate(Y)), activate(X))
U231(tt, X, Y) → ISLNATKIND(activate(Y))
U231(tt, X, Y) → ACTIVATE(Y)
U231(tt, X, Y) → ACTIVATE(X)
U2311(tt, V2) → U2321(isLNatKind(activate(V2)))
U2311(tt, V2) → ISLNATKIND(activate(V2))
U2311(tt, V2) → ACTIVATE(V2)
U241(tt, X) → ACTIVATE(X)
U2411(tt, V1, V2) → U2421(isLNatKind(activate(V1)), activate(V1), activate(V2))
U2411(tt, V1, V2) → ISLNATKIND(activate(V1))
U2411(tt, V1, V2) → ACTIVATE(V1)
U2411(tt, V1, V2) → ACTIVATE(V2)
U2421(tt, V1, V2) → U2431(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2421(tt, V1, V2) → ISLNATKIND(activate(V2))
U2421(tt, V1, V2) → ACTIVATE(V2)
U2421(tt, V1, V2) → ACTIVATE(V1)
U2431(tt, V1, V2) → U2441(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2431(tt, V1, V2) → ISLNATKIND(activate(V2))
U2431(tt, V1, V2) → ACTIVATE(V2)
U2431(tt, V1, V2) → ACTIVATE(V1)
U2441(tt, V1, V2) → U2451(isLNat(activate(V1)), activate(V2))
U2441(tt, V1, V2) → ISLNAT(activate(V1))
U2441(tt, V1, V2) → ACTIVATE(V1)
U2441(tt, V1, V2) → ACTIVATE(V2)
U2451(tt, V2) → U2461(isLNat(activate(V2)))
U2451(tt, V2) → ISLNAT(activate(V2))
U2451(tt, V2) → ACTIVATE(V2)
U2511(tt, V1, V2) → U2521(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U2511(tt, V1, V2) → ISNATURALKIND(activate(V1))
U2511(tt, V1, V2) → ACTIVATE(V1)
U2511(tt, V1, V2) → ACTIVATE(V2)
U2521(tt, V1, V2) → U2531(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2521(tt, V1, V2) → ISLNATKIND(activate(V2))
U2521(tt, V1, V2) → ACTIVATE(V2)
U2521(tt, V1, V2) → ACTIVATE(V1)
U2531(tt, V1, V2) → U2541(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2531(tt, V1, V2) → ISLNATKIND(activate(V2))
U2531(tt, V1, V2) → ACTIVATE(V2)
U2531(tt, V1, V2) → ACTIVATE(V1)
U2541(tt, V1, V2) → U2551(isNatural(activate(V1)), activate(V2))
U2541(tt, V1, V2) → ISNATURAL(activate(V1))
U2541(tt, V1, V2) → ACTIVATE(V1)
U2541(tt, V1, V2) → ACTIVATE(V2)
U2551(tt, V2) → U2561(isLNat(activate(V2)))
U2551(tt, V2) → ISLNAT(activate(V2))
U2551(tt, V2) → ACTIVATE(V2)
U2611(tt, V2) → U2621(isLNatKind(activate(V2)))
U2611(tt, V2) → ISLNATKIND(activate(V2))
U2611(tt, V2) → ACTIVATE(V2)
U2711(tt, V2) → U2721(isLNatKind(activate(V2)))
U2711(tt, V2) → ISLNATKIND(activate(V2))
U2711(tt, V2) → ACTIVATE(V2)
U2811(tt, N) → U2821(isNaturalKind(activate(N)), activate(N))
U2811(tt, N) → ISNATURALKIND(activate(N))
U2811(tt, N) → ACTIVATE(N)
U2821(tt, N) → CONS(activate(N), n__natsFrom(n__s(activate(N))))
U2821(tt, N) → ACTIVATE(N)
U2911(tt, N, XS) → U2921(isNaturalKind(activate(N)), activate(N), activate(XS))
U2911(tt, N, XS) → ISNATURALKIND(activate(N))
U2911(tt, N, XS) → ACTIVATE(N)
U2911(tt, N, XS) → ACTIVATE(XS)
U2921(tt, N, XS) → U2931(isLNat(activate(XS)), activate(N), activate(XS))
U2921(tt, N, XS) → ISLNAT(activate(XS))
U2921(tt, N, XS) → ACTIVATE(XS)
U2921(tt, N, XS) → ACTIVATE(N)
U2931(tt, N, XS) → U2941(isLNatKind(activate(XS)), activate(N), activate(XS))
U2931(tt, N, XS) → ISLNATKIND(activate(XS))
U2931(tt, N, XS) → ACTIVATE(XS)
U2931(tt, N, XS) → ACTIVATE(N)
U2941(tt, N, XS) → HEAD(afterNth(activate(N), activate(XS)))
U2941(tt, N, XS) → AFTERNTH(activate(N), activate(XS))
U2941(tt, N, XS) → ACTIVATE(N)
U2941(tt, N, XS) → ACTIVATE(XS)
U3011(tt, X, Y) → U3021(isLNatKind(activate(X)), activate(Y))
U3011(tt, X, Y) → ISLNATKIND(activate(X))
U3011(tt, X, Y) → ACTIVATE(X)
U3011(tt, X, Y) → ACTIVATE(Y)
U3021(tt, Y) → U3031(isLNat(activate(Y)), activate(Y))
U3021(tt, Y) → ISLNAT(activate(Y))
U3021(tt, Y) → ACTIVATE(Y)
U3031(tt, Y) → U3041(isLNatKind(activate(Y)), activate(Y))
U3031(tt, Y) → ISLNATKIND(activate(Y))
U3031(tt, Y) → ACTIVATE(Y)
U3041(tt, Y) → ACTIVATE(Y)
U311(tt, N, XS) → U321(isNaturalKind(activate(N)), activate(N), activate(XS))
U311(tt, N, XS) → ISNATURALKIND(activate(N))
U311(tt, N, XS) → ACTIVATE(N)
U311(tt, N, XS) → ACTIVATE(XS)
U3111(tt, XS) → U3121(isLNatKind(activate(XS)), activate(XS))
U3111(tt, XS) → ISLNATKIND(activate(XS))
U3111(tt, XS) → ACTIVATE(XS)
U3121(tt, XS) → PAIR(nil, activate(XS))
U3121(tt, XS) → NIL
U3121(tt, XS) → ACTIVATE(XS)
U321(tt, N, XS) → U331(isLNat(activate(XS)), activate(N), activate(XS))
U321(tt, N, XS) → ISLNAT(activate(XS))
U321(tt, N, XS) → ACTIVATE(XS)
U321(tt, N, XS) → ACTIVATE(N)
U3211(tt, N, X, XS) → U3221(isNaturalKind(activate(N)), activate(N), activate(X), activate(XS))
U3211(tt, N, X, XS) → ISNATURALKIND(activate(N))
U3211(tt, N, X, XS) → ACTIVATE(N)
U3211(tt, N, X, XS) → ACTIVATE(X)
U3211(tt, N, X, XS) → ACTIVATE(XS)
U3221(tt, N, X, XS) → U3231(isNatural(activate(X)), activate(N), activate(X), activate(XS))
U3221(tt, N, X, XS) → ISNATURAL(activate(X))
U3221(tt, N, X, XS) → ACTIVATE(X)
U3221(tt, N, X, XS) → ACTIVATE(N)
U3221(tt, N, X, XS) → ACTIVATE(XS)
U3231(tt, N, X, XS) → U3241(isNaturalKind(activate(X)), activate(N), activate(X), activate(XS))
U3231(tt, N, X, XS) → ISNATURALKIND(activate(X))
U3231(tt, N, X, XS) → ACTIVATE(X)
U3231(tt, N, X, XS) → ACTIVATE(N)
U3231(tt, N, X, XS) → ACTIVATE(XS)
U3241(tt, N, X, XS) → U3251(isLNat(activate(XS)), activate(N), activate(X), activate(XS))
U3241(tt, N, X, XS) → ISLNAT(activate(XS))
U3241(tt, N, X, XS) → ACTIVATE(XS)
U3241(tt, N, X, XS) → ACTIVATE(N)
U3241(tt, N, X, XS) → ACTIVATE(X)
U3251(tt, N, X, XS) → U3261(isLNatKind(activate(XS)), activate(N), activate(X), activate(XS))
U3251(tt, N, X, XS) → ISLNATKIND(activate(XS))
U3251(tt, N, X, XS) → ACTIVATE(XS)
U3251(tt, N, X, XS) → ACTIVATE(N)
U3251(tt, N, X, XS) → ACTIVATE(X)
U3261(tt, N, X, XS) → U3271(splitAt(activate(N), activate(XS)), activate(X))
U3261(tt, N, X, XS) → SPLITAT(activate(N), activate(XS))
U3261(tt, N, X, XS) → ACTIVATE(N)
U3261(tt, N, X, XS) → ACTIVATE(XS)
U3261(tt, N, X, XS) → ACTIVATE(X)
U3271(pair(YS, ZS), X) → PAIR(cons(activate(X), YS), ZS)
U3271(pair(YS, ZS), X) → CONS(activate(X), YS)
U3271(pair(YS, ZS), X) → ACTIVATE(X)
U331(tt, N, XS) → U341(isLNatKind(activate(XS)), activate(N))
U331(tt, N, XS) → ISLNATKIND(activate(XS))
U331(tt, N, XS) → ACTIVATE(XS)
U331(tt, N, XS) → ACTIVATE(N)
U3311(tt, N, XS) → U3321(isNaturalKind(activate(N)), activate(XS))
U3311(tt, N, XS) → ISNATURALKIND(activate(N))
U3311(tt, N, XS) → ACTIVATE(N)
U3311(tt, N, XS) → ACTIVATE(XS)
U3321(tt, XS) → U3331(isLNat(activate(XS)), activate(XS))
U3321(tt, XS) → ISLNAT(activate(XS))
U3321(tt, XS) → ACTIVATE(XS)
U3331(tt, XS) → U3341(isLNatKind(activate(XS)), activate(XS))
U3331(tt, XS) → ISLNATKIND(activate(XS))
U3331(tt, XS) → ACTIVATE(XS)
U3341(tt, XS) → ACTIVATE(XS)
U341(tt, N) → ACTIVATE(N)
U3411(tt, N, XS) → U3421(isNaturalKind(activate(N)), activate(N), activate(XS))
U3411(tt, N, XS) → ISNATURALKIND(activate(N))
U3411(tt, N, XS) → ACTIVATE(N)
U3411(tt, N, XS) → ACTIVATE(XS)
U3421(tt, N, XS) → U3431(isLNat(activate(XS)), activate(N), activate(XS))
U3421(tt, N, XS) → ISLNAT(activate(XS))
U3421(tt, N, XS) → ACTIVATE(XS)
U3421(tt, N, XS) → ACTIVATE(N)
U3431(tt, N, XS) → U3441(isLNatKind(activate(XS)), activate(N), activate(XS))
U3431(tt, N, XS) → ISLNATKIND(activate(XS))
U3431(tt, N, XS) → ACTIVATE(XS)
U3431(tt, N, XS) → ACTIVATE(N)
U3441(tt, N, XS) → FST(splitAt(activate(N), activate(XS)))
U3441(tt, N, XS) → SPLITAT(activate(N), activate(XS))
U3441(tt, N, XS) → ACTIVATE(N)
U3441(tt, N, XS) → ACTIVATE(XS)
U411(tt, V1, V2) → U421(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U411(tt, V1, V2) → ISNATURALKIND(activate(V1))
U411(tt, V1, V2) → ACTIVATE(V1)
U411(tt, V1, V2) → ACTIVATE(V2)
U421(tt, V1, V2) → U431(isLNatKind(activate(V2)), activate(V1), activate(V2))
U421(tt, V1, V2) → ISLNATKIND(activate(V2))
U421(tt, V1, V2) → ACTIVATE(V2)
U421(tt, V1, V2) → ACTIVATE(V1)
U431(tt, V1, V2) → U441(isLNatKind(activate(V2)), activate(V1), activate(V2))
U431(tt, V1, V2) → ISLNATKIND(activate(V2))
U431(tt, V1, V2) → ACTIVATE(V2)
U431(tt, V1, V2) → ACTIVATE(V1)
U441(tt, V1, V2) → U451(isNatural(activate(V1)), activate(V2))
U441(tt, V1, V2) → ISNATURAL(activate(V1))
U441(tt, V1, V2) → ACTIVATE(V1)
U441(tt, V1, V2) → ACTIVATE(V2)
U451(tt, V2) → U461(isLNat(activate(V2)))
U451(tt, V2) → ISLNAT(activate(V2))
U451(tt, V2) → ACTIVATE(V2)
U511(tt, V1, V2) → U521(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U511(tt, V1, V2) → ISNATURALKIND(activate(V1))
U511(tt, V1, V2) → ACTIVATE(V1)
U511(tt, V1, V2) → ACTIVATE(V2)
U521(tt, V1, V2) → U531(isLNatKind(activate(V2)), activate(V1), activate(V2))
U521(tt, V1, V2) → ISLNATKIND(activate(V2))
U521(tt, V1, V2) → ACTIVATE(V2)
U521(tt, V1, V2) → ACTIVATE(V1)
U531(tt, V1, V2) → U541(isLNatKind(activate(V2)), activate(V1), activate(V2))
U531(tt, V1, V2) → ISLNATKIND(activate(V2))
U531(tt, V1, V2) → ACTIVATE(V2)
U531(tt, V1, V2) → ACTIVATE(V1)
U541(tt, V1, V2) → U551(isNatural(activate(V1)), activate(V2))
U541(tt, V1, V2) → ISNATURAL(activate(V1))
U541(tt, V1, V2) → ACTIVATE(V1)
U541(tt, V1, V2) → ACTIVATE(V2)
U551(tt, V2) → U561(isLNat(activate(V2)))
U551(tt, V2) → ISLNAT(activate(V2))
U551(tt, V2) → ACTIVATE(V2)
U611(tt, V1) → U621(isPLNatKind(activate(V1)), activate(V1))
U611(tt, V1) → ISPLNATKIND(activate(V1))
U611(tt, V1) → ACTIVATE(V1)
U621(tt, V1) → U631(isPLNat(activate(V1)))
U621(tt, V1) → ISPLNAT(activate(V1))
U621(tt, V1) → ACTIVATE(V1)
U711(tt, V1) → U721(isNaturalKind(activate(V1)), activate(V1))
U711(tt, V1) → ISNATURALKIND(activate(V1))
U711(tt, V1) → ACTIVATE(V1)
U721(tt, V1) → U731(isNatural(activate(V1)))
U721(tt, V1) → ISNATURAL(activate(V1))
U721(tt, V1) → ACTIVATE(V1)
U811(tt, V1) → U821(isPLNatKind(activate(V1)), activate(V1))
U811(tt, V1) → ISPLNATKIND(activate(V1))
U811(tt, V1) → ACTIVATE(V1)
U821(tt, V1) → U831(isPLNat(activate(V1)))
U821(tt, V1) → ISPLNAT(activate(V1))
U821(tt, V1) → ACTIVATE(V1)
U911(tt, V1) → U921(isLNatKind(activate(V1)), activate(V1))
U911(tt, V1) → ISLNATKIND(activate(V1))
U911(tt, V1) → ACTIVATE(V1)
U921(tt, V1) → U931(isLNat(activate(V1)))
U921(tt, V1) → ISLNAT(activate(V1))
U921(tt, V1) → ACTIVATE(V1)
AFTERNTH(N, XS) → U111(isNatural(N), N, XS)
AFTERNTH(N, XS) → ISNATURAL(N)
FST(pair(X, Y)) → U211(isLNat(X), X, Y)
FST(pair(X, Y)) → ISLNAT(X)
HEAD(cons(N, XS)) → U311(isNatural(N), N, activate(XS))
HEAD(cons(N, XS)) → ISNATURAL(N)
HEAD(cons(N, XS)) → ACTIVATE(XS)
ISLNAT(n__afterNth(V1, V2)) → U411(isNaturalKind(activate(V1)), activate(V1), activate(V2))
ISLNAT(n__afterNth(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNAT(n__afterNth(V1, V2)) → ACTIVATE(V1)
ISLNAT(n__afterNth(V1, V2)) → ACTIVATE(V2)
ISLNAT(n__cons(V1, V2)) → U511(isNaturalKind(activate(V1)), activate(V1), activate(V2))
ISLNAT(n__cons(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNAT(n__cons(V1, V2)) → ACTIVATE(V1)
ISLNAT(n__cons(V1, V2)) → ACTIVATE(V2)
ISLNAT(n__fst(V1)) → U611(isPLNatKind(activate(V1)), activate(V1))
ISLNAT(n__fst(V1)) → ISPLNATKIND(activate(V1))
ISLNAT(n__fst(V1)) → ACTIVATE(V1)
ISLNAT(n__natsFrom(V1)) → U711(isNaturalKind(activate(V1)), activate(V1))
ISLNAT(n__natsFrom(V1)) → ISNATURALKIND(activate(V1))
ISLNAT(n__natsFrom(V1)) → ACTIVATE(V1)
ISLNAT(n__snd(V1)) → U811(isPLNatKind(activate(V1)), activate(V1))
ISLNAT(n__snd(V1)) → ISPLNATKIND(activate(V1))
ISLNAT(n__snd(V1)) → ACTIVATE(V1)
ISLNAT(n__tail(V1)) → U911(isLNatKind(activate(V1)), activate(V1))
ISLNAT(n__tail(V1)) → ISLNATKIND(activate(V1))
ISLNAT(n__tail(V1)) → ACTIVATE(V1)
ISLNAT(n__take(V1, V2)) → U1011(isNaturalKind(activate(V1)), activate(V1), activate(V2))
ISLNAT(n__take(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNAT(n__take(V1, V2)) → ACTIVATE(V1)
ISLNAT(n__take(V1, V2)) → ACTIVATE(V2)
ISLNATKIND(n__afterNth(V1, V2)) → U1111(isNaturalKind(activate(V1)), activate(V2))
ISLNATKIND(n__afterNth(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNATKIND(n__afterNth(V1, V2)) → ACTIVATE(V1)
ISLNATKIND(n__afterNth(V1, V2)) → ACTIVATE(V2)
ISLNATKIND(n__cons(V1, V2)) → U1211(isNaturalKind(activate(V1)), activate(V2))
ISLNATKIND(n__cons(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNATKIND(n__cons(V1, V2)) → ACTIVATE(V1)
ISLNATKIND(n__cons(V1, V2)) → ACTIVATE(V2)
ISLNATKIND(n__fst(V1)) → U1311(isPLNatKind(activate(V1)))
ISLNATKIND(n__fst(V1)) → ISPLNATKIND(activate(V1))
ISLNATKIND(n__fst(V1)) → ACTIVATE(V1)
ISLNATKIND(n__natsFrom(V1)) → U1411(isNaturalKind(activate(V1)))
ISLNATKIND(n__natsFrom(V1)) → ISNATURALKIND(activate(V1))
ISLNATKIND(n__natsFrom(V1)) → ACTIVATE(V1)
ISLNATKIND(n__snd(V1)) → U1511(isPLNatKind(activate(V1)))
ISLNATKIND(n__snd(V1)) → ISPLNATKIND(activate(V1))
ISLNATKIND(n__snd(V1)) → ACTIVATE(V1)
ISLNATKIND(n__tail(V1)) → U1611(isLNatKind(activate(V1)))
ISLNATKIND(n__tail(V1)) → ISLNATKIND(activate(V1))
ISLNATKIND(n__tail(V1)) → ACTIVATE(V1)
ISLNATKIND(n__take(V1, V2)) → U1711(isNaturalKind(activate(V1)), activate(V2))
ISLNATKIND(n__take(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNATKIND(n__take(V1, V2)) → ACTIVATE(V1)
ISLNATKIND(n__take(V1, V2)) → ACTIVATE(V2)
ISNATURAL(n__head(V1)) → U1811(isLNatKind(activate(V1)), activate(V1))
ISNATURAL(n__head(V1)) → ISLNATKIND(activate(V1))
ISNATURAL(n__head(V1)) → ACTIVATE(V1)
ISNATURAL(n__s(V1)) → U1911(isNaturalKind(activate(V1)), activate(V1))
ISNATURAL(n__s(V1)) → ISNATURALKIND(activate(V1))
ISNATURAL(n__s(V1)) → ACTIVATE(V1)
ISNATURAL(n__sel(V1, V2)) → U2011(isNaturalKind(activate(V1)), activate(V1), activate(V2))
ISNATURAL(n__sel(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURAL(n__sel(V1, V2)) → ACTIVATE(V1)
ISNATURAL(n__sel(V1, V2)) → ACTIVATE(V2)
ISNATURALKIND(n__head(V1)) → U2111(isLNatKind(activate(V1)))
ISNATURALKIND(n__head(V1)) → ISLNATKIND(activate(V1))
ISNATURALKIND(n__head(V1)) → ACTIVATE(V1)
ISNATURALKIND(n__s(V1)) → U2211(isNaturalKind(activate(V1)))
ISNATURALKIND(n__s(V1)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__s(V1)) → ACTIVATE(V1)
ISNATURALKIND(n__sel(V1, V2)) → U2311(isNaturalKind(activate(V1)), activate(V2))
ISNATURALKIND(n__sel(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__sel(V1, V2)) → ACTIVATE(V1)
ISNATURALKIND(n__sel(V1, V2)) → ACTIVATE(V2)
ISPLNAT(n__pair(V1, V2)) → U2411(isLNatKind(activate(V1)), activate(V1), activate(V2))
ISPLNAT(n__pair(V1, V2)) → ISLNATKIND(activate(V1))
ISPLNAT(n__pair(V1, V2)) → ACTIVATE(V1)
ISPLNAT(n__pair(V1, V2)) → ACTIVATE(V2)
ISPLNAT(n__splitAt(V1, V2)) → U2511(isNaturalKind(activate(V1)), activate(V1), activate(V2))
ISPLNAT(n__splitAt(V1, V2)) → ISNATURALKIND(activate(V1))
ISPLNAT(n__splitAt(V1, V2)) → ACTIVATE(V1)
ISPLNAT(n__splitAt(V1, V2)) → ACTIVATE(V2)
ISPLNATKIND(n__pair(V1, V2)) → U2611(isLNatKind(activate(V1)), activate(V2))
ISPLNATKIND(n__pair(V1, V2)) → ISLNATKIND(activate(V1))
ISPLNATKIND(n__pair(V1, V2)) → ACTIVATE(V1)
ISPLNATKIND(n__pair(V1, V2)) → ACTIVATE(V2)
ISPLNATKIND(n__splitAt(V1, V2)) → U2711(isNaturalKind(activate(V1)), activate(V2))
ISPLNATKIND(n__splitAt(V1, V2)) → ISNATURALKIND(activate(V1))
ISPLNATKIND(n__splitAt(V1, V2)) → ACTIVATE(V1)
ISPLNATKIND(n__splitAt(V1, V2)) → ACTIVATE(V2)
NATSFROM(N) → U2811(isNatural(N), N)
NATSFROM(N) → ISNATURAL(N)
SEL(N, XS) → U2911(isNatural(N), N, XS)
SEL(N, XS) → ISNATURAL(N)
SND(pair(X, Y)) → U3011(isLNat(X), X, Y)
SND(pair(X, Y)) → ISLNAT(X)
SPLITAT(0, XS) → U3111(isLNat(XS), XS)
SPLITAT(0, XS) → ISLNAT(XS)
SPLITAT(s(N), cons(X, XS)) → U3211(isNatural(N), N, X, activate(XS))
SPLITAT(s(N), cons(X, XS)) → ISNATURAL(N)
SPLITAT(s(N), cons(X, XS)) → ACTIVATE(XS)
TAIL(cons(N, XS)) → U3311(isNatural(N), N, activate(XS))
TAIL(cons(N, XS)) → ISNATURAL(N)
TAIL(cons(N, XS)) → ACTIVATE(XS)
TAKE(N, XS) → U3411(isNatural(N), N, XS)
TAKE(N, XS) → ISNATURAL(N)
ACTIVATE(n__natsFrom(X)) → NATSFROM(activate(X))
ACTIVATE(n__natsFrom(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → S(activate(X))
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__nil) → NIL
ACTIVATE(n__afterNth(X1, X2)) → AFTERNTH(activate(X1), activate(X2))
ACTIVATE(n__afterNth(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__afterNth(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__cons(X1, X2)) → CONS(activate(X1), X2)
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__fst(X)) → FST(activate(X))
ACTIVATE(n__fst(X)) → ACTIVATE(X)
ACTIVATE(n__snd(X)) → SND(activate(X))
ACTIVATE(n__snd(X)) → ACTIVATE(X)
ACTIVATE(n__tail(X)) → TAIL(activate(X))
ACTIVATE(n__tail(X)) → ACTIVATE(X)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__0) → 01
ACTIVATE(n__head(X)) → HEAD(activate(X))
ACTIVATE(n__head(X)) → ACTIVATE(X)
ACTIVATE(n__sel(X1, X2)) → SEL(activate(X1), activate(X2))
ACTIVATE(n__sel(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__sel(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__pair(X1, X2)) → PAIR(activate(X1), activate(X2))
ACTIVATE(n__pair(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__pair(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__splitAt(X1, X2)) → SPLITAT(activate(X1), activate(X2))
ACTIVATE(n__splitAt(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__splitAt(X1, X2)) → ACTIVATE(X2)
The TRS R consists of the following rules:
U101(tt, V1, V2) → U102(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2) → U103(isLNatKind(activate(V2)), activate(V1), activate(V2))
U103(tt, V1, V2) → U104(isLNatKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2) → U105(isNatural(activate(V1)), activate(V2))
U105(tt, V2) → U106(isLNat(activate(V2)))
U106(tt) → tt
U11(tt, N, XS) → U12(isNaturalKind(activate(N)), activate(N), activate(XS))
U111(tt, V2) → U112(isLNatKind(activate(V2)))
U112(tt) → tt
U12(tt, N, XS) → U13(isLNat(activate(XS)), activate(N), activate(XS))
U121(tt, V2) → U122(isLNatKind(activate(V2)))
U122(tt) → tt
U13(tt, N, XS) → U14(isLNatKind(activate(XS)), activate(N), activate(XS))
U131(tt) → tt
U14(tt, N, XS) → snd(splitAt(activate(N), activate(XS)))
U141(tt) → tt
U151(tt) → tt
U161(tt) → tt
U171(tt, V2) → U172(isLNatKind(activate(V2)))
U172(tt) → tt
U181(tt, V1) → U182(isLNatKind(activate(V1)), activate(V1))
U182(tt, V1) → U183(isLNat(activate(V1)))
U183(tt) → tt
U191(tt, V1) → U192(isNaturalKind(activate(V1)), activate(V1))
U192(tt, V1) → U193(isNatural(activate(V1)))
U193(tt) → tt
U201(tt, V1, V2) → U202(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U202(tt, V1, V2) → U203(isLNatKind(activate(V2)), activate(V1), activate(V2))
U203(tt, V1, V2) → U204(isLNatKind(activate(V2)), activate(V1), activate(V2))
U204(tt, V1, V2) → U205(isNatural(activate(V1)), activate(V2))
U205(tt, V2) → U206(isLNat(activate(V2)))
U206(tt) → tt
U21(tt, X, Y) → U22(isLNatKind(activate(X)), activate(X), activate(Y))
U211(tt) → tt
U22(tt, X, Y) → U23(isLNat(activate(Y)), activate(X), activate(Y))
U221(tt) → tt
U23(tt, X, Y) → U24(isLNatKind(activate(Y)), activate(X))
U231(tt, V2) → U232(isLNatKind(activate(V2)))
U232(tt) → tt
U24(tt, X) → activate(X)
U241(tt, V1, V2) → U242(isLNatKind(activate(V1)), activate(V1), activate(V2))
U242(tt, V1, V2) → U243(isLNatKind(activate(V2)), activate(V1), activate(V2))
U243(tt, V1, V2) → U244(isLNatKind(activate(V2)), activate(V1), activate(V2))
U244(tt, V1, V2) → U245(isLNat(activate(V1)), activate(V2))
U245(tt, V2) → U246(isLNat(activate(V2)))
U246(tt) → tt
U251(tt, V1, V2) → U252(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U252(tt, V1, V2) → U253(isLNatKind(activate(V2)), activate(V1), activate(V2))
U253(tt, V1, V2) → U254(isLNatKind(activate(V2)), activate(V1), activate(V2))
U254(tt, V1, V2) → U255(isNatural(activate(V1)), activate(V2))
U255(tt, V2) → U256(isLNat(activate(V2)))
U256(tt) → tt
U261(tt, V2) → U262(isLNatKind(activate(V2)))
U262(tt) → tt
U271(tt, V2) → U272(isLNatKind(activate(V2)))
U272(tt) → tt
U281(tt, N) → U282(isNaturalKind(activate(N)), activate(N))
U282(tt, N) → cons(activate(N), n__natsFrom(n__s(activate(N))))
U291(tt, N, XS) → U292(isNaturalKind(activate(N)), activate(N), activate(XS))
U292(tt, N, XS) → U293(isLNat(activate(XS)), activate(N), activate(XS))
U293(tt, N, XS) → U294(isLNatKind(activate(XS)), activate(N), activate(XS))
U294(tt, N, XS) → head(afterNth(activate(N), activate(XS)))
U301(tt, X, Y) → U302(isLNatKind(activate(X)), activate(Y))
U302(tt, Y) → U303(isLNat(activate(Y)), activate(Y))
U303(tt, Y) → U304(isLNatKind(activate(Y)), activate(Y))
U304(tt, Y) → activate(Y)
U31(tt, N, XS) → U32(isNaturalKind(activate(N)), activate(N), activate(XS))
U311(tt, XS) → U312(isLNatKind(activate(XS)), activate(XS))
U312(tt, XS) → pair(nil, activate(XS))
U32(tt, N, XS) → U33(isLNat(activate(XS)), activate(N), activate(XS))
U321(tt, N, X, XS) → U322(isNaturalKind(activate(N)), activate(N), activate(X), activate(XS))
U322(tt, N, X, XS) → U323(isNatural(activate(X)), activate(N), activate(X), activate(XS))
U323(tt, N, X, XS) → U324(isNaturalKind(activate(X)), activate(N), activate(X), activate(XS))
U324(tt, N, X, XS) → U325(isLNat(activate(XS)), activate(N), activate(X), activate(XS))
U325(tt, N, X, XS) → U326(isLNatKind(activate(XS)), activate(N), activate(X), activate(XS))
U326(tt, N, X, XS) → U327(splitAt(activate(N), activate(XS)), activate(X))
U327(pair(YS, ZS), X) → pair(cons(activate(X), YS), ZS)
U33(tt, N, XS) → U34(isLNatKind(activate(XS)), activate(N))
U331(tt, N, XS) → U332(isNaturalKind(activate(N)), activate(XS))
U332(tt, XS) → U333(isLNat(activate(XS)), activate(XS))
U333(tt, XS) → U334(isLNatKind(activate(XS)), activate(XS))
U334(tt, XS) → activate(XS)
U34(tt, N) → activate(N)
U341(tt, N, XS) → U342(isNaturalKind(activate(N)), activate(N), activate(XS))
U342(tt, N, XS) → U343(isLNat(activate(XS)), activate(N), activate(XS))
U343(tt, N, XS) → U344(isLNatKind(activate(XS)), activate(N), activate(XS))
U344(tt, N, XS) → fst(splitAt(activate(N), activate(XS)))
U41(tt, V1, V2) → U42(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isLNatKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2) → U44(isLNatKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isNatural(activate(V1)), activate(V2))
U45(tt, V2) → U46(isLNat(activate(V2)))
U46(tt) → tt
U51(tt, V1, V2) → U52(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isLNatKind(activate(V2)), activate(V1), activate(V2))
U53(tt, V1, V2) → U54(isLNatKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNatural(activate(V1)), activate(V2))
U55(tt, V2) → U56(isLNat(activate(V2)))
U56(tt) → tt
U61(tt, V1) → U62(isPLNatKind(activate(V1)), activate(V1))
U62(tt, V1) → U63(isPLNat(activate(V1)))
U63(tt) → tt
U71(tt, V1) → U72(isNaturalKind(activate(V1)), activate(V1))
U72(tt, V1) → U73(isNatural(activate(V1)))
U73(tt) → tt
U81(tt, V1) → U82(isPLNatKind(activate(V1)), activate(V1))
U82(tt, V1) → U83(isPLNat(activate(V1)))
U83(tt) → tt
U91(tt, V1) → U92(isLNatKind(activate(V1)), activate(V1))
U92(tt, V1) → U93(isLNat(activate(V1)))
U93(tt) → tt
afterNth(N, XS) → U11(isNatural(N), N, XS)
fst(pair(X, Y)) → U21(isLNat(X), X, Y)
head(cons(N, XS)) → U31(isNatural(N), N, activate(XS))
isLNat(n__nil) → tt
isLNat(n__afterNth(V1, V2)) → U41(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNat(n__cons(V1, V2)) → U51(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNat(n__fst(V1)) → U61(isPLNatKind(activate(V1)), activate(V1))
isLNat(n__natsFrom(V1)) → U71(isNaturalKind(activate(V1)), activate(V1))
isLNat(n__snd(V1)) → U81(isPLNatKind(activate(V1)), activate(V1))
isLNat(n__tail(V1)) → U91(isLNatKind(activate(V1)), activate(V1))
isLNat(n__take(V1, V2)) → U101(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNatKind(n__nil) → tt
isLNatKind(n__afterNth(V1, V2)) → U111(isNaturalKind(activate(V1)), activate(V2))
isLNatKind(n__cons(V1, V2)) → U121(isNaturalKind(activate(V1)), activate(V2))
isLNatKind(n__fst(V1)) → U131(isPLNatKind(activate(V1)))
isLNatKind(n__natsFrom(V1)) → U141(isNaturalKind(activate(V1)))
isLNatKind(n__snd(V1)) → U151(isPLNatKind(activate(V1)))
isLNatKind(n__tail(V1)) → U161(isLNatKind(activate(V1)))
isLNatKind(n__take(V1, V2)) → U171(isNaturalKind(activate(V1)), activate(V2))
isNatural(n__0) → tt
isNatural(n__head(V1)) → U181(isLNatKind(activate(V1)), activate(V1))
isNatural(n__s(V1)) → U191(isNaturalKind(activate(V1)), activate(V1))
isNatural(n__sel(V1, V2)) → U201(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isNaturalKind(n__0) → tt
isNaturalKind(n__head(V1)) → U211(isLNatKind(activate(V1)))
isNaturalKind(n__s(V1)) → U221(isNaturalKind(activate(V1)))
isNaturalKind(n__sel(V1, V2)) → U231(isNaturalKind(activate(V1)), activate(V2))
isPLNat(n__pair(V1, V2)) → U241(isLNatKind(activate(V1)), activate(V1), activate(V2))
isPLNat(n__splitAt(V1, V2)) → U251(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isPLNatKind(n__pair(V1, V2)) → U261(isLNatKind(activate(V1)), activate(V2))
isPLNatKind(n__splitAt(V1, V2)) → U271(isNaturalKind(activate(V1)), activate(V2))
natsFrom(N) → U281(isNatural(N), N)
sel(N, XS) → U291(isNatural(N), N, XS)
snd(pair(X, Y)) → U301(isLNat(X), X, Y)
splitAt(0, XS) → U311(isLNat(XS), XS)
splitAt(s(N), cons(X, XS)) → U321(isNatural(N), N, X, activate(XS))
tail(cons(N, XS)) → U331(isNatural(N), N, activate(XS))
take(N, XS) → U341(isNatural(N), N, XS)
natsFrom(X) → n__natsFrom(X)
s(X) → n__s(X)
nil → n__nil
afterNth(X1, X2) → n__afterNth(X1, X2)
cons(X1, X2) → n__cons(X1, X2)
fst(X) → n__fst(X)
snd(X) → n__snd(X)
tail(X) → n__tail(X)
take(X1, X2) → n__take(X1, X2)
0 → n__0
head(X) → n__head(X)
sel(X1, X2) → n__sel(X1, X2)
pair(X1, X2) → n__pair(X1, X2)
splitAt(X1, X2) → n__splitAt(X1, X2)
activate(n__natsFrom(X)) → natsFrom(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__nil) → nil
activate(n__afterNth(X1, X2)) → afterNth(activate(X1), activate(X2))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__fst(X)) → fst(activate(X))
activate(n__snd(X)) → snd(activate(X))
activate(n__tail(X)) → tail(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__head(X)) → head(activate(X))
activate(n__sel(X1, X2)) → sel(activate(X1), activate(X2))
activate(n__pair(X1, X2)) → pair(activate(X1), activate(X2))
activate(n__splitAt(X1, X2)) → splitAt(activate(X1), activate(X2))
activate(X) → 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 1 SCC with 34 less nodes.
(4) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U1021(tt, V1, V2) → U1031(isLNatKind(activate(V2)), activate(V1), activate(V2))
U1031(tt, V1, V2) → U1041(isLNatKind(activate(V2)), activate(V1), activate(V2))
U1041(tt, V1, V2) → U1051(isNatural(activate(V1)), activate(V2))
U1051(tt, V2) → ISLNAT(activate(V2))
ISLNAT(n__afterNth(V1, V2)) → U411(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U411(tt, V1, V2) → U421(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U421(tt, V1, V2) → U431(isLNatKind(activate(V2)), activate(V1), activate(V2))
U431(tt, V1, V2) → U441(isLNatKind(activate(V2)), activate(V1), activate(V2))
U441(tt, V1, V2) → U451(isNatural(activate(V1)), activate(V2))
U451(tt, V2) → ISLNAT(activate(V2))
ISLNAT(n__afterNth(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__head(V1)) → ISLNATKIND(activate(V1))
ISLNATKIND(n__afterNth(V1, V2)) → U1111(isNaturalKind(activate(V1)), activate(V2))
U1111(tt, V2) → ISLNATKIND(activate(V2))
ISLNATKIND(n__afterNth(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__head(V1)) → ACTIVATE(V1)
ACTIVATE(n__natsFrom(X)) → NATSFROM(activate(X))
NATSFROM(N) → U2811(isNatural(N), N)
U2811(tt, N) → U2821(isNaturalKind(activate(N)), activate(N))
U2821(tt, N) → ACTIVATE(N)
ACTIVATE(n__natsFrom(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__afterNth(X1, X2)) → AFTERNTH(activate(X1), activate(X2))
AFTERNTH(N, XS) → U111(isNatural(N), N, XS)
U111(tt, N, XS) → U121(isNaturalKind(activate(N)), activate(N), activate(XS))
U121(tt, N, XS) → U131(isLNat(activate(XS)), activate(N), activate(XS))
U131(tt, N, XS) → U141(isLNatKind(activate(XS)), activate(N), activate(XS))
U141(tt, N, XS) → SND(splitAt(activate(N), activate(XS)))
SND(pair(X, Y)) → U3011(isLNat(X), X, Y)
U3011(tt, X, Y) → U3021(isLNatKind(activate(X)), activate(Y))
U3021(tt, Y) → U3031(isLNat(activate(Y)), activate(Y))
U3031(tt, Y) → U3041(isLNatKind(activate(Y)), activate(Y))
U3041(tt, Y) → ACTIVATE(Y)
ACTIVATE(n__afterNth(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__afterNth(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__cons(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__fst(X)) → FST(activate(X))
FST(pair(X, Y)) → U211(isLNat(X), X, Y)
U211(tt, X, Y) → U221(isLNatKind(activate(X)), activate(X), activate(Y))
U221(tt, X, Y) → U231(isLNat(activate(Y)), activate(X), activate(Y))
U231(tt, X, Y) → U241(isLNatKind(activate(Y)), activate(X))
U241(tt, X) → ACTIVATE(X)
ACTIVATE(n__fst(X)) → ACTIVATE(X)
ACTIVATE(n__snd(X)) → SND(activate(X))
SND(pair(X, Y)) → ISLNAT(X)
ISLNAT(n__afterNth(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__snd(X)) → ACTIVATE(X)
ACTIVATE(n__tail(X)) → TAIL(activate(X))
TAIL(cons(N, XS)) → U3311(isNatural(N), N, activate(XS))
U3311(tt, N, XS) → U3321(isNaturalKind(activate(N)), activate(XS))
U3321(tt, XS) → U3331(isLNat(activate(XS)), activate(XS))
U3331(tt, XS) → U3341(isLNatKind(activate(XS)), activate(XS))
U3341(tt, XS) → ACTIVATE(XS)
ACTIVATE(n__tail(X)) → ACTIVATE(X)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
TAKE(N, XS) → U3411(isNatural(N), N, XS)
U3411(tt, N, XS) → U3421(isNaturalKind(activate(N)), activate(N), activate(XS))
U3421(tt, N, XS) → U3431(isLNat(activate(XS)), activate(N), activate(XS))
U3431(tt, N, XS) → U3441(isLNatKind(activate(XS)), activate(N), activate(XS))
U3441(tt, N, XS) → FST(splitAt(activate(N), activate(XS)))
FST(pair(X, Y)) → ISLNAT(X)
ISLNAT(n__afterNth(V1, V2)) → ACTIVATE(V2)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__head(X)) → HEAD(activate(X))
HEAD(cons(N, XS)) → U311(isNatural(N), N, activate(XS))
U311(tt, N, XS) → U321(isNaturalKind(activate(N)), activate(N), activate(XS))
U321(tt, N, XS) → U331(isLNat(activate(XS)), activate(N), activate(XS))
U331(tt, N, XS) → U341(isLNatKind(activate(XS)), activate(N))
U341(tt, N) → ACTIVATE(N)
ACTIVATE(n__head(X)) → ACTIVATE(X)
ACTIVATE(n__sel(X1, X2)) → SEL(activate(X1), activate(X2))
SEL(N, XS) → U2911(isNatural(N), N, XS)
U2911(tt, N, XS) → U2921(isNaturalKind(activate(N)), activate(N), activate(XS))
U2921(tt, N, XS) → U2931(isLNat(activate(XS)), activate(N), activate(XS))
U2931(tt, N, XS) → U2941(isLNatKind(activate(XS)), activate(N), activate(XS))
U2941(tt, N, XS) → HEAD(afterNth(activate(N), activate(XS)))
HEAD(cons(N, XS)) → ISNATURAL(N)
ISNATURAL(n__head(V1)) → U1811(isLNatKind(activate(V1)), activate(V1))
U1811(tt, V1) → U1821(isLNatKind(activate(V1)), activate(V1))
U1821(tt, V1) → ISLNAT(activate(V1))
ISLNAT(n__cons(V1, V2)) → U511(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U511(tt, V1, V2) → U521(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U521(tt, V1, V2) → U531(isLNatKind(activate(V2)), activate(V1), activate(V2))
U531(tt, V1, V2) → U541(isLNatKind(activate(V2)), activate(V1), activate(V2))
U541(tt, V1, V2) → U551(isNatural(activate(V1)), activate(V2))
U551(tt, V2) → ISLNAT(activate(V2))
ISLNAT(n__cons(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__s(V1)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__s(V1)) → ACTIVATE(V1)
ACTIVATE(n__sel(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__sel(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__pair(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__pair(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__splitAt(X1, X2)) → SPLITAT(activate(X1), activate(X2))
SPLITAT(0, XS) → U3111(isLNat(XS), XS)
U3111(tt, XS) → U3121(isLNatKind(activate(XS)), activate(XS))
U3121(tt, XS) → ACTIVATE(XS)
ACTIVATE(n__splitAt(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__splitAt(X1, X2)) → ACTIVATE(X2)
U3111(tt, XS) → ISLNATKIND(activate(XS))
ISLNATKIND(n__afterNth(V1, V2)) → ACTIVATE(V1)
ISLNATKIND(n__afterNth(V1, V2)) → ACTIVATE(V2)
ISLNATKIND(n__cons(V1, V2)) → U1211(isNaturalKind(activate(V1)), activate(V2))
U1211(tt, V2) → ISLNATKIND(activate(V2))
ISLNATKIND(n__cons(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__sel(V1, V2)) → U2311(isNaturalKind(activate(V1)), activate(V2))
U2311(tt, V2) → ISLNATKIND(activate(V2))
ISLNATKIND(n__cons(V1, V2)) → ACTIVATE(V1)
ISLNATKIND(n__cons(V1, V2)) → ACTIVATE(V2)
ISLNATKIND(n__fst(V1)) → ISPLNATKIND(activate(V1))
ISPLNATKIND(n__pair(V1, V2)) → U2611(isLNatKind(activate(V1)), activate(V2))
U2611(tt, V2) → ISLNATKIND(activate(V2))
ISLNATKIND(n__fst(V1)) → ACTIVATE(V1)
ISLNATKIND(n__natsFrom(V1)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__sel(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURALKIND(n__sel(V1, V2)) → ACTIVATE(V1)
ISNATURALKIND(n__sel(V1, V2)) → ACTIVATE(V2)
ISLNATKIND(n__natsFrom(V1)) → ACTIVATE(V1)
ISLNATKIND(n__snd(V1)) → ISPLNATKIND(activate(V1))
ISPLNATKIND(n__pair(V1, V2)) → ISLNATKIND(activate(V1))
ISLNATKIND(n__snd(V1)) → ACTIVATE(V1)
ISLNATKIND(n__tail(V1)) → ISLNATKIND(activate(V1))
ISLNATKIND(n__tail(V1)) → ACTIVATE(V1)
ISLNATKIND(n__take(V1, V2)) → U1711(isNaturalKind(activate(V1)), activate(V2))
U1711(tt, V2) → ISLNATKIND(activate(V2))
ISLNATKIND(n__take(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNATKIND(n__take(V1, V2)) → ACTIVATE(V1)
ISLNATKIND(n__take(V1, V2)) → ACTIVATE(V2)
U1711(tt, V2) → ACTIVATE(V2)
ISPLNATKIND(n__pair(V1, V2)) → ACTIVATE(V1)
ISPLNATKIND(n__pair(V1, V2)) → ACTIVATE(V2)
ISPLNATKIND(n__splitAt(V1, V2)) → U2711(isNaturalKind(activate(V1)), activate(V2))
U2711(tt, V2) → ISLNATKIND(activate(V2))
U2711(tt, V2) → ACTIVATE(V2)
ISPLNATKIND(n__splitAt(V1, V2)) → ISNATURALKIND(activate(V1))
ISPLNATKIND(n__splitAt(V1, V2)) → ACTIVATE(V1)
ISPLNATKIND(n__splitAt(V1, V2)) → ACTIVATE(V2)
U2611(tt, V2) → ACTIVATE(V2)
U2311(tt, V2) → ACTIVATE(V2)
U1211(tt, V2) → ACTIVATE(V2)
U3111(tt, XS) → ACTIVATE(XS)
SPLITAT(0, XS) → ISLNAT(XS)
ISLNAT(n__cons(V1, V2)) → ACTIVATE(V1)
ISLNAT(n__cons(V1, V2)) → ACTIVATE(V2)
ISLNAT(n__fst(V1)) → U611(isPLNatKind(activate(V1)), activate(V1))
U611(tt, V1) → U621(isPLNatKind(activate(V1)), activate(V1))
U621(tt, V1) → ISPLNAT(activate(V1))
ISPLNAT(n__pair(V1, V2)) → U2411(isLNatKind(activate(V1)), activate(V1), activate(V2))
U2411(tt, V1, V2) → U2421(isLNatKind(activate(V1)), activate(V1), activate(V2))
U2421(tt, V1, V2) → U2431(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2431(tt, V1, V2) → U2441(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2441(tt, V1, V2) → U2451(isLNat(activate(V1)), activate(V2))
U2451(tt, V2) → ISLNAT(activate(V2))
ISLNAT(n__fst(V1)) → ISPLNATKIND(activate(V1))
ISLNAT(n__fst(V1)) → ACTIVATE(V1)
ISLNAT(n__natsFrom(V1)) → U711(isNaturalKind(activate(V1)), activate(V1))
U711(tt, V1) → U721(isNaturalKind(activate(V1)), activate(V1))
U721(tt, V1) → ISNATURAL(activate(V1))
ISNATURAL(n__head(V1)) → ISLNATKIND(activate(V1))
ISNATURAL(n__head(V1)) → ACTIVATE(V1)
ISNATURAL(n__s(V1)) → U1911(isNaturalKind(activate(V1)), activate(V1))
U1911(tt, V1) → U1921(isNaturalKind(activate(V1)), activate(V1))
U1921(tt, V1) → ISNATURAL(activate(V1))
ISNATURAL(n__s(V1)) → ISNATURALKIND(activate(V1))
ISNATURAL(n__s(V1)) → ACTIVATE(V1)
ISNATURAL(n__sel(V1, V2)) → U2011(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U2011(tt, V1, V2) → U2021(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U2021(tt, V1, V2) → U2031(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2031(tt, V1, V2) → U2041(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2041(tt, V1, V2) → U2051(isNatural(activate(V1)), activate(V2))
U2051(tt, V2) → ISLNAT(activate(V2))
ISLNAT(n__natsFrom(V1)) → ISNATURALKIND(activate(V1))
ISLNAT(n__natsFrom(V1)) → ACTIVATE(V1)
ISLNAT(n__snd(V1)) → U811(isPLNatKind(activate(V1)), activate(V1))
U811(tt, V1) → U821(isPLNatKind(activate(V1)), activate(V1))
U821(tt, V1) → ISPLNAT(activate(V1))
ISPLNAT(n__pair(V1, V2)) → ISLNATKIND(activate(V1))
ISPLNAT(n__pair(V1, V2)) → ACTIVATE(V1)
ISPLNAT(n__pair(V1, V2)) → ACTIVATE(V2)
ISPLNAT(n__splitAt(V1, V2)) → U2511(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U2511(tt, V1, V2) → U2521(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U2521(tt, V1, V2) → U2531(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2531(tt, V1, V2) → U2541(isLNatKind(activate(V2)), activate(V1), activate(V2))
U2541(tt, V1, V2) → U2551(isNatural(activate(V1)), activate(V2))
U2551(tt, V2) → ISLNAT(activate(V2))
ISLNAT(n__snd(V1)) → ISPLNATKIND(activate(V1))
ISLNAT(n__snd(V1)) → ACTIVATE(V1)
ISLNAT(n__tail(V1)) → U911(isLNatKind(activate(V1)), activate(V1))
U911(tt, V1) → U921(isLNatKind(activate(V1)), activate(V1))
U921(tt, V1) → ISLNAT(activate(V1))
ISLNAT(n__tail(V1)) → ISLNATKIND(activate(V1))
ISLNAT(n__tail(V1)) → ACTIVATE(V1)
ISLNAT(n__take(V1, V2)) → U1011(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U1011(tt, V1, V2) → U1021(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U1021(tt, V1, V2) → ISLNATKIND(activate(V2))
U1021(tt, V1, V2) → ACTIVATE(V2)
U1021(tt, V1, V2) → ACTIVATE(V1)
U1011(tt, V1, V2) → ISNATURALKIND(activate(V1))
U1011(tt, V1, V2) → ACTIVATE(V1)
U1011(tt, V1, V2) → ACTIVATE(V2)
ISLNAT(n__take(V1, V2)) → ISNATURALKIND(activate(V1))
ISLNAT(n__take(V1, V2)) → ACTIVATE(V1)
ISLNAT(n__take(V1, V2)) → ACTIVATE(V2)
U921(tt, V1) → ACTIVATE(V1)
U911(tt, V1) → ISLNATKIND(activate(V1))
U911(tt, V1) → ACTIVATE(V1)
U2551(tt, V2) → ACTIVATE(V2)
U2541(tt, V1, V2) → ISNATURAL(activate(V1))
ISNATURAL(n__sel(V1, V2)) → ISNATURALKIND(activate(V1))
ISNATURAL(n__sel(V1, V2)) → ACTIVATE(V1)
ISNATURAL(n__sel(V1, V2)) → ACTIVATE(V2)
U2541(tt, V1, V2) → ACTIVATE(V1)
U2541(tt, V1, V2) → ACTIVATE(V2)
U2531(tt, V1, V2) → ISLNATKIND(activate(V2))
U2531(tt, V1, V2) → ACTIVATE(V2)
U2531(tt, V1, V2) → ACTIVATE(V1)
U2521(tt, V1, V2) → ISLNATKIND(activate(V2))
U2521(tt, V1, V2) → ACTIVATE(V2)
U2521(tt, V1, V2) → ACTIVATE(V1)
U2511(tt, V1, V2) → ISNATURALKIND(activate(V1))
U2511(tt, V1, V2) → ACTIVATE(V1)
U2511(tt, V1, V2) → ACTIVATE(V2)
ISPLNAT(n__splitAt(V1, V2)) → ISNATURALKIND(activate(V1))
ISPLNAT(n__splitAt(V1, V2)) → ACTIVATE(V1)
ISPLNAT(n__splitAt(V1, V2)) → ACTIVATE(V2)
U821(tt, V1) → ACTIVATE(V1)
U811(tt, V1) → ISPLNATKIND(activate(V1))
U811(tt, V1) → ACTIVATE(V1)
U2051(tt, V2) → ACTIVATE(V2)
U2041(tt, V1, V2) → ISNATURAL(activate(V1))
U2041(tt, V1, V2) → ACTIVATE(V1)
U2041(tt, V1, V2) → ACTIVATE(V2)
U2031(tt, V1, V2) → ISLNATKIND(activate(V2))
U2031(tt, V1, V2) → ACTIVATE(V2)
U2031(tt, V1, V2) → ACTIVATE(V1)
U2021(tt, V1, V2) → ISLNATKIND(activate(V2))
U2021(tt, V1, V2) → ACTIVATE(V2)
U2021(tt, V1, V2) → ACTIVATE(V1)
U2011(tt, V1, V2) → ISNATURALKIND(activate(V1))
U2011(tt, V1, V2) → ACTIVATE(V1)
U2011(tt, V1, V2) → ACTIVATE(V2)
U1921(tt, V1) → ACTIVATE(V1)
U1911(tt, V1) → ISNATURALKIND(activate(V1))
U1911(tt, V1) → ACTIVATE(V1)
U721(tt, V1) → ACTIVATE(V1)
U711(tt, V1) → ISNATURALKIND(activate(V1))
U711(tt, V1) → ACTIVATE(V1)
U2451(tt, V2) → ACTIVATE(V2)
U2441(tt, V1, V2) → ISLNAT(activate(V1))
U2441(tt, V1, V2) → ACTIVATE(V1)
U2441(tt, V1, V2) → ACTIVATE(V2)
U2431(tt, V1, V2) → ISLNATKIND(activate(V2))
U2431(tt, V1, V2) → ACTIVATE(V2)
U2431(tt, V1, V2) → ACTIVATE(V1)
U2421(tt, V1, V2) → ISLNATKIND(activate(V2))
U2421(tt, V1, V2) → ACTIVATE(V2)
U2421(tt, V1, V2) → ACTIVATE(V1)
U2411(tt, V1, V2) → ISLNATKIND(activate(V1))
U2411(tt, V1, V2) → ACTIVATE(V1)
U2411(tt, V1, V2) → ACTIVATE(V2)
U621(tt, V1) → ACTIVATE(V1)
U611(tt, V1) → ISPLNATKIND(activate(V1))
U611(tt, V1) → ACTIVATE(V1)
SPLITAT(s(N), cons(X, XS)) → U3211(isNatural(N), N, X, activate(XS))
U3211(tt, N, X, XS) → U3221(isNaturalKind(activate(N)), activate(N), activate(X), activate(XS))
U3221(tt, N, X, XS) → U3231(isNatural(activate(X)), activate(N), activate(X), activate(XS))
U3231(tt, N, X, XS) → U3241(isNaturalKind(activate(X)), activate(N), activate(X), activate(XS))
U3241(tt, N, X, XS) → U3251(isLNat(activate(XS)), activate(N), activate(X), activate(XS))
U3251(tt, N, X, XS) → U3261(isLNatKind(activate(XS)), activate(N), activate(X), activate(XS))
U3261(tt, N, X, XS) → U3271(splitAt(activate(N), activate(XS)), activate(X))
U3271(pair(YS, ZS), X) → ACTIVATE(X)
U3261(tt, N, X, XS) → SPLITAT(activate(N), activate(XS))
SPLITAT(s(N), cons(X, XS)) → ISNATURAL(N)
SPLITAT(s(N), cons(X, XS)) → ACTIVATE(XS)
U3261(tt, N, X, XS) → ACTIVATE(N)
U3261(tt, N, X, XS) → ACTIVATE(XS)
U3261(tt, N, X, XS) → ACTIVATE(X)
U3251(tt, N, X, XS) → ISLNATKIND(activate(XS))
U3251(tt, N, X, XS) → ACTIVATE(XS)
U3251(tt, N, X, XS) → ACTIVATE(N)
U3251(tt, N, X, XS) → ACTIVATE(X)
U3241(tt, N, X, XS) → ISLNAT(activate(XS))
U3241(tt, N, X, XS) → ACTIVATE(XS)
U3241(tt, N, X, XS) → ACTIVATE(N)
U3241(tt, N, X, XS) → ACTIVATE(X)
U3231(tt, N, X, XS) → ISNATURALKIND(activate(X))
U3231(tt, N, X, XS) → ACTIVATE(X)
U3231(tt, N, X, XS) → ACTIVATE(N)
U3231(tt, N, X, XS) → ACTIVATE(XS)
U3221(tt, N, X, XS) → ISNATURAL(activate(X))
U3221(tt, N, X, XS) → ACTIVATE(X)
U3221(tt, N, X, XS) → ACTIVATE(N)
U3221(tt, N, X, XS) → ACTIVATE(XS)
U3211(tt, N, X, XS) → ISNATURALKIND(activate(N))
U3211(tt, N, X, XS) → ACTIVATE(N)
U3211(tt, N, X, XS) → ACTIVATE(X)
U3211(tt, N, X, XS) → ACTIVATE(XS)
U551(tt, V2) → ACTIVATE(V2)
U541(tt, V1, V2) → ISNATURAL(activate(V1))
U541(tt, V1, V2) → ACTIVATE(V1)
U541(tt, V1, V2) → ACTIVATE(V2)
U531(tt, V1, V2) → ISLNATKIND(activate(V2))
U531(tt, V1, V2) → ACTIVATE(V2)
U531(tt, V1, V2) → ACTIVATE(V1)
U521(tt, V1, V2) → ISLNATKIND(activate(V2))
U521(tt, V1, V2) → ACTIVATE(V2)
U521(tt, V1, V2) → ACTIVATE(V1)
U511(tt, V1, V2) → ISNATURALKIND(activate(V1))
U511(tt, V1, V2) → ACTIVATE(V1)
U511(tt, V1, V2) → ACTIVATE(V2)
U1821(tt, V1) → ACTIVATE(V1)
U1811(tt, V1) → ISLNATKIND(activate(V1))
U1811(tt, V1) → ACTIVATE(V1)
HEAD(cons(N, XS)) → ACTIVATE(XS)
U2941(tt, N, XS) → AFTERNTH(activate(N), activate(XS))
AFTERNTH(N, XS) → ISNATURAL(N)
U2941(tt, N, XS) → ACTIVATE(N)
U2941(tt, N, XS) → ACTIVATE(XS)
U2931(tt, N, XS) → ISLNATKIND(activate(XS))
U2931(tt, N, XS) → ACTIVATE(XS)
U2931(tt, N, XS) → ACTIVATE(N)
U2921(tt, N, XS) → ISLNAT(activate(XS))
U2921(tt, N, XS) → ACTIVATE(XS)
U2921(tt, N, XS) → ACTIVATE(N)
U2911(tt, N, XS) → ISNATURALKIND(activate(N))
U2911(tt, N, XS) → ACTIVATE(N)
U2911(tt, N, XS) → ACTIVATE(XS)
SEL(N, XS) → ISNATURAL(N)
U331(tt, N, XS) → ISLNATKIND(activate(XS))
U331(tt, N, XS) → ACTIVATE(XS)
U331(tt, N, XS) → ACTIVATE(N)
U321(tt, N, XS) → ISLNAT(activate(XS))
U321(tt, N, XS) → ACTIVATE(XS)
U321(tt, N, XS) → ACTIVATE(N)
U311(tt, N, XS) → ISNATURALKIND(activate(N))
U311(tt, N, XS) → ACTIVATE(N)
U311(tt, N, XS) → ACTIVATE(XS)
U3441(tt, N, XS) → SPLITAT(activate(N), activate(XS))
U3441(tt, N, XS) → ACTIVATE(N)
U3441(tt, N, XS) → ACTIVATE(XS)
U3431(tt, N, XS) → ISLNATKIND(activate(XS))
U3431(tt, N, XS) → ACTIVATE(XS)
U3431(tt, N, XS) → ACTIVATE(N)
U3421(tt, N, XS) → ISLNAT(activate(XS))
U3421(tt, N, XS) → ACTIVATE(XS)
U3421(tt, N, XS) → ACTIVATE(N)
U3411(tt, N, XS) → ISNATURALKIND(activate(N))
U3411(tt, N, XS) → ACTIVATE(N)
U3411(tt, N, XS) → ACTIVATE(XS)
TAKE(N, XS) → ISNATURAL(N)
U3331(tt, XS) → ISLNATKIND(activate(XS))
U3331(tt, XS) → ACTIVATE(XS)
U3321(tt, XS) → ISLNAT(activate(XS))
U3321(tt, XS) → ACTIVATE(XS)
U3311(tt, N, XS) → ISNATURALKIND(activate(N))
U3311(tt, N, XS) → ACTIVATE(N)
U3311(tt, N, XS) → ACTIVATE(XS)
TAIL(cons(N, XS)) → ISNATURAL(N)
TAIL(cons(N, XS)) → ACTIVATE(XS)
U231(tt, X, Y) → ISLNATKIND(activate(Y))
U231(tt, X, Y) → ACTIVATE(Y)
U231(tt, X, Y) → ACTIVATE(X)
U221(tt, X, Y) → ISLNAT(activate(Y))
U221(tt, X, Y) → ACTIVATE(Y)
U221(tt, X, Y) → ACTIVATE(X)
U211(tt, X, Y) → ISLNATKIND(activate(X))
U211(tt, X, Y) → ACTIVATE(X)
U211(tt, X, Y) → ACTIVATE(Y)
U3031(tt, Y) → ISLNATKIND(activate(Y))
U3031(tt, Y) → ACTIVATE(Y)
U3021(tt, Y) → ISLNAT(activate(Y))
U3021(tt, Y) → ACTIVATE(Y)
U3011(tt, X, Y) → ISLNATKIND(activate(X))
U3011(tt, X, Y) → ACTIVATE(X)
U3011(tt, X, Y) → ACTIVATE(Y)
U141(tt, N, XS) → SPLITAT(activate(N), activate(XS))
U141(tt, N, XS) → ACTIVATE(N)
U141(tt, N, XS) → ACTIVATE(XS)
U131(tt, N, XS) → ISLNATKIND(activate(XS))
U131(tt, N, XS) → ACTIVATE(XS)
U131(tt, N, XS) → ACTIVATE(N)
U121(tt, N, XS) → ISLNAT(activate(XS))
U121(tt, N, XS) → ACTIVATE(XS)
U121(tt, N, XS) → ACTIVATE(N)
U111(tt, N, XS) → ISNATURALKIND(activate(N))
U111(tt, N, XS) → ACTIVATE(N)
U111(tt, N, XS) → ACTIVATE(XS)
U2811(tt, N) → ISNATURALKIND(activate(N))
U2811(tt, N) → ACTIVATE(N)
NATSFROM(N) → ISNATURAL(N)
U1111(tt, V2) → ACTIVATE(V2)
U451(tt, V2) → ACTIVATE(V2)
U441(tt, V1, V2) → ISNATURAL(activate(V1))
U441(tt, V1, V2) → ACTIVATE(V1)
U441(tt, V1, V2) → ACTIVATE(V2)
U431(tt, V1, V2) → ISLNATKIND(activate(V2))
U431(tt, V1, V2) → ACTIVATE(V2)
U431(tt, V1, V2) → ACTIVATE(V1)
U421(tt, V1, V2) → ISLNATKIND(activate(V2))
U421(tt, V1, V2) → ACTIVATE(V2)
U421(tt, V1, V2) → ACTIVATE(V1)
U411(tt, V1, V2) → ISNATURALKIND(activate(V1))
U411(tt, V1, V2) → ACTIVATE(V1)
U411(tt, V1, V2) → ACTIVATE(V2)
U1051(tt, V2) → ACTIVATE(V2)
U1041(tt, V1, V2) → ISNATURAL(activate(V1))
U1041(tt, V1, V2) → ACTIVATE(V1)
U1041(tt, V1, V2) → ACTIVATE(V2)
U1031(tt, V1, V2) → ISLNATKIND(activate(V2))
U1031(tt, V1, V2) → ACTIVATE(V2)
U1031(tt, V1, V2) → ACTIVATE(V1)
The TRS R consists of the following rules:
U101(tt, V1, V2) → U102(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2) → U103(isLNatKind(activate(V2)), activate(V1), activate(V2))
U103(tt, V1, V2) → U104(isLNatKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2) → U105(isNatural(activate(V1)), activate(V2))
U105(tt, V2) → U106(isLNat(activate(V2)))
U106(tt) → tt
U11(tt, N, XS) → U12(isNaturalKind(activate(N)), activate(N), activate(XS))
U111(tt, V2) → U112(isLNatKind(activate(V2)))
U112(tt) → tt
U12(tt, N, XS) → U13(isLNat(activate(XS)), activate(N), activate(XS))
U121(tt, V2) → U122(isLNatKind(activate(V2)))
U122(tt) → tt
U13(tt, N, XS) → U14(isLNatKind(activate(XS)), activate(N), activate(XS))
U131(tt) → tt
U14(tt, N, XS) → snd(splitAt(activate(N), activate(XS)))
U141(tt) → tt
U151(tt) → tt
U161(tt) → tt
U171(tt, V2) → U172(isLNatKind(activate(V2)))
U172(tt) → tt
U181(tt, V1) → U182(isLNatKind(activate(V1)), activate(V1))
U182(tt, V1) → U183(isLNat(activate(V1)))
U183(tt) → tt
U191(tt, V1) → U192(isNaturalKind(activate(V1)), activate(V1))
U192(tt, V1) → U193(isNatural(activate(V1)))
U193(tt) → tt
U201(tt, V1, V2) → U202(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U202(tt, V1, V2) → U203(isLNatKind(activate(V2)), activate(V1), activate(V2))
U203(tt, V1, V2) → U204(isLNatKind(activate(V2)), activate(V1), activate(V2))
U204(tt, V1, V2) → U205(isNatural(activate(V1)), activate(V2))
U205(tt, V2) → U206(isLNat(activate(V2)))
U206(tt) → tt
U21(tt, X, Y) → U22(isLNatKind(activate(X)), activate(X), activate(Y))
U211(tt) → tt
U22(tt, X, Y) → U23(isLNat(activate(Y)), activate(X), activate(Y))
U221(tt) → tt
U23(tt, X, Y) → U24(isLNatKind(activate(Y)), activate(X))
U231(tt, V2) → U232(isLNatKind(activate(V2)))
U232(tt) → tt
U24(tt, X) → activate(X)
U241(tt, V1, V2) → U242(isLNatKind(activate(V1)), activate(V1), activate(V2))
U242(tt, V1, V2) → U243(isLNatKind(activate(V2)), activate(V1), activate(V2))
U243(tt, V1, V2) → U244(isLNatKind(activate(V2)), activate(V1), activate(V2))
U244(tt, V1, V2) → U245(isLNat(activate(V1)), activate(V2))
U245(tt, V2) → U246(isLNat(activate(V2)))
U246(tt) → tt
U251(tt, V1, V2) → U252(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U252(tt, V1, V2) → U253(isLNatKind(activate(V2)), activate(V1), activate(V2))
U253(tt, V1, V2) → U254(isLNatKind(activate(V2)), activate(V1), activate(V2))
U254(tt, V1, V2) → U255(isNatural(activate(V1)), activate(V2))
U255(tt, V2) → U256(isLNat(activate(V2)))
U256(tt) → tt
U261(tt, V2) → U262(isLNatKind(activate(V2)))
U262(tt) → tt
U271(tt, V2) → U272(isLNatKind(activate(V2)))
U272(tt) → tt
U281(tt, N) → U282(isNaturalKind(activate(N)), activate(N))
U282(tt, N) → cons(activate(N), n__natsFrom(n__s(activate(N))))
U291(tt, N, XS) → U292(isNaturalKind(activate(N)), activate(N), activate(XS))
U292(tt, N, XS) → U293(isLNat(activate(XS)), activate(N), activate(XS))
U293(tt, N, XS) → U294(isLNatKind(activate(XS)), activate(N), activate(XS))
U294(tt, N, XS) → head(afterNth(activate(N), activate(XS)))
U301(tt, X, Y) → U302(isLNatKind(activate(X)), activate(Y))
U302(tt, Y) → U303(isLNat(activate(Y)), activate(Y))
U303(tt, Y) → U304(isLNatKind(activate(Y)), activate(Y))
U304(tt, Y) → activate(Y)
U31(tt, N, XS) → U32(isNaturalKind(activate(N)), activate(N), activate(XS))
U311(tt, XS) → U312(isLNatKind(activate(XS)), activate(XS))
U312(tt, XS) → pair(nil, activate(XS))
U32(tt, N, XS) → U33(isLNat(activate(XS)), activate(N), activate(XS))
U321(tt, N, X, XS) → U322(isNaturalKind(activate(N)), activate(N), activate(X), activate(XS))
U322(tt, N, X, XS) → U323(isNatural(activate(X)), activate(N), activate(X), activate(XS))
U323(tt, N, X, XS) → U324(isNaturalKind(activate(X)), activate(N), activate(X), activate(XS))
U324(tt, N, X, XS) → U325(isLNat(activate(XS)), activate(N), activate(X), activate(XS))
U325(tt, N, X, XS) → U326(isLNatKind(activate(XS)), activate(N), activate(X), activate(XS))
U326(tt, N, X, XS) → U327(splitAt(activate(N), activate(XS)), activate(X))
U327(pair(YS, ZS), X) → pair(cons(activate(X), YS), ZS)
U33(tt, N, XS) → U34(isLNatKind(activate(XS)), activate(N))
U331(tt, N, XS) → U332(isNaturalKind(activate(N)), activate(XS))
U332(tt, XS) → U333(isLNat(activate(XS)), activate(XS))
U333(tt, XS) → U334(isLNatKind(activate(XS)), activate(XS))
U334(tt, XS) → activate(XS)
U34(tt, N) → activate(N)
U341(tt, N, XS) → U342(isNaturalKind(activate(N)), activate(N), activate(XS))
U342(tt, N, XS) → U343(isLNat(activate(XS)), activate(N), activate(XS))
U343(tt, N, XS) → U344(isLNatKind(activate(XS)), activate(N), activate(XS))
U344(tt, N, XS) → fst(splitAt(activate(N), activate(XS)))
U41(tt, V1, V2) → U42(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isLNatKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2) → U44(isLNatKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isNatural(activate(V1)), activate(V2))
U45(tt, V2) → U46(isLNat(activate(V2)))
U46(tt) → tt
U51(tt, V1, V2) → U52(isNaturalKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isLNatKind(activate(V2)), activate(V1), activate(V2))
U53(tt, V1, V2) → U54(isLNatKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNatural(activate(V1)), activate(V2))
U55(tt, V2) → U56(isLNat(activate(V2)))
U56(tt) → tt
U61(tt, V1) → U62(isPLNatKind(activate(V1)), activate(V1))
U62(tt, V1) → U63(isPLNat(activate(V1)))
U63(tt) → tt
U71(tt, V1) → U72(isNaturalKind(activate(V1)), activate(V1))
U72(tt, V1) → U73(isNatural(activate(V1)))
U73(tt) → tt
U81(tt, V1) → U82(isPLNatKind(activate(V1)), activate(V1))
U82(tt, V1) → U83(isPLNat(activate(V1)))
U83(tt) → tt
U91(tt, V1) → U92(isLNatKind(activate(V1)), activate(V1))
U92(tt, V1) → U93(isLNat(activate(V1)))
U93(tt) → tt
afterNth(N, XS) → U11(isNatural(N), N, XS)
fst(pair(X, Y)) → U21(isLNat(X), X, Y)
head(cons(N, XS)) → U31(isNatural(N), N, activate(XS))
isLNat(n__nil) → tt
isLNat(n__afterNth(V1, V2)) → U41(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNat(n__cons(V1, V2)) → U51(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNat(n__fst(V1)) → U61(isPLNatKind(activate(V1)), activate(V1))
isLNat(n__natsFrom(V1)) → U71(isNaturalKind(activate(V1)), activate(V1))
isLNat(n__snd(V1)) → U81(isPLNatKind(activate(V1)), activate(V1))
isLNat(n__tail(V1)) → U91(isLNatKind(activate(V1)), activate(V1))
isLNat(n__take(V1, V2)) → U101(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isLNatKind(n__nil) → tt
isLNatKind(n__afterNth(V1, V2)) → U111(isNaturalKind(activate(V1)), activate(V2))
isLNatKind(n__cons(V1, V2)) → U121(isNaturalKind(activate(V1)), activate(V2))
isLNatKind(n__fst(V1)) → U131(isPLNatKind(activate(V1)))
isLNatKind(n__natsFrom(V1)) → U141(isNaturalKind(activate(V1)))
isLNatKind(n__snd(V1)) → U151(isPLNatKind(activate(V1)))
isLNatKind(n__tail(V1)) → U161(isLNatKind(activate(V1)))
isLNatKind(n__take(V1, V2)) → U171(isNaturalKind(activate(V1)), activate(V2))
isNatural(n__0) → tt
isNatural(n__head(V1)) → U181(isLNatKind(activate(V1)), activate(V1))
isNatural(n__s(V1)) → U191(isNaturalKind(activate(V1)), activate(V1))
isNatural(n__sel(V1, V2)) → U201(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isNaturalKind(n__0) → tt
isNaturalKind(n__head(V1)) → U211(isLNatKind(activate(V1)))
isNaturalKind(n__s(V1)) → U221(isNaturalKind(activate(V1)))
isNaturalKind(n__sel(V1, V2)) → U231(isNaturalKind(activate(V1)), activate(V2))
isPLNat(n__pair(V1, V2)) → U241(isLNatKind(activate(V1)), activate(V1), activate(V2))
isPLNat(n__splitAt(V1, V2)) → U251(isNaturalKind(activate(V1)), activate(V1), activate(V2))
isPLNatKind(n__pair(V1, V2)) → U261(isLNatKind(activate(V1)), activate(V2))
isPLNatKind(n__splitAt(V1, V2)) → U271(isNaturalKind(activate(V1)), activate(V2))
natsFrom(N) → U281(isNatural(N), N)
sel(N, XS) → U291(isNatural(N), N, XS)
snd(pair(X, Y)) → U301(isLNat(X), X, Y)
splitAt(0, XS) → U311(isLNat(XS), XS)
splitAt(s(N), cons(X, XS)) → U321(isNatural(N), N, X, activate(XS))
tail(cons(N, XS)) → U331(isNatural(N), N, activate(XS))
take(N, XS) → U341(isNatural(N), N, XS)
natsFrom(X) → n__natsFrom(X)
s(X) → n__s(X)
nil → n__nil
afterNth(X1, X2) → n__afterNth(X1, X2)
cons(X1, X2) → n__cons(X1, X2)
fst(X) → n__fst(X)
snd(X) → n__snd(X)
tail(X) → n__tail(X)
take(X1, X2) → n__take(X1, X2)
0 → n__0
head(X) → n__head(X)
sel(X1, X2) → n__sel(X1, X2)
pair(X1, X2) → n__pair(X1, X2)
splitAt(X1, X2) → n__splitAt(X1, X2)
activate(n__natsFrom(X)) → natsFrom(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__nil) → nil
activate(n__afterNth(X1, X2)) → afterNth(activate(X1), activate(X2))
activate(n__cons(X1, X2)) → cons(activate(X1), X2)
activate(n__fst(X)) → fst(activate(X))
activate(n__snd(X)) → snd(activate(X))
activate(n__tail(X)) → tail(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__0) → 0
activate(n__head(X)) → head(activate(X))
activate(n__sel(X1, X2)) → sel(activate(X1), activate(X2))
activate(n__pair(X1, X2)) → pair(activate(X1), activate(X2))
activate(n__splitAt(X1, X2)) → splitAt(activate(X1), activate(X2))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.