TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60002 ms.
Problem 1 remains open; application of the following processors failed [DependencyGraph (timeout)].
active#(isLNat(afterNth(V1, V2))) | → | isNaturalKind#(V1) | mark#(fst(X)) | → | active#(fst(mark(X))) | |
U91#(X1, active(X2)) | → | U91#(X1, X2) | U221#(X1, active(X2), X3) | → | U221#(X1, X2, X3) | |
mark#(take(X1, X2)) | → | active#(take(mark(X1), mark(X2))) | active#(isLNat(afterNth(V1, V2))) | → | mark#(U41(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | |
active#(isNatural(sel(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | active#(U191(tt, XS)) | → | pair#(nil, XS) | |
active#(U121(tt, V1)) | → | U122#(isNatural(V1)) | mark#(U132(X1, X2)) | → | active#(U132(mark(X1), X2)) | |
active#(U142(tt, V2)) | → | U143#(isLNat(V2)) | active#(isLNat(cons(V1, V2))) | → | isNaturalKind#(V1) | |
active#(U202(pair(YS, ZS), X)) | → | cons#(X, YS) | U52#(X1, active(X2)) | → | U52#(X1, X2) | |
mark#(U103(X)) | → | active#(U103(mark(X))) | isLNatKind#(active(X)) | → | isLNatKind#(X) | |
active#(isLNatKind(fst(V1))) | → | isPLNatKind#(V1) | active#(U71(tt, V1)) | → | mark#(U72(isNatural(V1))) | |
U21#(X1, active(X2)) | → | U21#(X1, X2) | mark#(s(X)) | → | mark#(X) | |
U152#(X1, mark(X2)) | → | U152#(X1, X2) | mark#(U72(X)) | → | active#(U72(mark(X))) | |
active#(U11(tt, N, XS)) | → | splitAt#(N, XS) | mark#(U72(X)) | → | mark#(X) | |
active#(isLNat(take(V1, V2))) | → | isNaturalKind#(V1) | afterNth#(active(X1), X2) | → | afterNth#(X1, X2) | |
U151#(X1, active(X2), X3) | → | U151#(X1, X2, X3) | U132#(X1, active(X2)) | → | U132#(X1, X2) | |
active#(isNaturalKind(0)) | → | mark#(tt) | U141#(mark(X1), X2, X3) | → | U141#(X1, X2, X3) | |
mark#(U112(X)) | → | U112#(mark(X)) | splitAt#(X1, mark(X2)) | → | splitAt#(X1, X2) | |
active#(U82(tt)) | → | mark#(tt) | active#(isLNatKind(natsFrom(V1))) | → | mark#(isNaturalKind(V1)) | |
U42#(mark(X1), X2) | → | U42#(X1, X2) | active#(head(cons(N, XS))) | → | isLNatKind#(XS) | |
active#(isLNatKind(afterNth(V1, V2))) | → | isLNatKind#(V2) | U53#(mark(X)) | → | U53#(X) | |
mark#(U41(X1, X2, X3)) | → | mark#(X1) | active#(fst(pair(X, Y))) | → | isLNatKind#(X) | |
active#(isLNat(cons(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | active#(isLNat(tail(V1))) | → | U91#(isLNatKind(V1), V1) | |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | mark#(U112(X)) | → | active#(U112(mark(X))) | |
mark#(U53(X)) | → | U53#(mark(X)) | U141#(X1, X2, active(X3)) | → | U141#(X1, X2, X3) | |
mark#(U142(X1, X2)) | → | active#(U142(mark(X1), X2)) | U151#(X1, X2, mark(X3)) | → | U151#(X1, X2, X3) | |
U221#(active(X1), X2, X3) | → | U221#(X1, X2, X3) | mark#(U62(X)) | → | active#(U62(mark(X))) | |
natsFrom#(mark(X)) | → | natsFrom#(X) | mark#(U141(X1, X2, X3)) | → | mark#(X1) | |
active#(splitAt(s(N), cons(X, XS))) | → | and#(and(isNatural(N), isNaturalKind(N)), and(and(isNatural(X), isNaturalKind(X)), and(isLNat(XS), isLNatKind(XS)))) | active#(U91(tt, V1)) | → | isLNat#(V1) | |
U191#(X1, mark(X2)) | → | U191#(X1, X2) | active#(take(N, XS)) | → | isNatural#(N) | |
U82#(active(X)) | → | U82#(X) | active#(splitAt(0, XS)) | → | isLNat#(XS) | |
mark#(U211(X1, X2)) | → | active#(U211(mark(X1), X2)) | U91#(X1, mark(X2)) | → | U91#(X1, X2) | |
active#(isPLNatKind(splitAt(V1, V2))) | → | isLNatKind#(V2) | mark#(splitAt(X1, X2)) | → | mark#(X1) | |
mark#(U21(X1, X2)) | → | active#(U21(mark(X1), X2)) | active#(isNatural(head(V1))) | → | U111#(isLNatKind(V1), V1) | |
active#(U81(tt, V1)) | → | isPLNat#(V1) | active#(splitAt(s(N), cons(X, XS))) | → | isLNat#(XS) | |
isNatural#(mark(X)) | → | isNatural#(X) | mark#(isNatural(X)) | → | isNatural#(X) | |
isPLNat#(active(X)) | → | isPLNat#(X) | U11#(active(X1), X2, X3) | → | U11#(X1, X2, X3) | |
mark#(U42(X1, X2)) | → | U42#(mark(X1), X2) | active#(U11(tt, N, XS)) | → | mark#(snd(splitAt(N, XS))) | |
active#(take(N, XS)) | → | and#(isLNat(XS), isLNatKind(XS)) | U41#(X1, X2, active(X3)) | → | U41#(X1, X2, X3) | |
U191#(mark(X1), X2) | → | U191#(X1, X2) | U132#(X1, mark(X2)) | → | U132#(X1, X2) | |
mark#(U42(X1, X2)) | → | mark#(X1) | mark#(U103(X)) | → | mark#(X) | |
mark#(U101(X1, X2, X3)) | → | U101#(mark(X1), X2, X3) | active#(snd(pair(X, Y))) | → | isLNatKind#(Y) | |
active#(U42(tt, V2)) | → | isLNat#(V2) | cons#(active(X1), X2) | → | cons#(X1, X2) | |
mark#(natsFrom(X)) | → | mark#(X) | mark#(afterNth(X1, X2)) | → | active#(afterNth(mark(X1), mark(X2))) | |
mark#(U201(X1, X2, X3, X4)) | → | mark#(X1) | active#(U91(tt, V1)) | → | U92#(isLNat(V1)) | |
active#(sel(N, XS)) | → | and#(isLNat(XS), isLNatKind(XS)) | active#(afterNth(N, XS)) | → | U11#(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS) | |
mark#(U41(X1, X2, X3)) | → | active#(U41(mark(X1), X2, X3)) | active#(isLNatKind(take(V1, V2))) | → | isNaturalKind#(V1) | |
mark#(U191(X1, X2)) | → | mark#(X1) | active#(U152(tt, V2)) | → | isLNat#(V2) | |
U52#(mark(X1), X2) | → | U52#(X1, X2) | mark#(U121(X1, X2)) | → | active#(U121(mark(X1), X2)) | |
active#(U101(tt, V1, V2)) | → | mark#(U102(isNatural(V1), V2)) | active#(sel(N, XS)) | → | mark#(U171(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS)) | |
active#(U61(tt, V1)) | → | U62#(isPLNat(V1)) | U181#(X1, active(X2)) | → | U181#(X1, X2) | |
afterNth#(X1, mark(X2)) | → | afterNth#(X1, X2) | isNatural#(active(X)) | → | isNatural#(X) | |
active#(sel(N, XS)) | → | and#(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))) | U61#(active(X1), X2) | → | U61#(X1, X2) | |
U131#(X1, active(X2), X3) | → | U131#(X1, X2, X3) | mark#(U133(X)) | → | U133#(mark(X)) | |
active#(head(cons(N, XS))) | → | isNatural#(N) | active#(U131(tt, V1, V2)) | → | U132#(isNatural(V1), V2) | |
active#(afterNth(N, XS)) | → | and#(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))) | mark#(U11(X1, X2, X3)) | → | active#(U11(mark(X1), X2, X3)) | |
mark#(tail(X)) | → | active#(tail(mark(X))) | active#(U52(tt, V2)) | → | isLNat#(V2) | |
U91#(mark(X1), X2) | → | U91#(X1, X2) | mark#(U191(X1, X2)) | → | U191#(mark(X1), X2) | |
U61#(mark(X1), X2) | → | U61#(X1, X2) | active#(isLNat(natsFrom(V1))) | → | U71#(isNaturalKind(V1), V1) | |
active#(isNaturalKind(s(V1))) | → | mark#(isNaturalKind(V1)) | active#(afterNth(N, XS)) | → | and#(isNatural(N), isNaturalKind(N)) | |
mark#(isLNat(X)) | → | active#(isLNat(X)) | mark#(natsFrom(X)) | → | active#(natsFrom(mark(X))) | |
active#(U62(tt)) | → | mark#(tt) | active#(splitAt(s(N), cons(X, XS))) | → | isNatural#(N) | |
U51#(X1, mark(X2), X3) | → | U51#(X1, X2, X3) | isPLNat#(mark(X)) | → | isPLNat#(X) | |
mark#(isPLNat(X)) | → | isPLNat#(X) | active#(isNatural(s(V1))) | → | isNaturalKind#(V1) | |
active#(U42(tt, V2)) | → | U43#(isLNat(V2)) | mark#(U171(X1, X2, X3)) | → | active#(U171(mark(X1), X2, X3)) | |
active#(natsFrom(N)) | → | isNatural#(N) | take#(X1, mark(X2)) | → | take#(X1, X2) | |
mark#(splitAt(X1, X2)) | → | active#(splitAt(mark(X1), mark(X2))) | mark#(U71(X1, X2)) | → | mark#(X1) | |
U171#(X1, X2, active(X3)) | → | U171#(X1, X2, X3) | active#(head(cons(N, XS))) | → | and#(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))) | |
active#(U191(tt, XS)) | → | mark#(pair(nil, XS)) | active#(isLNatKind(snd(V1))) | → | isPLNatKind#(V1) | |
active#(U111(tt, V1)) | → | U112#(isLNat(V1)) | mark#(U121(X1, X2)) | → | mark#(X1) | |
mark#(U133(X)) | → | mark#(X) | active#(isNaturalKind(head(V1))) | → | mark#(isLNatKind(V1)) | |
mark#(U211(X1, X2)) | → | mark#(X1) | active#(U61(tt, V1)) | → | isPLNat#(V1) | |
mark#(U161(X1, X2)) | → | U161#(mark(X1), X2) | mark#(U151(X1, X2, X3)) | → | U151#(mark(X1), X2, X3) | |
sel#(mark(X1), X2) | → | sel#(X1, X2) | active#(U221(tt, N, XS)) | → | mark#(fst(splitAt(N, XS))) | |
mark#(head(X)) | → | active#(head(mark(X))) | mark#(U41(X1, X2, X3)) | → | U41#(mark(X1), X2, X3) | |
and#(X1, active(X2)) | → | and#(X1, X2) | active#(head(cons(N, XS))) | → | mark#(U31(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N)) | |
active#(take(N, XS)) | → | isLNat#(XS) | active#(isNaturalKind(sel(V1, V2))) | → | mark#(and(isNaturalKind(V1), isLNatKind(V2))) | |
mark#(U181(X1, X2)) | → | mark#(X1) | U221#(X1, X2, active(X3)) | → | U221#(X1, X2, X3) | |
mark#(U21(X1, X2)) | → | mark#(X1) | U61#(X1, mark(X2)) | → | U61#(X1, X2) | |
splitAt#(active(X1), X2) | → | splitAt#(X1, X2) | active#(natsFrom(N)) | → | and#(isNatural(N), isNaturalKind(N)) | |
active#(splitAt(s(N), cons(X, XS))) | → | isLNatKind#(XS) | mark#(nil) | → | active#(nil) | |
U111#(X1, mark(X2)) | → | U111#(X1, X2) | U103#(mark(X)) | → | U103#(X) | |
take#(X1, active(X2)) | → | take#(X1, X2) | active#(U171(tt, N, XS)) | → | head#(afterNth(N, XS)) | |
U101#(X1, X2, active(X3)) | → | U101#(X1, X2, X3) | mark#(isNatural(X)) | → | active#(isNatural(X)) | |
active#(U103(tt)) | → | mark#(tt) | mark#(cons(X1, X2)) | → | cons#(mark(X1), X2) | |
active#(take(N, XS)) | → | mark#(U221(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS)) | natsFrom#(active(X)) | → | natsFrom#(X) | |
mark#(U81(X1, X2)) | → | active#(U81(mark(X1), X2)) | U43#(mark(X)) | → | U43#(X) | |
U152#(mark(X1), X2) | → | U152#(X1, X2) | active#(sel(N, XS)) | → | isLNatKind#(XS) | |
mark#(U153(X)) | → | mark#(X) | active#(isPLNat(pair(V1, V2))) | → | mark#(U141(and(isLNatKind(V1), isLNatKind(V2)), V1, V2)) | |
active#(isLNat(afterNth(V1, V2))) | → | U41#(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2) | mark#(splitAt(X1, X2)) | → | mark#(X2) | |
mark#(U153(X)) | → | U153#(mark(X)) | s#(mark(X)) | → | s#(X) | |
active#(fst(pair(X, Y))) | → | isLNat#(Y) | active#(tail(cons(N, XS))) | → | isLNat#(XS) | |
active#(U52(tt, V2)) | → | mark#(U53(isLNat(V2))) | mark#(U31(X1, X2)) | → | U31#(mark(X1), X2) | |
active#(isLNatKind(cons(V1, V2))) | → | mark#(and(isNaturalKind(V1), isLNatKind(V2))) | active#(isLNatKind(cons(V1, V2))) | → | isNaturalKind#(V1) | |
isLNatKind#(mark(X)) | → | isLNatKind#(X) | U122#(mark(X)) | → | U122#(X) | |
mark#(isLNatKind(X)) | → | isLNatKind#(X) | active#(afterNth(N, XS)) | → | isLNatKind#(XS) | |
active#(U31(tt, N)) | → | mark#(N) | U112#(active(X)) | → | U112#(X) | |
mark#(U143(X)) | → | U143#(mark(X)) | active#(sel(N, XS)) | → | isNaturalKind#(N) | |
active#(isLNat(natsFrom(V1))) | → | isNaturalKind#(V1) | mark#(U103(X)) | → | U103#(mark(X)) | |
mark#(U72(X)) | → | U72#(mark(X)) | U153#(active(X)) | → | U153#(X) | |
U71#(X1, mark(X2)) | → | U71#(X1, X2) | active#(U122(tt)) | → | mark#(tt) | |
splitAt#(mark(X1), X2) | → | splitAt#(X1, X2) | active#(U161(tt, N)) | → | natsFrom#(s(N)) | |
active#(take(N, XS)) | → | isLNatKind#(XS) | mark#(U181(X1, X2)) | → | U181#(mark(X1), X2) | |
isPLNatKind#(active(X)) | → | isPLNatKind#(X) | active#(isNatural(s(V1))) | → | mark#(U121(isNaturalKind(V1), V1)) | |
active#(isLNatKind(afterNth(V1, V2))) | → | isNaturalKind#(V1) | mark#(U131(X1, X2, X3)) | → | U131#(mark(X1), X2, X3) | |
active#(isLNat(take(V1, V2))) | → | isLNatKind#(V2) | active#(natsFrom(N)) | → | mark#(U161(and(isNatural(N), isNaturalKind(N)), N)) | |
mark#(U221(X1, X2, X3)) | → | active#(U221(mark(X1), X2, X3)) | U201#(X1, mark(X2), X3, X4) | → | U201#(X1, X2, X3, X4) | |
mark#(U53(X)) | → | mark#(X) | active#(splitAt(0, XS)) | → | mark#(U191(and(isLNat(XS), isLNatKind(XS)), XS)) | |
U51#(X1, X2, active(X3)) | → | U51#(X1, X2, X3) | mark#(U71(X1, X2)) | → | U71#(mark(X1), X2) | |
active#(U53(tt)) | → | mark#(tt) | active#(U41(tt, V1, V2)) | → | U42#(isNatural(V1), V2) | |
active#(isLNat(snd(V1))) | → | isPLNatKind#(V1) | mark#(cons(X1, X2)) | → | mark#(X1) | |
pair#(X1, mark(X2)) | → | pair#(X1, X2) | U112#(mark(X)) | → | U112#(X) | |
active#(tail(cons(N, XS))) | → | isNatural#(N) | U111#(mark(X1), X2) | → | U111#(X1, X2) | |
active#(U132(tt, V2)) | → | mark#(U133(isLNat(V2))) | U133#(mark(X)) | → | U133#(X) | |
active#(isLNat(snd(V1))) | → | mark#(U81(isPLNatKind(V1), V1)) | active#(head(cons(N, XS))) | → | and#(isLNat(XS), isLNatKind(XS)) | |
mark#(isNaturalKind(X)) | → | active#(isNaturalKind(X)) | active#(isLNat(nil)) | → | mark#(tt) | |
mark#(U202(X1, X2)) | → | U202#(mark(X1), X2) | U201#(X1, X2, X3, active(X4)) | → | U201#(X1, X2, X3, X4) | |
active#(isPLNatKind(pair(V1, V2))) | → | and#(isLNatKind(V1), isLNatKind(V2)) | mark#(U111(X1, X2)) | → | active#(U111(mark(X1), X2)) | |
active#(isLNatKind(tail(V1))) | → | mark#(isLNatKind(V1)) | U211#(mark(X1), X2) | → | U211#(X1, X2) | |
active#(take(N, XS)) | → | and#(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))) | U181#(X1, mark(X2)) | → | U181#(X1, X2) | |
mark#(tail(X)) | → | tail#(mark(X)) | active#(isNatural(0)) | → | mark#(tt) | |
mark#(splitAt(X1, X2)) | → | splitAt#(mark(X1), mark(X2)) | U81#(X1, mark(X2)) | → | U81#(X1, X2) | |
mark#(U122(X)) | → | active#(U122(mark(X))) | active#(isLNat(fst(V1))) | → | U61#(isPLNatKind(V1), V1) | |
active#(head(cons(N, XS))) | → | and#(isNatural(N), isNaturalKind(N)) | active#(U211(tt, XS)) | → | mark#(XS) | |
active#(splitAt(s(N), cons(X, XS))) | → | isNaturalKind#(X) | U61#(X1, active(X2)) | → | U61#(X1, X2) | |
active#(isLNat(afterNth(V1, V2))) | → | isLNatKind#(V2) | active#(U132(tt, V2)) | → | isLNat#(V2) | |
U101#(X1, X2, mark(X3)) | → | U101#(X1, X2, X3) | active#(splitAt(0, XS)) | → | U191#(and(isLNat(XS), isLNatKind(XS)), XS) | |
splitAt#(X1, active(X2)) | → | splitAt#(X1, X2) | active#(fst(pair(X, Y))) | → | U21#(and(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))), X) | |
mark#(U31(X1, X2)) | → | active#(U31(mark(X1), X2)) | active#(isLNat(take(V1, V2))) | → | mark#(U101(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | |
U202#(X1, active(X2)) | → | U202#(X1, X2) | mark#(U91(X1, X2)) | → | U91#(mark(X1), X2) | |
U122#(active(X)) | → | U122#(X) | mark#(0) | → | active#(0) | |
active#(U161(tt, N)) | → | cons#(N, natsFrom(s(N))) | U221#(X1, mark(X2), X3) | → | U221#(X1, X2, X3) | |
U41#(X1, X2, mark(X3)) | → | U41#(X1, X2, X3) | active#(isNatural(sel(V1, V2))) | → | U131#(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2) | |
mark#(U111(X1, X2)) | → | U111#(mark(X1), X2) | active#(U143(tt)) | → | mark#(tt) | |
U201#(mark(X1), X2, X3, X4) | → | U201#(X1, X2, X3, X4) | active#(snd(pair(X, Y))) | → | isLNat#(Y) | |
mark#(U202(X1, X2)) | → | active#(U202(mark(X1), X2)) | mark#(U141(X1, X2, X3)) | → | U141#(mark(X1), X2, X3) | |
active#(take(N, XS)) | → | isNaturalKind#(N) | mark#(U202(X1, X2)) | → | mark#(X1) | |
U211#(X1, mark(X2)) | → | U211#(X1, X2) | U202#(active(X1), X2) | → | U202#(X1, X2) | |
mark#(U62(X)) | → | U62#(mark(X)) | mark#(U131(X1, X2, X3)) | → | mark#(X1) | |
mark#(U51(X1, X2, X3)) | → | active#(U51(mark(X1), X2, X3)) | U141#(X1, active(X2), X3) | → | U141#(X1, X2, X3) | |
active#(splitAt(s(N), cons(X, XS))) | → | and#(isLNat(XS), isLNatKind(XS)) | U142#(X1, active(X2)) | → | U142#(X1, X2) | |
U11#(X1, X2, active(X3)) | → | U11#(X1, X2, X3) | active#(U92(tt)) | → | mark#(tt) | |
U201#(X1, X2, active(X3), X4) | → | U201#(X1, X2, X3, X4) | active#(afterNth(N, XS)) | → | mark#(U11(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS)) | |
mark#(fst(X)) | → | fst#(mark(X)) | active#(U151(tt, V1, V2)) | → | isNatural#(V1) | |
U131#(X1, mark(X2), X3) | → | U131#(X1, X2, X3) | U53#(active(X)) | → | U53#(X) | |
active#(isNatural(sel(V1, V2))) | → | mark#(U131(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | U51#(X1, active(X2), X3) | → | U51#(X1, X2, X3) | |
U141#(X1, mark(X2), X3) | → | U141#(X1, X2, X3) | active#(isPLNat(pair(V1, V2))) | → | U141#(and(isLNatKind(V1), isLNatKind(V2)), V1, V2) | |
active#(isPLNatKind(pair(V1, V2))) | → | isLNatKind#(V1) | active#(take(N, XS)) | → | U221#(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS) | |
mark#(U152(X1, X2)) | → | active#(U152(mark(X1), X2)) | active#(isPLNatKind(splitAt(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | |
mark#(U82(X)) | → | active#(U82(mark(X))) | U143#(active(X)) | → | U143#(X) | |
active#(U81(tt, V1)) | → | U82#(isPLNat(V1)) | mark#(U201(X1, X2, X3, X4)) | → | active#(U201(mark(X1), X2, X3, X4)) | |
active#(U111(tt, V1)) | → | isLNat#(V1) | U133#(active(X)) | → | U133#(X) | |
active#(U221(tt, N, XS)) | → | splitAt#(N, XS) | active#(U111(tt, V1)) | → | mark#(U112(isLNat(V1))) | |
sel#(active(X1), X2) | → | sel#(X1, X2) | U142#(active(X1), X2) | → | U142#(X1, X2) | |
mark#(U161(X1, X2)) | → | mark#(X1) | U181#(mark(X1), X2) | → | U181#(X1, X2) | |
U41#(active(X1), X2, X3) | → | U41#(X1, X2, X3) | mark#(isLNatKind(X)) | → | active#(isLNatKind(X)) | |
mark#(afterNth(X1, X2)) | → | afterNth#(mark(X1), mark(X2)) | active#(fst(pair(X, Y))) | → | and#(isLNat(X), isLNatKind(X)) | |
active#(U43(tt)) | → | mark#(tt) | and#(active(X1), X2) | → | and#(X1, X2) | |
active#(U142(tt, V2)) | → | mark#(U143(isLNat(V2))) | mark#(U91(X1, X2)) | → | mark#(X1) | |
mark#(U52(X1, X2)) | → | active#(U52(mark(X1), X2)) | U42#(X1, active(X2)) | → | U42#(X1, X2) | |
active#(splitAt(s(N), cons(X, XS))) | → | and#(isNatural(X), isNaturalKind(X)) | active#(isLNat(tail(V1))) | → | isLNatKind#(V1) | |
active#(tail(cons(N, XS))) | → | mark#(U211(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), XS)) | U201#(X1, X2, mark(X3), X4) | → | U201#(X1, X2, X3, X4) | |
active#(U91(tt, V1)) | → | mark#(U92(isLNat(V1))) | U202#(mark(X1), X2) | → | U202#(X1, X2) | |
active#(isPLNatKind(pair(V1, V2))) | → | isLNatKind#(V2) | U91#(active(X1), X2) | → | U91#(X1, X2) | |
mark#(U142(X1, X2)) | → | mark#(X1) | active#(isPLNatKind(splitAt(V1, V2))) | → | mark#(and(isNaturalKind(V1), isLNatKind(V2))) | |
tail#(active(X)) | → | tail#(X) | mark#(U71(X1, X2)) | → | active#(U71(mark(X1), X2)) | |
U41#(mark(X1), X2, X3) | → | U41#(X1, X2, X3) | U201#(X1, X2, X3, mark(X4)) | → | U201#(X1, X2, X3, X4) | |
active#(isLNat(take(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | active#(sel(N, XS)) | → | isLNat#(XS) | |
U152#(X1, active(X2)) | → | U152#(X1, X2) | active#(isLNat(fst(V1))) | → | isPLNatKind#(V1) | |
U191#(active(X1), X2) | → | U191#(X1, X2) | active#(take(N, XS)) | → | and#(isNatural(N), isNaturalKind(N)) | |
U81#(mark(X1), X2) | → | U81#(X1, X2) | active#(U51(tt, V1, V2)) | → | U52#(isNatural(V1), V2) | |
mark#(U52(X1, X2)) | → | mark#(X1) | active#(isNatural(sel(V1, V2))) | → | isLNatKind#(V2) | |
active#(snd(pair(X, Y))) | → | mark#(U181(and(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))), Y)) | U81#(active(X1), X2) | → | U81#(X1, X2) | |
U101#(X1, mark(X2), X3) | → | U101#(X1, X2, X3) | active#(isPLNat(pair(V1, V2))) | → | isLNatKind#(V2) | |
U51#(X1, X2, mark(X3)) | → | U51#(X1, X2, X3) | U41#(X1, mark(X2), X3) | → | U41#(X1, X2, X3) | |
active#(isPLNatKind(splitAt(V1, V2))) | → | isNaturalKind#(V1) | active#(U141(tt, V1, V2)) | → | mark#(U142(isLNat(V1), V2)) | |
U71#(active(X1), X2) | → | U71#(X1, X2) | U21#(mark(X1), X2) | → | U21#(X1, X2) | |
active#(U21(tt, X)) | → | mark#(X) | active#(U221(tt, N, XS)) | → | fst#(splitAt(N, XS)) | |
mark#(take(X1, X2)) | → | mark#(X2) | active#(tail(cons(N, XS))) | → | and#(isLNat(XS), isLNatKind(XS)) | |
mark#(natsFrom(X)) | → | natsFrom#(mark(X)) | mark#(U122(X)) | → | U122#(mark(X)) | |
mark#(pair(X1, X2)) | → | active#(pair(mark(X1), mark(X2))) | active#(U102(tt, V2)) | → | mark#(U103(isLNat(V2))) | |
U161#(X1, active(X2)) | → | U161#(X1, X2) | active#(isLNat(cons(V1, V2))) | → | mark#(U51(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | |
active#(isPLNat(splitAt(V1, V2))) | → | mark#(U151(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | active#(sel(N, XS)) | → | U171#(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS) | |
U132#(mark(X1), X2) | → | U132#(X1, X2) | active#(head(cons(N, XS))) | → | U31#(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N) | |
U171#(X1, X2, mark(X3)) | → | U171#(X1, X2, X3) | mark#(U11(X1, X2, X3)) | → | U11#(mark(X1), X2, X3) | |
isNaturalKind#(active(X)) | → | isNaturalKind#(X) | U82#(mark(X)) | → | U82#(X) | |
active#(U52(tt, V2)) | → | U53#(isLNat(V2)) | active#(U42(tt, V2)) | → | mark#(U43(isLNat(V2))) | |
mark#(snd(X)) | → | active#(snd(mark(X))) | mark#(U92(X)) | → | active#(U92(mark(X))) | |
active#(splitAt(s(N), cons(X, XS))) | → | isNaturalKind#(N) | mark#(isPLNatKind(X)) | → | active#(isPLNatKind(X)) | |
mark#(sel(X1, X2)) | → | mark#(X1) | active#(isLNatKind(fst(V1))) | → | mark#(isPLNatKind(V1)) | |
active#(U141(tt, V1, V2)) | → | isLNat#(V1) | active#(natsFrom(N)) | → | isNaturalKind#(N) | |
active#(isLNat(fst(V1))) | → | mark#(U61(isPLNatKind(V1), V1)) | U121#(active(X1), X2) | → | U121#(X1, X2) | |
mark#(U171(X1, X2, X3)) | → | mark#(X1) | mark#(U53(X)) | → | active#(U53(mark(X))) | |
mark#(afterNth(X1, X2)) | → | mark#(X1) | and#(mark(X1), X2) | → | and#(X1, X2) | |
mark#(U122(X)) | → | mark#(X) | active#(U71(tt, V1)) | → | isNatural#(V1) | |
U152#(active(X1), X2) | → | U152#(X1, X2) | active#(U101(tt, V1, V2)) | → | U102#(isNatural(V1), V2) | |
U211#(active(X1), X2) | → | U211#(X1, X2) | active#(U161(tt, N)) | → | s#(N) | |
U41#(X1, active(X2), X3) | → | U41#(X1, X2, X3) | active#(fst(pair(X, Y))) | → | and#(isLNat(Y), isLNatKind(Y)) | |
mark#(U111(X1, X2)) | → | mark#(X1) | head#(active(X)) | → | head#(X) | |
mark#(U132(X1, X2)) | → | U132#(mark(X1), X2) | U131#(X1, X2, active(X3)) | → | U131#(X1, X2, X3) | |
active#(isLNatKind(take(V1, V2))) | → | mark#(and(isNaturalKind(V1), isLNatKind(V2))) | isLNat#(active(X)) | → | isLNat#(X) | |
U102#(mark(X1), X2) | → | U102#(X1, X2) | active#(splitAt(s(N), cons(X, XS))) | → | and#(isNatural(N), isNaturalKind(N)) | |
U132#(active(X1), X2) | → | U132#(X1, X2) | U201#(X1, active(X2), X3, X4) | → | U201#(X1, X2, X3, X4) | |
active#(U133(tt)) | → | mark#(tt) | active#(U201(tt, N, X, XS)) | → | splitAt#(N, XS) | |
mark#(head(X)) | → | mark#(X) | active#(isPLNat(splitAt(V1, V2))) | → | U151#(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2) | |
active#(U171(tt, N, XS)) | → | mark#(head(afterNth(N, XS))) | active#(splitAt(s(N), cons(X, XS))) | → | and#(and(isNatural(X), isNaturalKind(X)), and(isLNat(XS), isLNatKind(XS))) | |
isPLNatKind#(mark(X)) | → | isPLNatKind#(X) | U171#(X1, active(X2), X3) | → | U171#(X1, X2, X3) | |
cons#(X1, mark(X2)) | → | cons#(X1, X2) | mark#(isPLNatKind(X)) | → | isPLNatKind#(X) | |
U143#(mark(X)) | → | U143#(X) | mark#(U143(X)) | → | mark#(X) | |
U52#(X1, mark(X2)) | → | U52#(X1, X2) | mark#(fst(X)) | → | mark#(X) | |
active#(isLNat(natsFrom(V1))) | → | mark#(U71(isNaturalKind(V1), V1)) | active#(sel(N, XS)) | → | isNatural#(N) | |
snd#(mark(X)) | → | snd#(X) | active#(U121(tt, V1)) | → | isNatural#(V1) | |
active#(U72(tt)) | → | mark#(tt) | U62#(active(X)) | → | U62#(X) | |
active#(head(cons(N, XS))) | → | isLNat#(XS) | mark#(U221(X1, X2, X3)) | → | mark#(X1) | |
U21#(active(X1), X2) | → | U21#(X1, X2) | pair#(X1, active(X2)) | → | pair#(X1, X2) | |
mark#(snd(X)) | → | mark#(X) | active#(tail(cons(N, XS))) | → | U211#(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), XS) | |
mark#(U102(X1, X2)) | → | mark#(X1) | mark#(U82(X)) | → | U82#(mark(X)) | |
active#(afterNth(N, XS)) | → | isLNat#(XS) | U142#(X1, mark(X2)) | → | U142#(X1, X2) | |
active#(U131(tt, V1, V2)) | → | mark#(U132(isNatural(V1), V2)) | U42#(active(X1), X2) | → | U42#(X1, X2) | |
active#(isLNatKind(take(V1, V2))) | → | isLNatKind#(V2) | mark#(take(X1, X2)) | → | mark#(X1) | |
active#(U142(tt, V2)) | → | isLNat#(V2) | mark#(U141(X1, X2, X3)) | → | active#(U141(mark(X1), X2, X3)) | |
mark#(U52(X1, X2)) | → | U52#(mark(X1), X2) | mark#(s(X)) | → | s#(mark(X)) | |
active#(isNaturalKind(sel(V1, V2))) | → | isLNatKind#(V2) | active#(afterNth(N, XS)) | → | isNatural#(N) | |
U171#(X1, mark(X2), X3) | → | U171#(X1, X2, X3) | active#(isPLNat(pair(V1, V2))) | → | and#(isLNatKind(V1), isLNatKind(V2)) | |
active#(U181(tt, Y)) | → | mark#(Y) | afterNth#(mark(X1), X2) | → | afterNth#(X1, X2) | |
mark#(U151(X1, X2, X3)) | → | active#(U151(mark(X1), X2, X3)) | mark#(U152(X1, X2)) | → | U152#(mark(X1), X2) | |
active#(U152(tt, V2)) | → | mark#(U153(isLNat(V2))) | active#(isNatural(sel(V1, V2))) | → | isNaturalKind#(V1) | |
mark#(sel(X1, X2)) | → | sel#(mark(X1), mark(X2)) | U121#(X1, active(X2)) | → | U121#(X1, X2) | |
active#(U202(pair(YS, ZS), X)) | → | pair#(cons(X, YS), ZS) | mark#(and(X1, X2)) | → | and#(mark(X1), X2) | |
mark#(U153(X)) | → | active#(U153(mark(X))) | U11#(mark(X1), X2, X3) | → | U11#(X1, X2, X3) | |
U101#(active(X1), X2, X3) | → | U101#(X1, X2, X3) | tail#(mark(X)) | → | tail#(X) | |
mark#(sel(X1, X2)) | → | active#(sel(mark(X1), mark(X2))) | U102#(X1, mark(X2)) | → | U102#(X1, X2) | |
mark#(U61(X1, X2)) | → | active#(U61(mark(X1), X2)) | cons#(X1, active(X2)) | → | cons#(X1, X2) | |
active#(snd(pair(X, Y))) | → | isLNatKind#(X) | active#(U161(tt, N)) | → | mark#(cons(N, natsFrom(s(N)))) | |
active#(U201(tt, N, X, XS)) | → | U202#(splitAt(N, XS), X) | active#(isNatural(head(V1))) | → | isLNatKind#(V1) | |
active#(U41(tt, V1, V2)) | → | isNatural#(V1) | active#(snd(pair(X, Y))) | → | isLNat#(X) | |
mark#(U133(X)) | → | active#(U133(mark(X))) | active#(U81(tt, V1)) | → | mark#(U82(isPLNat(V1))) | |
active#(splitAt(0, XS)) | → | and#(isLNat(XS), isLNatKind(XS)) | U51#(active(X1), X2, X3) | → | U51#(X1, X2, X3) | |
U43#(active(X)) | → | U43#(X) | mark#(U61(X1, X2)) | → | mark#(X1) | |
active#(isNaturalKind(sel(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | take#(mark(X1), X2) | → | take#(X1, X2) | |
U131#(active(X1), X2, X3) | → | U131#(X1, X2, X3) | mark#(U101(X1, X2, X3)) | → | active#(U101(mark(X1), X2, X3)) | |
U101#(X1, active(X2), X3) | → | U101#(X1, X2, X3) | U221#(mark(X1), X2, X3) | → | U221#(X1, X2, X3) | |
mark#(pair(X1, X2)) | → | pair#(mark(X1), mark(X2)) | mark#(U211(X1, X2)) | → | U211#(mark(X1), X2) | |
mark#(U21(X1, X2)) | → | U21#(mark(X1), X2) | U11#(X1, X2, mark(X3)) | → | U11#(X1, X2, X3) | |
U103#(active(X)) | → | U103#(X) | U111#(active(X1), X2) | → | U111#(X1, X2) | |
active#(U132(tt, V2)) | → | U133#(isLNat(V2)) | U151#(X1, X2, active(X3)) | → | U151#(X1, X2, X3) | |
mark#(sel(X1, X2)) | → | mark#(X2) | fst#(mark(X)) | → | fst#(X) | |
active#(U171(tt, N, XS)) | → | afterNth#(N, XS) | afterNth#(X1, active(X2)) | → | afterNth#(X1, X2) | |
U92#(active(X)) | → | U92#(X) | U151#(mark(X1), X2, X3) | → | U151#(X1, X2, X3) | |
active#(U112(tt)) | → | mark#(tt) | and#(X1, mark(X2)) | → | and#(X1, X2) | |
U171#(mark(X1), X2, X3) | → | U171#(X1, X2, X3) | U121#(mark(X1), X2) | → | U121#(X1, X2) | |
active#(splitAt(s(N), cons(X, XS))) | → | isNatural#(X) | isLNat#(mark(X)) | → | isLNat#(X) | |
mark#(isLNat(X)) | → | isLNat#(X) | active#(isPLNat(splitAt(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | |
mark#(head(X)) | → | head#(mark(X)) | mark#(take(X1, X2)) | → | take#(mark(X1), mark(X2)) | |
active#(U131(tt, V1, V2)) | → | isNatural#(V1) | active#(snd(pair(X, Y))) | → | and#(isLNat(Y), isLNatKind(Y)) | |
U151#(active(X1), X2, X3) | → | U151#(X1, X2, X3) | active#(isLNatKind(tail(V1))) | → | isLNatKind#(V1) | |
mark#(U102(X1, X2)) | → | U102#(mark(X1), X2) | U141#(active(X1), X2, X3) | → | U141#(X1, X2, X3) | |
active#(fst(pair(X, Y))) | → | isLNat#(X) | mark#(U152(X1, X2)) | → | mark#(X1) | |
U171#(active(X1), X2, X3) | → | U171#(X1, X2, X3) | mark#(U51(X1, X2, X3)) | → | U51#(mark(X1), X2, X3) | |
active#(U153(tt)) | → | mark#(tt) | mark#(U42(X1, X2)) | → | active#(U42(mark(X1), X2)) | |
active#(afterNth(N, XS)) | → | isNaturalKind#(N) | mark#(U102(X1, X2)) | → | active#(U102(mark(X1), X2)) | |
mark#(U43(X)) | → | U43#(mark(X)) | mark#(U142(X1, X2)) | → | U142#(mark(X1), X2) | |
U151#(X1, mark(X2), X3) | → | U151#(X1, X2, X3) | mark#(U101(X1, X2, X3)) | → | mark#(X1) | |
mark#(U81(X1, X2)) | → | U81#(mark(X1), X2) | active#(tail(cons(N, XS))) | → | isNaturalKind#(N) | |
U141#(X1, X2, mark(X3)) | → | U141#(X1, X2, X3) | mark#(pair(X1, X2)) | → | mark#(X2) | |
active#(isNatural(s(V1))) | → | U121#(isNaturalKind(V1), V1) | active#(isPLNat(splitAt(V1, V2))) | → | isLNatKind#(V2) | |
active#(isNaturalKind(head(V1))) | → | isLNatKind#(V1) | active#(sel(N, XS)) | → | and#(isNatural(N), isNaturalKind(N)) | |
active#(splitAt(s(N), cons(X, XS))) | → | mark#(U201(and(and(isNatural(N), isNaturalKind(N)), and(and(isNatural(X), isNaturalKind(X)), and(isLNat(XS), isLNatKind(XS)))), N, X, XS)) | U11#(X1, active(X2), X3) | → | U11#(X1, X2, X3) | |
mark#(U161(X1, X2)) | → | active#(U161(mark(X1), X2)) | active#(head(cons(N, XS))) | → | isNaturalKind#(N) | |
active#(splitAt(0, XS)) | → | isLNatKind#(XS) | fst#(active(X)) | → | fst#(X) | |
U102#(active(X1), X2) | → | U102#(X1, X2) | sel#(X1, mark(X2)) | → | sel#(X1, X2) | |
mark#(U181(X1, X2)) | → | active#(U181(mark(X1), X2)) | U131#(mark(X1), X2, X3) | → | U131#(X1, X2, X3) | |
mark#(and(X1, X2)) | → | mark#(X1) | active#(isNaturalKind(s(V1))) | → | isNaturalKind#(V1) | |
mark#(pair(X1, X2)) | → | mark#(X1) | sel#(X1, active(X2)) | → | sel#(X1, X2) | |
mark#(tail(X)) | → | mark#(X) | mark#(U62(X)) | → | mark#(X) | |
U161#(X1, mark(X2)) | → | U161#(X1, X2) | mark#(U131(X1, X2, X3)) | → | active#(U131(mark(X1), X2, X3)) | |
active#(U201(tt, N, X, XS)) | → | mark#(U202(splitAt(N, XS), X)) | active#(U51(tt, V1, V2)) | → | mark#(U52(isNatural(V1), V2)) | |
mark#(afterNth(X1, X2)) | → | mark#(X2) | active#(isNatural(head(V1))) | → | mark#(U111(isLNatKind(V1), V1)) | |
pair#(mark(X1), X2) | → | pair#(X1, X2) | active#(U61(tt, V1)) | → | mark#(U62(isPLNat(V1))) | |
mark#(U92(X)) | → | U92#(mark(X)) | cons#(mark(X1), X2) | → | cons#(X1, X2) | |
active#(isLNat(tail(V1))) | → | mark#(U91(isLNatKind(V1), V1)) | mark#(tt) | → | active#(tt) | |
active#(isLNatKind(natsFrom(V1))) | → | isNaturalKind#(V1) | U31#(X1, active(X2)) | → | U31#(X1, X2) | |
mark#(U61(X1, X2)) | → | U61#(mark(X1), X2) | active#(fst(pair(X, Y))) | → | isLNatKind#(Y) | |
active#(U202(pair(YS, ZS), X)) | → | mark#(pair(cons(X, YS), ZS)) | mark#(U132(X1, X2)) | → | mark#(X1) | |
U21#(X1, mark(X2)) | → | U21#(X1, X2) | mark#(U51(X1, X2, X3)) | → | mark#(X1) | |
U62#(mark(X)) | → | U62#(X) | U71#(mark(X1), X2) | → | U71#(X1, X2) | |
U201#(active(X1), X2, X3, X4) | → | U201#(X1, X2, X3, X4) | U221#(X1, X2, mark(X3)) | → | U221#(X1, X2, X3) | |
U181#(active(X1), X2) | → | U181#(X1, X2) | U131#(X1, X2, mark(X3)) | → | U131#(X1, X2, X3) | |
active#(isLNat(afterNth(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | U51#(mark(X1), X2, X3) | → | U51#(X1, X2, X3) | |
mark#(s(X)) | → | active#(s(mark(X))) | head#(mark(X)) | → | head#(X) | |
active#(U102(tt, V2)) | → | U103#(isLNat(V2)) | U52#(active(X1), X2) | → | U52#(X1, X2) | |
snd#(active(X)) | → | snd#(X) | mark#(U43(X)) | → | active#(U43(mark(X))) | |
mark#(U43(X)) | → | mark#(X) | mark#(U201(X1, X2, X3, X4)) | → | U201#(mark(X1), X2, X3, X4) | |
U81#(X1, active(X2)) | → | U81#(X1, X2) | active#(isNaturalKind(sel(V1, V2))) | → | isNaturalKind#(V1) | |
mark#(cons(X1, X2)) | → | active#(cons(mark(X1), X2)) | U202#(X1, mark(X2)) | → | U202#(X1, X2) | |
active#(splitAt(s(N), cons(X, XS))) | → | U201#(and(and(isNatural(N), isNaturalKind(N)), and(and(isNatural(X), isNaturalKind(X)), and(isLNat(XS), isLNatKind(XS)))), N, X, XS) | active#(isLNatKind(snd(V1))) | → | mark#(isPLNatKind(V1)) | |
active#(isPLNatKind(pair(V1, V2))) | → | mark#(and(isLNatKind(V1), isLNatKind(V2))) | U92#(mark(X)) | → | U92#(X) | |
active#(U121(tt, V1)) | → | mark#(U122(isNatural(V1))) | active#(natsFrom(N)) | → | U161#(and(isNatural(N), isNaturalKind(N)), N) | |
active#(isLNatKind(cons(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | U102#(X1, active(X2)) | → | U102#(X1, X2) | |
mark#(snd(X)) | → | snd#(mark(X)) | active#(isLNatKind(take(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | |
active#(isPLNat(pair(V1, V2))) | → | isLNatKind#(V1) | active#(U101(tt, V1, V2)) | → | isNatural#(V1) | |
U191#(X1, active(X2)) | → | U191#(X1, X2) | active#(fst(pair(X, Y))) | → | mark#(U21(and(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))), X)) | |
U42#(X1, mark(X2)) | → | U42#(X1, X2) | U31#(active(X1), X2) | → | U31#(X1, X2) | |
mark#(U143(X)) | → | active#(U143(mark(X))) | mark#(U31(X1, X2)) | → | mark#(X1) | |
pair#(active(X1), X2) | → | pair#(X1, X2) | U153#(mark(X)) | → | U153#(X) | |
mark#(U91(X1, X2)) | → | active#(U91(mark(X1), X2)) | active#(isLNat(snd(V1))) | → | U81#(isPLNatKind(V1), V1) | |
mark#(U81(X1, X2)) | → | mark#(X1) | active#(isLNatKind(afterNth(V1, V2))) | → | mark#(and(isNaturalKind(V1), isLNatKind(V2))) | |
isNaturalKind#(mark(X)) | → | isNaturalKind#(X) | mark#(isNaturalKind(X)) | → | isNaturalKind#(X) | |
active#(isPLNat(splitAt(V1, V2))) | → | isNaturalKind#(V1) | active#(isLNat(cons(V1, V2))) | → | U51#(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2) | |
active#(U141(tt, V1, V2)) | → | U142#(isLNat(V1), V2) | active#(U41(tt, V1, V2)) | → | mark#(U42(isNatural(V1), V2)) | |
U142#(mark(X1), X2) | → | U142#(X1, X2) | active#(fst(pair(X, Y))) | → | and#(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))) | |
mark#(U82(X)) | → | mark#(X) | active#(U151(tt, V1, V2)) | → | U152#(isNatural(V1), V2) | |
active#(tail(cons(N, XS))) | → | and#(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))) | U72#(mark(X)) | → | U72#(X) | |
U71#(X1, active(X2)) | → | U71#(X1, X2) | mark#(U121(X1, X2)) | → | U121#(mark(X1), X2) | |
mark#(U112(X)) | → | mark#(X) | active#(isLNatKind(afterNth(V1, V2))) | → | and#(isNaturalKind(V1), isLNatKind(V2)) | |
active#(snd(pair(X, Y))) | → | U181#(and(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))), Y) | U111#(X1, active(X2)) | → | U111#(X1, X2) | |
U161#(mark(X1), X2) | → | U161#(X1, X2) | mark#(U151(X1, X2, X3)) | → | mark#(X1) | |
active#(isLNat(cons(V1, V2))) | → | isLNatKind#(V2) | active#(snd(pair(X, Y))) | → | and#(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))) | |
mark#(U171(X1, X2, X3)) | → | U171#(mark(X1), X2, X3) | U121#(X1, mark(X2)) | → | U121#(X1, X2) | |
U101#(mark(X1), X2, X3) | → | U101#(X1, X2, X3) | mark#(U221(X1, X2, X3)) | → | U221#(mark(X1), X2, X3) | |
U31#(X1, mark(X2)) | → | U31#(X1, X2) | active#(afterNth(N, XS)) | → | and#(isLNat(XS), isLNatKind(XS)) | |
active#(U51(tt, V1, V2)) | → | isNatural#(V1) | mark#(and(X1, X2)) | → | active#(and(mark(X1), X2)) | |
mark#(isPLNat(X)) | → | active#(isPLNat(X)) | U211#(X1, active(X2)) | → | U211#(X1, X2) | |
active#(tail(cons(N, XS))) | → | isLNatKind#(XS) | active#(isLNatKind(nil)) | → | mark#(tt) | |
active#(isLNatKind(cons(V1, V2))) | → | isLNatKind#(V2) | U161#(active(X1), X2) | → | U161#(X1, X2) | |
active#(U102(tt, V2)) | → | isLNat#(V2) | mark#(U191(X1, X2)) | → | active#(U191(mark(X1), X2)) | |
active#(isLNat(take(V1, V2))) | → | U101#(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2) | active#(U152(tt, V2)) | → | U153#(isLNat(V2)) | |
active#(and(tt, X)) | → | mark#(X) | U31#(mark(X1), X2) | → | U31#(X1, X2) | |
active#(snd(pair(X, Y))) | → | and#(isLNat(X), isLNatKind(X)) | active#(U71(tt, V1)) | → | U72#(isNatural(V1)) | |
active#(tail(cons(N, XS))) | → | and#(isNatural(N), isNaturalKind(N)) | mark#(U92(X)) | → | mark#(X) | |
U11#(X1, mark(X2), X3) | → | U11#(X1, X2, X3) | U72#(active(X)) | → | U72#(X) | |
s#(active(X)) | → | s#(X) | active#(U151(tt, V1, V2)) | → | mark#(U152(isNatural(V1), V2)) | |
active#(U11(tt, N, XS)) | → | snd#(splitAt(N, XS)) | take#(active(X1), X2) | → | take#(X1, X2) |
active(U101(tt, V1, V2)) | → | mark(U102(isNatural(V1), V2)) | active(U102(tt, V2)) | → | mark(U103(isLNat(V2))) | |
active(U103(tt)) | → | mark(tt) | active(U11(tt, N, XS)) | → | mark(snd(splitAt(N, XS))) | |
active(U111(tt, V1)) | → | mark(U112(isLNat(V1))) | active(U112(tt)) | → | mark(tt) | |
active(U121(tt, V1)) | → | mark(U122(isNatural(V1))) | active(U122(tt)) | → | mark(tt) | |
active(U131(tt, V1, V2)) | → | mark(U132(isNatural(V1), V2)) | active(U132(tt, V2)) | → | mark(U133(isLNat(V2))) | |
active(U133(tt)) | → | mark(tt) | active(U141(tt, V1, V2)) | → | mark(U142(isLNat(V1), V2)) | |
active(U142(tt, V2)) | → | mark(U143(isLNat(V2))) | active(U143(tt)) | → | mark(tt) | |
active(U151(tt, V1, V2)) | → | mark(U152(isNatural(V1), V2)) | active(U152(tt, V2)) | → | mark(U153(isLNat(V2))) | |
active(U153(tt)) | → | mark(tt) | active(U161(tt, N)) | → | mark(cons(N, natsFrom(s(N)))) | |
active(U171(tt, N, XS)) | → | mark(head(afterNth(N, XS))) | active(U181(tt, Y)) | → | mark(Y) | |
active(U191(tt, XS)) | → | mark(pair(nil, XS)) | active(U201(tt, N, X, XS)) | → | mark(U202(splitAt(N, XS), X)) | |
active(U202(pair(YS, ZS), X)) | → | mark(pair(cons(X, YS), ZS)) | active(U21(tt, X)) | → | mark(X) | |
active(U211(tt, XS)) | → | mark(XS) | active(U221(tt, N, XS)) | → | mark(fst(splitAt(N, XS))) | |
active(U31(tt, N)) | → | mark(N) | active(U41(tt, V1, V2)) | → | mark(U42(isNatural(V1), V2)) | |
active(U42(tt, V2)) | → | mark(U43(isLNat(V2))) | active(U43(tt)) | → | mark(tt) | |
active(U51(tt, V1, V2)) | → | mark(U52(isNatural(V1), V2)) | active(U52(tt, V2)) | → | mark(U53(isLNat(V2))) | |
active(U53(tt)) | → | mark(tt) | active(U61(tt, V1)) | → | mark(U62(isPLNat(V1))) | |
active(U62(tt)) | → | mark(tt) | active(U71(tt, V1)) | → | mark(U72(isNatural(V1))) | |
active(U72(tt)) | → | mark(tt) | active(U81(tt, V1)) | → | mark(U82(isPLNat(V1))) | |
active(U82(tt)) | → | mark(tt) | active(U91(tt, V1)) | → | mark(U92(isLNat(V1))) | |
active(U92(tt)) | → | mark(tt) | active(afterNth(N, XS)) | → | mark(U11(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS)) | |
active(and(tt, X)) | → | mark(X) | active(fst(pair(X, Y))) | → | mark(U21(and(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))), X)) | |
active(head(cons(N, XS))) | → | mark(U31(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N)) | active(isLNat(nil)) | → | mark(tt) | |
active(isLNat(afterNth(V1, V2))) | → | mark(U41(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | active(isLNat(cons(V1, V2))) | → | mark(U51(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | |
active(isLNat(fst(V1))) | → | mark(U61(isPLNatKind(V1), V1)) | active(isLNat(natsFrom(V1))) | → | mark(U71(isNaturalKind(V1), V1)) | |
active(isLNat(snd(V1))) | → | mark(U81(isPLNatKind(V1), V1)) | active(isLNat(tail(V1))) | → | mark(U91(isLNatKind(V1), V1)) | |
active(isLNat(take(V1, V2))) | → | mark(U101(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | active(isLNatKind(nil)) | → | mark(tt) | |
active(isLNatKind(afterNth(V1, V2))) | → | mark(and(isNaturalKind(V1), isLNatKind(V2))) | active(isLNatKind(cons(V1, V2))) | → | mark(and(isNaturalKind(V1), isLNatKind(V2))) | |
active(isLNatKind(fst(V1))) | → | mark(isPLNatKind(V1)) | active(isLNatKind(natsFrom(V1))) | → | mark(isNaturalKind(V1)) | |
active(isLNatKind(snd(V1))) | → | mark(isPLNatKind(V1)) | active(isLNatKind(tail(V1))) | → | mark(isLNatKind(V1)) | |
active(isLNatKind(take(V1, V2))) | → | mark(and(isNaturalKind(V1), isLNatKind(V2))) | active(isNatural(0)) | → | mark(tt) | |
active(isNatural(head(V1))) | → | mark(U111(isLNatKind(V1), V1)) | active(isNatural(s(V1))) | → | mark(U121(isNaturalKind(V1), V1)) | |
active(isNatural(sel(V1, V2))) | → | mark(U131(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | active(isNaturalKind(0)) | → | mark(tt) | |
active(isNaturalKind(head(V1))) | → | mark(isLNatKind(V1)) | active(isNaturalKind(s(V1))) | → | mark(isNaturalKind(V1)) | |
active(isNaturalKind(sel(V1, V2))) | → | mark(and(isNaturalKind(V1), isLNatKind(V2))) | active(isPLNat(pair(V1, V2))) | → | mark(U141(and(isLNatKind(V1), isLNatKind(V2)), V1, V2)) | |
active(isPLNat(splitAt(V1, V2))) | → | mark(U151(and(isNaturalKind(V1), isLNatKind(V2)), V1, V2)) | active(isPLNatKind(pair(V1, V2))) | → | mark(and(isLNatKind(V1), isLNatKind(V2))) | |
active(isPLNatKind(splitAt(V1, V2))) | → | mark(and(isNaturalKind(V1), isLNatKind(V2))) | active(natsFrom(N)) | → | mark(U161(and(isNatural(N), isNaturalKind(N)), N)) | |
active(sel(N, XS)) | → | mark(U171(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS)) | active(snd(pair(X, Y))) | → | mark(U181(and(and(isLNat(X), isLNatKind(X)), and(isLNat(Y), isLNatKind(Y))), Y)) | |
active(splitAt(0, XS)) | → | mark(U191(and(isLNat(XS), isLNatKind(XS)), XS)) | active(splitAt(s(N), cons(X, XS))) | → | mark(U201(and(and(isNatural(N), isNaturalKind(N)), and(and(isNatural(X), isNaturalKind(X)), and(isLNat(XS), isLNatKind(XS)))), N, X, XS)) | |
active(tail(cons(N, XS))) | → | mark(U211(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), XS)) | active(take(N, XS)) | → | mark(U221(and(and(isNatural(N), isNaturalKind(N)), and(isLNat(XS), isLNatKind(XS))), N, XS)) | |
mark(U101(X1, X2, X3)) | → | active(U101(mark(X1), X2, X3)) | mark(tt) | → | active(tt) | |
mark(U102(X1, X2)) | → | active(U102(mark(X1), X2)) | mark(isNatural(X)) | → | active(isNatural(X)) | |
mark(U103(X)) | → | active(U103(mark(X))) | mark(isLNat(X)) | → | active(isLNat(X)) | |
mark(U11(X1, X2, X3)) | → | active(U11(mark(X1), X2, X3)) | mark(snd(X)) | → | active(snd(mark(X))) | |
mark(splitAt(X1, X2)) | → | active(splitAt(mark(X1), mark(X2))) | mark(U111(X1, X2)) | → | active(U111(mark(X1), X2)) | |
mark(U112(X)) | → | active(U112(mark(X))) | mark(U121(X1, X2)) | → | active(U121(mark(X1), X2)) | |
mark(U122(X)) | → | active(U122(mark(X))) | mark(U131(X1, X2, X3)) | → | active(U131(mark(X1), X2, X3)) | |
mark(U132(X1, X2)) | → | active(U132(mark(X1), X2)) | mark(U133(X)) | → | active(U133(mark(X))) | |
mark(U141(X1, X2, X3)) | → | active(U141(mark(X1), X2, X3)) | mark(U142(X1, X2)) | → | active(U142(mark(X1), X2)) | |
mark(U143(X)) | → | active(U143(mark(X))) | mark(U151(X1, X2, X3)) | → | active(U151(mark(X1), X2, X3)) | |
mark(U152(X1, X2)) | → | active(U152(mark(X1), X2)) | mark(U153(X)) | → | active(U153(mark(X))) | |
mark(U161(X1, X2)) | → | active(U161(mark(X1), X2)) | mark(cons(X1, X2)) | → | active(cons(mark(X1), X2)) | |
mark(natsFrom(X)) | → | active(natsFrom(mark(X))) | mark(s(X)) | → | active(s(mark(X))) | |
mark(U171(X1, X2, X3)) | → | active(U171(mark(X1), X2, X3)) | mark(head(X)) | → | active(head(mark(X))) | |
mark(afterNth(X1, X2)) | → | active(afterNth(mark(X1), mark(X2))) | mark(U181(X1, X2)) | → | active(U181(mark(X1), X2)) | |
mark(U191(X1, X2)) | → | active(U191(mark(X1), X2)) | mark(pair(X1, X2)) | → | active(pair(mark(X1), mark(X2))) | |
mark(nil) | → | active(nil) | mark(U201(X1, X2, X3, X4)) | → | active(U201(mark(X1), X2, X3, X4)) | |
mark(U202(X1, X2)) | → | active(U202(mark(X1), X2)) | mark(U21(X1, X2)) | → | active(U21(mark(X1), X2)) | |
mark(U211(X1, X2)) | → | active(U211(mark(X1), X2)) | mark(U221(X1, X2, X3)) | → | active(U221(mark(X1), X2, X3)) | |
mark(fst(X)) | → | active(fst(mark(X))) | mark(U31(X1, X2)) | → | active(U31(mark(X1), X2)) | |
mark(U41(X1, X2, X3)) | → | active(U41(mark(X1), X2, X3)) | mark(U42(X1, X2)) | → | active(U42(mark(X1), X2)) | |
mark(U43(X)) | → | active(U43(mark(X))) | mark(U51(X1, X2, X3)) | → | active(U51(mark(X1), X2, X3)) | |
mark(U52(X1, X2)) | → | active(U52(mark(X1), X2)) | mark(U53(X)) | → | active(U53(mark(X))) | |
mark(U61(X1, X2)) | → | active(U61(mark(X1), X2)) | mark(U62(X)) | → | active(U62(mark(X))) | |
mark(isPLNat(X)) | → | active(isPLNat(X)) | mark(U71(X1, X2)) | → | active(U71(mark(X1), X2)) | |
mark(U72(X)) | → | active(U72(mark(X))) | mark(U81(X1, X2)) | → | active(U81(mark(X1), X2)) | |
mark(U82(X)) | → | active(U82(mark(X))) | mark(U91(X1, X2)) | → | active(U91(mark(X1), X2)) | |
mark(U92(X)) | → | active(U92(mark(X))) | mark(and(X1, X2)) | → | active(and(mark(X1), X2)) | |
mark(isNaturalKind(X)) | → | active(isNaturalKind(X)) | mark(isLNatKind(X)) | → | active(isLNatKind(X)) | |
mark(isPLNatKind(X)) | → | active(isPLNatKind(X)) | mark(tail(X)) | → | active(tail(mark(X))) | |
mark(take(X1, X2)) | → | active(take(mark(X1), mark(X2))) | mark(0) | → | active(0) | |
mark(sel(X1, X2)) | → | active(sel(mark(X1), mark(X2))) | U101(mark(X1), X2, X3) | → | U101(X1, X2, X3) | |
U101(X1, mark(X2), X3) | → | U101(X1, X2, X3) | U101(X1, X2, mark(X3)) | → | U101(X1, X2, X3) | |
U101(active(X1), X2, X3) | → | U101(X1, X2, X3) | U101(X1, active(X2), X3) | → | U101(X1, X2, X3) | |
U101(X1, X2, active(X3)) | → | U101(X1, X2, X3) | U102(mark(X1), X2) | → | U102(X1, X2) | |
U102(X1, mark(X2)) | → | U102(X1, X2) | U102(active(X1), X2) | → | U102(X1, X2) | |
U102(X1, active(X2)) | → | U102(X1, X2) | isNatural(mark(X)) | → | isNatural(X) | |
isNatural(active(X)) | → | isNatural(X) | U103(mark(X)) | → | U103(X) | |
U103(active(X)) | → | U103(X) | isLNat(mark(X)) | → | isLNat(X) | |
isLNat(active(X)) | → | isLNat(X) | U11(mark(X1), X2, X3) | → | U11(X1, X2, X3) | |
U11(X1, mark(X2), X3) | → | U11(X1, X2, X3) | U11(X1, X2, mark(X3)) | → | U11(X1, X2, X3) | |
U11(active(X1), X2, X3) | → | U11(X1, X2, X3) | U11(X1, active(X2), X3) | → | U11(X1, X2, X3) | |
U11(X1, X2, active(X3)) | → | U11(X1, X2, X3) | snd(mark(X)) | → | snd(X) | |
snd(active(X)) | → | snd(X) | splitAt(mark(X1), X2) | → | splitAt(X1, X2) | |
splitAt(X1, mark(X2)) | → | splitAt(X1, X2) | splitAt(active(X1), X2) | → | splitAt(X1, X2) | |
splitAt(X1, active(X2)) | → | splitAt(X1, X2) | U111(mark(X1), X2) | → | U111(X1, X2) | |
U111(X1, mark(X2)) | → | U111(X1, X2) | U111(active(X1), X2) | → | U111(X1, X2) | |
U111(X1, active(X2)) | → | U111(X1, X2) | U112(mark(X)) | → | U112(X) | |
U112(active(X)) | → | U112(X) | U121(mark(X1), X2) | → | U121(X1, X2) | |
U121(X1, mark(X2)) | → | U121(X1, X2) | U121(active(X1), X2) | → | U121(X1, X2) | |
U121(X1, active(X2)) | → | U121(X1, X2) | U122(mark(X)) | → | U122(X) | |
U122(active(X)) | → | U122(X) | U131(mark(X1), X2, X3) | → | U131(X1, X2, X3) | |
U131(X1, mark(X2), X3) | → | U131(X1, X2, X3) | U131(X1, X2, mark(X3)) | → | U131(X1, X2, X3) | |
U131(active(X1), X2, X3) | → | U131(X1, X2, X3) | U131(X1, active(X2), X3) | → | U131(X1, X2, X3) | |
U131(X1, X2, active(X3)) | → | U131(X1, X2, X3) | U132(mark(X1), X2) | → | U132(X1, X2) | |
U132(X1, mark(X2)) | → | U132(X1, X2) | U132(active(X1), X2) | → | U132(X1, X2) | |
U132(X1, active(X2)) | → | U132(X1, X2) | U133(mark(X)) | → | U133(X) | |
U133(active(X)) | → | U133(X) | U141(mark(X1), X2, X3) | → | U141(X1, X2, X3) | |
U141(X1, mark(X2), X3) | → | U141(X1, X2, X3) | U141(X1, X2, mark(X3)) | → | U141(X1, X2, X3) | |
U141(active(X1), X2, X3) | → | U141(X1, X2, X3) | U141(X1, active(X2), X3) | → | U141(X1, X2, X3) | |
U141(X1, X2, active(X3)) | → | U141(X1, X2, X3) | U142(mark(X1), X2) | → | U142(X1, X2) | |
U142(X1, mark(X2)) | → | U142(X1, X2) | U142(active(X1), X2) | → | U142(X1, X2) | |
U142(X1, active(X2)) | → | U142(X1, X2) | U143(mark(X)) | → | U143(X) | |
U143(active(X)) | → | U143(X) | U151(mark(X1), X2, X3) | → | U151(X1, X2, X3) | |
U151(X1, mark(X2), X3) | → | U151(X1, X2, X3) | U151(X1, X2, mark(X3)) | → | U151(X1, X2, X3) | |
U151(active(X1), X2, X3) | → | U151(X1, X2, X3) | U151(X1, active(X2), X3) | → | U151(X1, X2, X3) | |
U151(X1, X2, active(X3)) | → | U151(X1, X2, X3) | U152(mark(X1), X2) | → | U152(X1, X2) | |
U152(X1, mark(X2)) | → | U152(X1, X2) | U152(active(X1), X2) | → | U152(X1, X2) | |
U152(X1, active(X2)) | → | U152(X1, X2) | U153(mark(X)) | → | U153(X) | |
U153(active(X)) | → | U153(X) | U161(mark(X1), X2) | → | U161(X1, X2) | |
U161(X1, mark(X2)) | → | U161(X1, X2) | U161(active(X1), X2) | → | U161(X1, X2) | |
U161(X1, active(X2)) | → | U161(X1, X2) | cons(mark(X1), X2) | → | cons(X1, X2) | |
cons(X1, mark(X2)) | → | cons(X1, X2) | cons(active(X1), X2) | → | cons(X1, X2) | |
cons(X1, active(X2)) | → | cons(X1, X2) | natsFrom(mark(X)) | → | natsFrom(X) | |
natsFrom(active(X)) | → | natsFrom(X) | s(mark(X)) | → | s(X) | |
s(active(X)) | → | s(X) | U171(mark(X1), X2, X3) | → | U171(X1, X2, X3) | |
U171(X1, mark(X2), X3) | → | U171(X1, X2, X3) | U171(X1, X2, mark(X3)) | → | U171(X1, X2, X3) | |
U171(active(X1), X2, X3) | → | U171(X1, X2, X3) | U171(X1, active(X2), X3) | → | U171(X1, X2, X3) | |
U171(X1, X2, active(X3)) | → | U171(X1, X2, X3) | head(mark(X)) | → | head(X) | |
head(active(X)) | → | head(X) | afterNth(mark(X1), X2) | → | afterNth(X1, X2) | |
afterNth(X1, mark(X2)) | → | afterNth(X1, X2) | afterNth(active(X1), X2) | → | afterNth(X1, X2) | |
afterNth(X1, active(X2)) | → | afterNth(X1, X2) | U181(mark(X1), X2) | → | U181(X1, X2) | |
U181(X1, mark(X2)) | → | U181(X1, X2) | U181(active(X1), X2) | → | U181(X1, X2) | |
U181(X1, active(X2)) | → | U181(X1, X2) | U191(mark(X1), X2) | → | U191(X1, X2) | |
U191(X1, mark(X2)) | → | U191(X1, X2) | U191(active(X1), X2) | → | U191(X1, X2) | |
U191(X1, active(X2)) | → | U191(X1, X2) | pair(mark(X1), X2) | → | pair(X1, X2) | |
pair(X1, mark(X2)) | → | pair(X1, X2) | pair(active(X1), X2) | → | pair(X1, X2) | |
pair(X1, active(X2)) | → | pair(X1, X2) | U201(mark(X1), X2, X3, X4) | → | U201(X1, X2, X3, X4) | |
U201(X1, mark(X2), X3, X4) | → | U201(X1, X2, X3, X4) | U201(X1, X2, mark(X3), X4) | → | U201(X1, X2, X3, X4) | |
U201(X1, X2, X3, mark(X4)) | → | U201(X1, X2, X3, X4) | U201(active(X1), X2, X3, X4) | → | U201(X1, X2, X3, X4) | |
U201(X1, active(X2), X3, X4) | → | U201(X1, X2, X3, X4) | U201(X1, X2, active(X3), X4) | → | U201(X1, X2, X3, X4) | |
U201(X1, X2, X3, active(X4)) | → | U201(X1, X2, X3, X4) | U202(mark(X1), X2) | → | U202(X1, X2) | |
U202(X1, mark(X2)) | → | U202(X1, X2) | U202(active(X1), X2) | → | U202(X1, X2) | |
U202(X1, active(X2)) | → | U202(X1, X2) | U21(mark(X1), X2) | → | U21(X1, X2) | |
U21(X1, mark(X2)) | → | U21(X1, X2) | U21(active(X1), X2) | → | U21(X1, X2) | |
U21(X1, active(X2)) | → | U21(X1, X2) | U211(mark(X1), X2) | → | U211(X1, X2) | |
U211(X1, mark(X2)) | → | U211(X1, X2) | U211(active(X1), X2) | → | U211(X1, X2) | |
U211(X1, active(X2)) | → | U211(X1, X2) | U221(mark(X1), X2, X3) | → | U221(X1, X2, X3) | |
U221(X1, mark(X2), X3) | → | U221(X1, X2, X3) | U221(X1, X2, mark(X3)) | → | U221(X1, X2, X3) | |
U221(active(X1), X2, X3) | → | U221(X1, X2, X3) | U221(X1, active(X2), X3) | → | U221(X1, X2, X3) | |
U221(X1, X2, active(X3)) | → | U221(X1, X2, X3) | fst(mark(X)) | → | fst(X) | |
fst(active(X)) | → | fst(X) | U31(mark(X1), X2) | → | U31(X1, X2) | |
U31(X1, mark(X2)) | → | U31(X1, X2) | U31(active(X1), X2) | → | U31(X1, X2) | |
U31(X1, active(X2)) | → | U31(X1, X2) | U41(mark(X1), X2, X3) | → | U41(X1, X2, X3) | |
U41(X1, mark(X2), X3) | → | U41(X1, X2, X3) | U41(X1, X2, mark(X3)) | → | U41(X1, X2, X3) | |
U41(active(X1), X2, X3) | → | U41(X1, X2, X3) | U41(X1, active(X2), X3) | → | U41(X1, X2, X3) | |
U41(X1, X2, active(X3)) | → | U41(X1, X2, X3) | U42(mark(X1), X2) | → | U42(X1, X2) | |
U42(X1, mark(X2)) | → | U42(X1, X2) | U42(active(X1), X2) | → | U42(X1, X2) | |
U42(X1, active(X2)) | → | U42(X1, X2) | U43(mark(X)) | → | U43(X) | |
U43(active(X)) | → | U43(X) | U51(mark(X1), X2, X3) | → | U51(X1, X2, X3) | |
U51(X1, mark(X2), X3) | → | U51(X1, X2, X3) | U51(X1, X2, mark(X3)) | → | U51(X1, X2, X3) | |
U51(active(X1), X2, X3) | → | U51(X1, X2, X3) | U51(X1, active(X2), X3) | → | U51(X1, X2, X3) | |
U51(X1, X2, active(X3)) | → | U51(X1, X2, X3) | U52(mark(X1), X2) | → | U52(X1, X2) | |
U52(X1, mark(X2)) | → | U52(X1, X2) | U52(active(X1), X2) | → | U52(X1, X2) | |
U52(X1, active(X2)) | → | U52(X1, X2) | U53(mark(X)) | → | U53(X) | |
U53(active(X)) | → | U53(X) | U61(mark(X1), X2) | → | U61(X1, X2) | |
U61(X1, mark(X2)) | → | U61(X1, X2) | U61(active(X1), X2) | → | U61(X1, X2) | |
U61(X1, active(X2)) | → | U61(X1, X2) | U62(mark(X)) | → | U62(X) | |
U62(active(X)) | → | U62(X) | isPLNat(mark(X)) | → | isPLNat(X) | |
isPLNat(active(X)) | → | isPLNat(X) | U71(mark(X1), X2) | → | U71(X1, X2) | |
U71(X1, mark(X2)) | → | U71(X1, X2) | U71(active(X1), X2) | → | U71(X1, X2) | |
U71(X1, active(X2)) | → | U71(X1, X2) | U72(mark(X)) | → | U72(X) | |
U72(active(X)) | → | U72(X) | U81(mark(X1), X2) | → | U81(X1, X2) | |
U81(X1, mark(X2)) | → | U81(X1, X2) | U81(active(X1), X2) | → | U81(X1, X2) | |
U81(X1, active(X2)) | → | U81(X1, X2) | U82(mark(X)) | → | U82(X) | |
U82(active(X)) | → | U82(X) | U91(mark(X1), X2) | → | U91(X1, X2) | |
U91(X1, mark(X2)) | → | U91(X1, X2) | U91(active(X1), X2) | → | U91(X1, X2) | |
U91(X1, active(X2)) | → | U91(X1, X2) | U92(mark(X)) | → | U92(X) | |
U92(active(X)) | → | U92(X) | and(mark(X1), X2) | → | and(X1, X2) | |
and(X1, mark(X2)) | → | and(X1, X2) | and(active(X1), X2) | → | and(X1, X2) | |
and(X1, active(X2)) | → | and(X1, X2) | isNaturalKind(mark(X)) | → | isNaturalKind(X) | |
isNaturalKind(active(X)) | → | isNaturalKind(X) | isLNatKind(mark(X)) | → | isLNatKind(X) | |
isLNatKind(active(X)) | → | isLNatKind(X) | isPLNatKind(mark(X)) | → | isPLNatKind(X) | |
isPLNatKind(active(X)) | → | isPLNatKind(X) | tail(mark(X)) | → | tail(X) | |
tail(active(X)) | → | tail(X) | take(mark(X1), X2) | → | take(X1, X2) | |
take(X1, mark(X2)) | → | take(X1, X2) | take(active(X1), X2) | → | take(X1, X2) | |
take(X1, active(X2)) | → | take(X1, X2) | sel(mark(X1), X2) | → | sel(X1, X2) | |
sel(X1, mark(X2)) | → | sel(X1, X2) | sel(active(X1), X2) | → | sel(X1, X2) | |
sel(X1, active(X2)) | → | sel(X1, X2) |
Termination of terms over the following signature is verified: natsFrom, U161, U112, fst, U111, U62, U61, U211, head, U21, U153, U151, mark, isLNatKind, isPLNat, U152, tail, and, U71, U191, U72, 0, isPLNatKind, U122, U121, U221, isLNat, active, U31, U181, pair, isNatural, U132, U131, U43, U42, U92, U133, U41, U91, snd, cons, isNaturalKind, U171, splitAt, U143, U201, U142, U202, U141, s, U51, tt, take, U82, U53, U81, U52, U11, afterNth, U102, sel, U103, U101, nil