TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60003 ms.

The following DP Processors were used


Problem 1 remains open; application of the following processors failed [DependencyGraph (timeout)].

The following open problems remain:



Open Dependency Pair Problem 1

Dependency Pairs

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

Rewrite 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) → ttU12(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) → ttU161(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) → ttU191(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) → ttU24(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) → ttU51(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) → ttU61(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) → ttU81(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) → ttafterNth(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) → ttisLNat(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) → ttisLNatKind(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) → ttisNatural(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) → ttisNaturalKind(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__0head(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) → 0activate(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

Original Signature

Termination of terms over the following signature is verified: n__snd, U311, U312, U104, n__sel, U105, n__fst, U106, activate, U112, U63, U111, U62, U61, U303, U302, U304, U251, U253, U252, U255, U254, U256, n__tail, U322, U323, isPLNat, isLNatKind, U321, tail, U193, n__natsFrom, U192, U71, U191, U73, n__cons, U72, 0, U122, U121, U262, U261, pair, U331, U332, U333, U334, U46, U325, U45, U324, U44, U327, U43, U131, U326, U42, U41, U232, U231, cons, U341, n__take, U344, U342, splitAt, U343, U55, U54, U141, U56, s, U51, tt, U53, U52, U246, U245, U244, U243, afterNth, U242, U241, natsFrom, U161, U204, U203, U206, U205, fst, n__s, U211, n__nil, U23, head, U24, U21, U22, U294, U292, U293, U151, U291, isPLNatKind, U221, isLNat, U31, U32, U33, U34, U181, U182, U183, isNatural, n__head, n__splitAt, U281, U282, n__0, n__afterNth, U93, U92, U91, snd, U171, isNaturalKind, U172, U272, U83, U271, U201, U202, U14, take, U82, U301, U81, U11, n__pair, U12, U13, U102, sel, U103, U101, nil