(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
active(U101(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U11(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U21(tt, X)) → mark(X)
active(U31(tt, N)) → mark(N)
active(U41(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U51(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U61(tt, Y)) → mark(Y)
active(U71(tt, XS)) → mark(pair(nil, XS))
active(U81(tt, N, X, XS)) → mark(U82(splitAt(N, XS), X))
active(U82(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U91(tt, XS)) → mark(XS)
active(afterNth(N, XS)) → mark(U11(and(isNatural(N), isLNat(XS)), N, XS))
active(and(tt, X)) → mark(X)
active(fst(pair(X, Y))) → mark(U21(and(isLNat(X), isLNat(Y)), X))
active(head(cons(N, XS))) → mark(U31(and(isNatural(N), isLNat(XS)), N))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(and(isNatural(V1), isLNat(V2)))
active(isLNat(cons(V1, V2))) → mark(and(isNatural(V1), isLNat(V2)))
active(isLNat(fst(V1))) → mark(isPLNat(V1))
active(isLNat(natsFrom(V1))) → mark(isNatural(V1))
active(isLNat(snd(V1))) → mark(isPLNat(V1))
active(isLNat(tail(V1))) → mark(isLNat(V1))
active(isLNat(take(V1, V2))) → mark(and(isNatural(V1), isLNat(V2)))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(isLNat(V1))
active(isNatural(s(V1))) → mark(isNatural(V1))
active(isNatural(sel(V1, V2))) → mark(and(isNatural(V1), isLNat(V2)))
active(isPLNat(pair(V1, V2))) → mark(and(isLNat(V1), isLNat(V2)))
active(isPLNat(splitAt(V1, V2))) → mark(and(isNatural(V1), isLNat(V2)))
active(natsFrom(N)) → mark(U41(isNatural(N), N))
active(sel(N, XS)) → mark(U51(and(isNatural(N), isLNat(XS)), N, XS))
active(snd(pair(X, Y))) → mark(U61(and(isLNat(X), isLNat(Y)), Y))
active(splitAt(0, XS)) → mark(U71(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U81(and(isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS))
active(tail(cons(N, XS))) → mark(U91(and(isNatural(N), isLNat(XS)), XS))
active(take(N, XS)) → mark(U101(and(isNatural(N), isLNat(XS)), N, XS))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(fst(X)) → active(fst(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(snd(X)) → active(snd(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(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(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U81(X1, X2, X3, X4)) → active(U81(mark(X1), X2, X3, X4))
mark(U82(X1, X2)) → active(U82(mark(X1), X2))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNatural(X)) → active(isNatural(X))
mark(isLNat(X)) → active(isLNat(X))
mark(isPLNat(X)) → active(isPLNat(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)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(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)
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)
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)
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) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(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)
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)
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)
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)
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)
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)
U81(mark(X1), X2, X3, X4) → U81(X1, X2, X3, X4)
U81(X1, mark(X2), X3, X4) → U81(X1, X2, X3, X4)
U81(X1, X2, mark(X3), X4) → U81(X1, X2, X3, X4)
U81(X1, X2, X3, mark(X4)) → U81(X1, X2, X3, X4)
U81(active(X1), X2, X3, X4) → U81(X1, X2, X3, X4)
U81(X1, active(X2), X3, X4) → U81(X1, X2, X3, X4)
U81(X1, X2, active(X3), X4) → U81(X1, X2, X3, X4)
U81(X1, X2, X3, active(X4)) → U81(X1, X2, X3, X4)
U82(mark(X1), X2) → U82(X1, X2)
U82(X1, mark(X2)) → U82(X1, X2)
U82(active(X1), X2) → U82(X1, X2)
U82(X1, active(X2)) → U82(X1, X2)
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)
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)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(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)
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(U101(tt, z0, z1)) → mark(fst(splitAt(z0, z1)))
active(U11(tt, z0, z1)) → mark(snd(splitAt(z0, z1)))
active(U21(tt, z0)) → mark(z0)
active(U31(tt, z0)) → mark(z0)
active(U41(tt, z0)) → mark(cons(z0, natsFrom(s(z0))))
active(U51(tt, z0, z1)) → mark(head(afterNth(z0, z1)))
active(U61(tt, z0)) → mark(z0)
active(U71(tt, z0)) → mark(pair(nil, z0))
active(U81(tt, z0, z1, z2)) → mark(U82(splitAt(z0, z2), z1))
active(U82(pair(z0, z1), z2)) → mark(pair(cons(z2, z0), z1))
active(U91(tt, z0)) → mark(z0)
active(afterNth(z0, z1)) → mark(U11(and(isNatural(z0), isLNat(z1)), z0, z1))
active(and(tt, z0)) → mark(z0)
active(fst(pair(z0, z1))) → mark(U21(and(isLNat(z0), isLNat(z1)), z0))
active(head(cons(z0, z1))) → mark(U31(and(isNatural(z0), isLNat(z1)), z0))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isLNat(cons(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isLNat(fst(z0))) → mark(isPLNat(z0))
active(isLNat(natsFrom(z0))) → mark(isNatural(z0))
active(isLNat(snd(z0))) → mark(isPLNat(z0))
active(isLNat(tail(z0))) → mark(isLNat(z0))
active(isLNat(take(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isNatural(0)) → mark(tt)
active(isNatural(head(z0))) → mark(isLNat(z0))
active(isNatural(s(z0))) → mark(isNatural(z0))
active(isNatural(sel(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isPLNat(pair(z0, z1))) → mark(and(isLNat(z0), isLNat(z1)))
active(isPLNat(splitAt(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(natsFrom(z0)) → mark(U41(isNatural(z0), z0))
active(sel(z0, z1)) → mark(U51(and(isNatural(z0), isLNat(z1)), z0, z1))
active(snd(pair(z0, z1))) → mark(U61(and(isLNat(z0), isLNat(z1)), z1))
active(splitAt(0, z0)) → mark(U71(isLNat(z0), z0))
active(splitAt(s(z0), cons(z1, z2))) → mark(U81(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2))
active(tail(cons(z0, z1))) → mark(U91(and(isNatural(z0), isLNat(z1)), z1))
active(take(z0, z1)) → mark(U101(and(isNatural(z0), isLNat(z1)), z0, z1))
mark(U101(z0, z1, z2)) → active(U101(mark(z0), z1, z2))
mark(tt) → active(tt)
mark(fst(z0)) → active(fst(mark(z0)))
mark(splitAt(z0, z1)) → active(splitAt(mark(z0), mark(z1)))
mark(U11(z0, z1, z2)) → active(U11(mark(z0), z1, z2))
mark(snd(z0)) → active(snd(mark(z0)))
mark(U21(z0, z1)) → active(U21(mark(z0), z1))
mark(U31(z0, z1)) → active(U31(mark(z0), z1))
mark(U41(z0, z1)) → active(U41(mark(z0), z1))
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(natsFrom(z0)) → active(natsFrom(mark(z0)))
mark(s(z0)) → active(s(mark(z0)))
mark(U51(z0, z1, z2)) → active(U51(mark(z0), z1, z2))
mark(head(z0)) → active(head(mark(z0)))
mark(afterNth(z0, z1)) → active(afterNth(mark(z0), mark(z1)))
mark(U61(z0, z1)) → active(U61(mark(z0), z1))
mark(U71(z0, z1)) → active(U71(mark(z0), z1))
mark(pair(z0, z1)) → active(pair(mark(z0), mark(z1)))
mark(nil) → active(nil)
mark(U81(z0, z1, z2, z3)) → active(U81(mark(z0), z1, z2, z3))
mark(U82(z0, z1)) → active(U82(mark(z0), z1))
mark(U91(z0, z1)) → active(U91(mark(z0), z1))
mark(and(z0, z1)) → active(and(mark(z0), z1))
mark(isNatural(z0)) → active(isNatural(z0))
mark(isLNat(z0)) → active(isLNat(z0))
mark(isPLNat(z0)) → active(isPLNat(z0))
mark(tail(z0)) → active(tail(mark(z0)))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(0) → active(0)
mark(sel(z0, z1)) → active(sel(mark(z0), mark(z1)))
U101(mark(z0), z1, z2) → U101(z0, z1, z2)
U101(z0, mark(z1), z2) → U101(z0, z1, z2)
U101(z0, z1, mark(z2)) → U101(z0, z1, z2)
U101(active(z0), z1, z2) → U101(z0, z1, z2)
U101(z0, active(z1), z2) → U101(z0, z1, z2)
U101(z0, z1, active(z2)) → U101(z0, z1, z2)
fst(mark(z0)) → fst(z0)
fst(active(z0)) → fst(z0)
splitAt(mark(z0), z1) → splitAt(z0, z1)
splitAt(z0, mark(z1)) → splitAt(z0, z1)
splitAt(active(z0), z1) → splitAt(z0, z1)
splitAt(z0, active(z1)) → splitAt(z0, z1)
U11(mark(z0), z1, z2) → U11(z0, z1, z2)
U11(z0, mark(z1), z2) → U11(z0, z1, z2)
U11(z0, z1, mark(z2)) → U11(z0, z1, z2)
U11(active(z0), z1, z2) → U11(z0, z1, z2)
U11(z0, active(z1), z2) → U11(z0, z1, z2)
U11(z0, z1, active(z2)) → U11(z0, z1, z2)
snd(mark(z0)) → snd(z0)
snd(active(z0)) → snd(z0)
U21(mark(z0), z1) → U21(z0, z1)
U21(z0, mark(z1)) → U21(z0, z1)
U21(active(z0), z1) → U21(z0, z1)
U21(z0, active(z1)) → U21(z0, z1)
U31(mark(z0), z1) → U31(z0, z1)
U31(z0, mark(z1)) → U31(z0, z1)
U31(active(z0), z1) → U31(z0, z1)
U31(z0, active(z1)) → U31(z0, z1)
U41(mark(z0), z1) → U41(z0, z1)
U41(z0, mark(z1)) → U41(z0, z1)
U41(active(z0), z1) → U41(z0, z1)
U41(z0, active(z1)) → U41(z0, z1)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
natsFrom(mark(z0)) → natsFrom(z0)
natsFrom(active(z0)) → natsFrom(z0)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
U51(mark(z0), z1, z2) → U51(z0, z1, z2)
U51(z0, mark(z1), z2) → U51(z0, z1, z2)
U51(z0, z1, mark(z2)) → U51(z0, z1, z2)
U51(active(z0), z1, z2) → U51(z0, z1, z2)
U51(z0, active(z1), z2) → U51(z0, z1, z2)
U51(z0, z1, active(z2)) → U51(z0, z1, z2)
head(mark(z0)) → head(z0)
head(active(z0)) → head(z0)
afterNth(mark(z0), z1) → afterNth(z0, z1)
afterNth(z0, mark(z1)) → afterNth(z0, z1)
afterNth(active(z0), z1) → afterNth(z0, z1)
afterNth(z0, active(z1)) → afterNth(z0, z1)
U61(mark(z0), z1) → U61(z0, z1)
U61(z0, mark(z1)) → U61(z0, z1)
U61(active(z0), z1) → U61(z0, z1)
U61(z0, active(z1)) → U61(z0, z1)
U71(mark(z0), z1) → U71(z0, z1)
U71(z0, mark(z1)) → U71(z0, z1)
U71(active(z0), z1) → U71(z0, z1)
U71(z0, active(z1)) → U71(z0, z1)
pair(mark(z0), z1) → pair(z0, z1)
pair(z0, mark(z1)) → pair(z0, z1)
pair(active(z0), z1) → pair(z0, z1)
pair(z0, active(z1)) → pair(z0, z1)
U81(mark(z0), z1, z2, z3) → U81(z0, z1, z2, z3)
U81(z0, mark(z1), z2, z3) → U81(z0, z1, z2, z3)
U81(z0, z1, mark(z2), z3) → U81(z0, z1, z2, z3)
U81(z0, z1, z2, mark(z3)) → U81(z0, z1, z2, z3)
U81(active(z0), z1, z2, z3) → U81(z0, z1, z2, z3)
U81(z0, active(z1), z2, z3) → U81(z0, z1, z2, z3)
U81(z0, z1, active(z2), z3) → U81(z0, z1, z2, z3)
U81(z0, z1, z2, active(z3)) → U81(z0, z1, z2, z3)
U82(mark(z0), z1) → U82(z0, z1)
U82(z0, mark(z1)) → U82(z0, z1)
U82(active(z0), z1) → U82(z0, z1)
U82(z0, active(z1)) → U82(z0, z1)
U91(mark(z0), z1) → U91(z0, z1)
U91(z0, mark(z1)) → U91(z0, z1)
U91(active(z0), z1) → U91(z0, z1)
U91(z0, active(z1)) → U91(z0, z1)
and(mark(z0), z1) → and(z0, z1)
and(z0, mark(z1)) → and(z0, z1)
and(active(z0), z1) → and(z0, z1)
and(z0, active(z1)) → and(z0, z1)
isNatural(mark(z0)) → isNatural(z0)
isNatural(active(z0)) → isNatural(z0)
isLNat(mark(z0)) → isLNat(z0)
isLNat(active(z0)) → isLNat(z0)
isPLNat(mark(z0)) → isPLNat(z0)
isPLNat(active(z0)) → isPLNat(z0)
tail(mark(z0)) → tail(z0)
tail(active(z0)) → tail(z0)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
sel(mark(z0), z1) → sel(z0, z1)
sel(z0, mark(z1)) → sel(z0, z1)
sel(active(z0), z1) → sel(z0, z1)
sel(z0, active(z1)) → sel(z0, z1)
Tuples:
ACTIVE(U101(tt, z0, z1)) → c(MARK(fst(splitAt(z0, z1))), FST(splitAt(z0, z1)), SPLITAT(z0, z1))
ACTIVE(U11(tt, z0, z1)) → c1(MARK(snd(splitAt(z0, z1))), SND(splitAt(z0, z1)), SPLITAT(z0, z1))
ACTIVE(U21(tt, z0)) → c2(MARK(z0))
ACTIVE(U31(tt, z0)) → c3(MARK(z0))
ACTIVE(U41(tt, z0)) → c4(MARK(cons(z0, natsFrom(s(z0)))), CONS(z0, natsFrom(s(z0))), NATSFROM(s(z0)), S(z0))
ACTIVE(U51(tt, z0, z1)) → c5(MARK(head(afterNth(z0, z1))), HEAD(afterNth(z0, z1)), AFTERNTH(z0, z1))
ACTIVE(U61(tt, z0)) → c6(MARK(z0))
ACTIVE(U71(tt, z0)) → c7(MARK(pair(nil, z0)), PAIR(nil, z0))
ACTIVE(U81(tt, z0, z1, z2)) → c8(MARK(U82(splitAt(z0, z2), z1)), U82'(splitAt(z0, z2), z1), SPLITAT(z0, z2))
ACTIVE(U82(pair(z0, z1), z2)) → c9(MARK(pair(cons(z2, z0), z1)), PAIR(cons(z2, z0), z1), CONS(z2, z0))
ACTIVE(U91(tt, z0)) → c10(MARK(z0))
ACTIVE(afterNth(z0, z1)) → c11(MARK(U11(and(isNatural(z0), isLNat(z1)), z0, z1)), U11'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(and(tt, z0)) → c12(MARK(z0))
ACTIVE(fst(pair(z0, z1))) → c13(MARK(U21(and(isLNat(z0), isLNat(z1)), z0)), U21'(and(isLNat(z0), isLNat(z1)), z0), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(head(cons(z0, z1))) → c14(MARK(U31(and(isNatural(z0), isLNat(z1)), z0)), U31'(and(isNatural(z0), isLNat(z1)), z0), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(nil)) → c15(MARK(tt))
ACTIVE(isLNat(afterNth(z0, z1))) → c16(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(cons(z0, z1))) → c17(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(fst(z0))) → c18(MARK(isPLNat(z0)), ISPLNAT(z0))
ACTIVE(isLNat(natsFrom(z0))) → c19(MARK(isNatural(z0)), ISNATURAL(z0))
ACTIVE(isLNat(snd(z0))) → c20(MARK(isPLNat(z0)), ISPLNAT(z0))
ACTIVE(isLNat(tail(z0))) → c21(MARK(isLNat(z0)), ISLNAT(z0))
ACTIVE(isLNat(take(z0, z1))) → c22(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isNatural(0)) → c23(MARK(tt))
ACTIVE(isNatural(head(z0))) → c24(MARK(isLNat(z0)), ISLNAT(z0))
ACTIVE(isNatural(s(z0))) → c25(MARK(isNatural(z0)), ISNATURAL(z0))
ACTIVE(isNatural(sel(z0, z1))) → c26(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isPLNat(pair(z0, z1))) → c27(MARK(and(isLNat(z0), isLNat(z1))), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(isPLNat(splitAt(z0, z1))) → c28(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(natsFrom(z0)) → c29(MARK(U41(isNatural(z0), z0)), U41'(isNatural(z0), z0), ISNATURAL(z0))
ACTIVE(sel(z0, z1)) → c30(MARK(U51(and(isNatural(z0), isLNat(z1)), z0, z1)), U51'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(snd(pair(z0, z1))) → c31(MARK(U61(and(isLNat(z0), isLNat(z1)), z1)), U61'(and(isLNat(z0), isLNat(z1)), z1), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(splitAt(0, z0)) → c32(MARK(U71(isLNat(z0), z0)), U71'(isLNat(z0), z0), ISLNAT(z0))
ACTIVE(splitAt(s(z0), cons(z1, z2))) → c33(MARK(U81(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2)), U81'(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), AND(isNatural(z0), and(isNatural(z1), isLNat(z2))), ISNATURAL(z0), AND(isNatural(z1), isLNat(z2)), ISNATURAL(z1), ISLNAT(z2))
ACTIVE(tail(cons(z0, z1))) → c34(MARK(U91(and(isNatural(z0), isLNat(z1)), z1)), U91'(and(isNatural(z0), isLNat(z1)), z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(take(z0, z1)) → c35(MARK(U101(and(isNatural(z0), isLNat(z1)), z0, z1)), U101'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
MARK(U101(z0, z1, z2)) → c36(ACTIVE(U101(mark(z0), z1, z2)), U101'(mark(z0), z1, z2), MARK(z0))
MARK(tt) → c37(ACTIVE(tt))
MARK(fst(z0)) → c38(ACTIVE(fst(mark(z0))), FST(mark(z0)), MARK(z0))
MARK(splitAt(z0, z1)) → c39(ACTIVE(splitAt(mark(z0), mark(z1))), SPLITAT(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(U11(z0, z1, z2)) → c40(ACTIVE(U11(mark(z0), z1, z2)), U11'(mark(z0), z1, z2), MARK(z0))
MARK(snd(z0)) → c41(ACTIVE(snd(mark(z0))), SND(mark(z0)), MARK(z0))
MARK(U21(z0, z1)) → c42(ACTIVE(U21(mark(z0), z1)), U21'(mark(z0), z1), MARK(z0))
MARK(U31(z0, z1)) → c43(ACTIVE(U31(mark(z0), z1)), U31'(mark(z0), z1), MARK(z0))
MARK(U41(z0, z1)) → c44(ACTIVE(U41(mark(z0), z1)), U41'(mark(z0), z1), MARK(z0))
MARK(cons(z0, z1)) → c45(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(natsFrom(z0)) → c46(ACTIVE(natsFrom(mark(z0))), NATSFROM(mark(z0)), MARK(z0))
MARK(s(z0)) → c47(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(U51(z0, z1, z2)) → c48(ACTIVE(U51(mark(z0), z1, z2)), U51'(mark(z0), z1, z2), MARK(z0))
MARK(head(z0)) → c49(ACTIVE(head(mark(z0))), HEAD(mark(z0)), MARK(z0))
MARK(afterNth(z0, z1)) → c50(ACTIVE(afterNth(mark(z0), mark(z1))), AFTERNTH(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(U61(z0, z1)) → c51(ACTIVE(U61(mark(z0), z1)), U61'(mark(z0), z1), MARK(z0))
MARK(U71(z0, z1)) → c52(ACTIVE(U71(mark(z0), z1)), U71'(mark(z0), z1), MARK(z0))
MARK(pair(z0, z1)) → c53(ACTIVE(pair(mark(z0), mark(z1))), PAIR(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(nil) → c54(ACTIVE(nil))
MARK(U81(z0, z1, z2, z3)) → c55(ACTIVE(U81(mark(z0), z1, z2, z3)), U81'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U82(z0, z1)) → c56(ACTIVE(U82(mark(z0), z1)), U82'(mark(z0), z1), MARK(z0))
MARK(U91(z0, z1)) → c57(ACTIVE(U91(mark(z0), z1)), U91'(mark(z0), z1), MARK(z0))
MARK(and(z0, z1)) → c58(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0))
MARK(isNatural(z0)) → c59(ACTIVE(isNatural(z0)), ISNATURAL(z0))
MARK(isLNat(z0)) → c60(ACTIVE(isLNat(z0)), ISLNAT(z0))
MARK(isPLNat(z0)) → c61(ACTIVE(isPLNat(z0)), ISPLNAT(z0))
MARK(tail(z0)) → c62(ACTIVE(tail(mark(z0))), TAIL(mark(z0)), MARK(z0))
MARK(take(z0, z1)) → c63(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(0) → c64(ACTIVE(0))
MARK(sel(z0, z1)) → c65(ACTIVE(sel(mark(z0), mark(z1))), SEL(mark(z0), mark(z1)), MARK(z0), MARK(z1))
U101'(mark(z0), z1, z2) → c66(U101'(z0, z1, z2))
U101'(z0, mark(z1), z2) → c67(U101'(z0, z1, z2))
U101'(z0, z1, mark(z2)) → c68(U101'(z0, z1, z2))
U101'(active(z0), z1, z2) → c69(U101'(z0, z1, z2))
U101'(z0, active(z1), z2) → c70(U101'(z0, z1, z2))
U101'(z0, z1, active(z2)) → c71(U101'(z0, z1, z2))
FST(mark(z0)) → c72(FST(z0))
FST(active(z0)) → c73(FST(z0))
SPLITAT(mark(z0), z1) → c74(SPLITAT(z0, z1))
SPLITAT(z0, mark(z1)) → c75(SPLITAT(z0, z1))
SPLITAT(active(z0), z1) → c76(SPLITAT(z0, z1))
SPLITAT(z0, active(z1)) → c77(SPLITAT(z0, z1))
U11'(mark(z0), z1, z2) → c78(U11'(z0, z1, z2))
U11'(z0, mark(z1), z2) → c79(U11'(z0, z1, z2))
U11'(z0, z1, mark(z2)) → c80(U11'(z0, z1, z2))
U11'(active(z0), z1, z2) → c81(U11'(z0, z1, z2))
U11'(z0, active(z1), z2) → c82(U11'(z0, z1, z2))
U11'(z0, z1, active(z2)) → c83(U11'(z0, z1, z2))
SND(mark(z0)) → c84(SND(z0))
SND(active(z0)) → c85(SND(z0))
U21'(mark(z0), z1) → c86(U21'(z0, z1))
U21'(z0, mark(z1)) → c87(U21'(z0, z1))
U21'(active(z0), z1) → c88(U21'(z0, z1))
U21'(z0, active(z1)) → c89(U21'(z0, z1))
U31'(mark(z0), z1) → c90(U31'(z0, z1))
U31'(z0, mark(z1)) → c91(U31'(z0, z1))
U31'(active(z0), z1) → c92(U31'(z0, z1))
U31'(z0, active(z1)) → c93(U31'(z0, z1))
U41'(mark(z0), z1) → c94(U41'(z0, z1))
U41'(z0, mark(z1)) → c95(U41'(z0, z1))
U41'(active(z0), z1) → c96(U41'(z0, z1))
U41'(z0, active(z1)) → c97(U41'(z0, z1))
CONS(mark(z0), z1) → c98(CONS(z0, z1))
CONS(z0, mark(z1)) → c99(CONS(z0, z1))
CONS(active(z0), z1) → c100(CONS(z0, z1))
CONS(z0, active(z1)) → c101(CONS(z0, z1))
NATSFROM(mark(z0)) → c102(NATSFROM(z0))
NATSFROM(active(z0)) → c103(NATSFROM(z0))
S(mark(z0)) → c104(S(z0))
S(active(z0)) → c105(S(z0))
U51'(mark(z0), z1, z2) → c106(U51'(z0, z1, z2))
U51'(z0, mark(z1), z2) → c107(U51'(z0, z1, z2))
U51'(z0, z1, mark(z2)) → c108(U51'(z0, z1, z2))
U51'(active(z0), z1, z2) → c109(U51'(z0, z1, z2))
U51'(z0, active(z1), z2) → c110(U51'(z0, z1, z2))
U51'(z0, z1, active(z2)) → c111(U51'(z0, z1, z2))
HEAD(mark(z0)) → c112(HEAD(z0))
HEAD(active(z0)) → c113(HEAD(z0))
AFTERNTH(mark(z0), z1) → c114(AFTERNTH(z0, z1))
AFTERNTH(z0, mark(z1)) → c115(AFTERNTH(z0, z1))
AFTERNTH(active(z0), z1) → c116(AFTERNTH(z0, z1))
AFTERNTH(z0, active(z1)) → c117(AFTERNTH(z0, z1))
U61'(mark(z0), z1) → c118(U61'(z0, z1))
U61'(z0, mark(z1)) → c119(U61'(z0, z1))
U61'(active(z0), z1) → c120(U61'(z0, z1))
U61'(z0, active(z1)) → c121(U61'(z0, z1))
U71'(mark(z0), z1) → c122(U71'(z0, z1))
U71'(z0, mark(z1)) → c123(U71'(z0, z1))
U71'(active(z0), z1) → c124(U71'(z0, z1))
U71'(z0, active(z1)) → c125(U71'(z0, z1))
PAIR(mark(z0), z1) → c126(PAIR(z0, z1))
PAIR(z0, mark(z1)) → c127(PAIR(z0, z1))
PAIR(active(z0), z1) → c128(PAIR(z0, z1))
PAIR(z0, active(z1)) → c129(PAIR(z0, z1))
U81'(mark(z0), z1, z2, z3) → c130(U81'(z0, z1, z2, z3))
U81'(z0, mark(z1), z2, z3) → c131(U81'(z0, z1, z2, z3))
U81'(z0, z1, mark(z2), z3) → c132(U81'(z0, z1, z2, z3))
U81'(z0, z1, z2, mark(z3)) → c133(U81'(z0, z1, z2, z3))
U81'(active(z0), z1, z2, z3) → c134(U81'(z0, z1, z2, z3))
U81'(z0, active(z1), z2, z3) → c135(U81'(z0, z1, z2, z3))
U81'(z0, z1, active(z2), z3) → c136(U81'(z0, z1, z2, z3))
U81'(z0, z1, z2, active(z3)) → c137(U81'(z0, z1, z2, z3))
U82'(mark(z0), z1) → c138(U82'(z0, z1))
U82'(z0, mark(z1)) → c139(U82'(z0, z1))
U82'(active(z0), z1) → c140(U82'(z0, z1))
U82'(z0, active(z1)) → c141(U82'(z0, z1))
U91'(mark(z0), z1) → c142(U91'(z0, z1))
U91'(z0, mark(z1)) → c143(U91'(z0, z1))
U91'(active(z0), z1) → c144(U91'(z0, z1))
U91'(z0, active(z1)) → c145(U91'(z0, z1))
AND(mark(z0), z1) → c146(AND(z0, z1))
AND(z0, mark(z1)) → c147(AND(z0, z1))
AND(active(z0), z1) → c148(AND(z0, z1))
AND(z0, active(z1)) → c149(AND(z0, z1))
ISNATURAL(mark(z0)) → c150(ISNATURAL(z0))
ISNATURAL(active(z0)) → c151(ISNATURAL(z0))
ISLNAT(mark(z0)) → c152(ISLNAT(z0))
ISLNAT(active(z0)) → c153(ISLNAT(z0))
ISPLNAT(mark(z0)) → c154(ISPLNAT(z0))
ISPLNAT(active(z0)) → c155(ISPLNAT(z0))
TAIL(mark(z0)) → c156(TAIL(z0))
TAIL(active(z0)) → c157(TAIL(z0))
TAKE(mark(z0), z1) → c158(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c159(TAKE(z0, z1))
TAKE(active(z0), z1) → c160(TAKE(z0, z1))
TAKE(z0, active(z1)) → c161(TAKE(z0, z1))
SEL(mark(z0), z1) → c162(SEL(z0, z1))
SEL(z0, mark(z1)) → c163(SEL(z0, z1))
SEL(active(z0), z1) → c164(SEL(z0, z1))
SEL(z0, active(z1)) → c165(SEL(z0, z1))
S tuples:
ACTIVE(U101(tt, z0, z1)) → c(MARK(fst(splitAt(z0, z1))), FST(splitAt(z0, z1)), SPLITAT(z0, z1))
ACTIVE(U11(tt, z0, z1)) → c1(MARK(snd(splitAt(z0, z1))), SND(splitAt(z0, z1)), SPLITAT(z0, z1))
ACTIVE(U21(tt, z0)) → c2(MARK(z0))
ACTIVE(U31(tt, z0)) → c3(MARK(z0))
ACTIVE(U41(tt, z0)) → c4(MARK(cons(z0, natsFrom(s(z0)))), CONS(z0, natsFrom(s(z0))), NATSFROM(s(z0)), S(z0))
ACTIVE(U51(tt, z0, z1)) → c5(MARK(head(afterNth(z0, z1))), HEAD(afterNth(z0, z1)), AFTERNTH(z0, z1))
ACTIVE(U61(tt, z0)) → c6(MARK(z0))
ACTIVE(U71(tt, z0)) → c7(MARK(pair(nil, z0)), PAIR(nil, z0))
ACTIVE(U81(tt, z0, z1, z2)) → c8(MARK(U82(splitAt(z0, z2), z1)), U82'(splitAt(z0, z2), z1), SPLITAT(z0, z2))
ACTIVE(U82(pair(z0, z1), z2)) → c9(MARK(pair(cons(z2, z0), z1)), PAIR(cons(z2, z0), z1), CONS(z2, z0))
ACTIVE(U91(tt, z0)) → c10(MARK(z0))
ACTIVE(afterNth(z0, z1)) → c11(MARK(U11(and(isNatural(z0), isLNat(z1)), z0, z1)), U11'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(and(tt, z0)) → c12(MARK(z0))
ACTIVE(fst(pair(z0, z1))) → c13(MARK(U21(and(isLNat(z0), isLNat(z1)), z0)), U21'(and(isLNat(z0), isLNat(z1)), z0), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(head(cons(z0, z1))) → c14(MARK(U31(and(isNatural(z0), isLNat(z1)), z0)), U31'(and(isNatural(z0), isLNat(z1)), z0), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(nil)) → c15(MARK(tt))
ACTIVE(isLNat(afterNth(z0, z1))) → c16(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(cons(z0, z1))) → c17(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(fst(z0))) → c18(MARK(isPLNat(z0)), ISPLNAT(z0))
ACTIVE(isLNat(natsFrom(z0))) → c19(MARK(isNatural(z0)), ISNATURAL(z0))
ACTIVE(isLNat(snd(z0))) → c20(MARK(isPLNat(z0)), ISPLNAT(z0))
ACTIVE(isLNat(tail(z0))) → c21(MARK(isLNat(z0)), ISLNAT(z0))
ACTIVE(isLNat(take(z0, z1))) → c22(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isNatural(0)) → c23(MARK(tt))
ACTIVE(isNatural(head(z0))) → c24(MARK(isLNat(z0)), ISLNAT(z0))
ACTIVE(isNatural(s(z0))) → c25(MARK(isNatural(z0)), ISNATURAL(z0))
ACTIVE(isNatural(sel(z0, z1))) → c26(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isPLNat(pair(z0, z1))) → c27(MARK(and(isLNat(z0), isLNat(z1))), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(isPLNat(splitAt(z0, z1))) → c28(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(natsFrom(z0)) → c29(MARK(U41(isNatural(z0), z0)), U41'(isNatural(z0), z0), ISNATURAL(z0))
ACTIVE(sel(z0, z1)) → c30(MARK(U51(and(isNatural(z0), isLNat(z1)), z0, z1)), U51'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(snd(pair(z0, z1))) → c31(MARK(U61(and(isLNat(z0), isLNat(z1)), z1)), U61'(and(isLNat(z0), isLNat(z1)), z1), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(splitAt(0, z0)) → c32(MARK(U71(isLNat(z0), z0)), U71'(isLNat(z0), z0), ISLNAT(z0))
ACTIVE(splitAt(s(z0), cons(z1, z2))) → c33(MARK(U81(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2)), U81'(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), AND(isNatural(z0), and(isNatural(z1), isLNat(z2))), ISNATURAL(z0), AND(isNatural(z1), isLNat(z2)), ISNATURAL(z1), ISLNAT(z2))
ACTIVE(tail(cons(z0, z1))) → c34(MARK(U91(and(isNatural(z0), isLNat(z1)), z1)), U91'(and(isNatural(z0), isLNat(z1)), z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(take(z0, z1)) → c35(MARK(U101(and(isNatural(z0), isLNat(z1)), z0, z1)), U101'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
MARK(U101(z0, z1, z2)) → c36(ACTIVE(U101(mark(z0), z1, z2)), U101'(mark(z0), z1, z2), MARK(z0))
MARK(tt) → c37(ACTIVE(tt))
MARK(fst(z0)) → c38(ACTIVE(fst(mark(z0))), FST(mark(z0)), MARK(z0))
MARK(splitAt(z0, z1)) → c39(ACTIVE(splitAt(mark(z0), mark(z1))), SPLITAT(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(U11(z0, z1, z2)) → c40(ACTIVE(U11(mark(z0), z1, z2)), U11'(mark(z0), z1, z2), MARK(z0))
MARK(snd(z0)) → c41(ACTIVE(snd(mark(z0))), SND(mark(z0)), MARK(z0))
MARK(U21(z0, z1)) → c42(ACTIVE(U21(mark(z0), z1)), U21'(mark(z0), z1), MARK(z0))
MARK(U31(z0, z1)) → c43(ACTIVE(U31(mark(z0), z1)), U31'(mark(z0), z1), MARK(z0))
MARK(U41(z0, z1)) → c44(ACTIVE(U41(mark(z0), z1)), U41'(mark(z0), z1), MARK(z0))
MARK(cons(z0, z1)) → c45(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(natsFrom(z0)) → c46(ACTIVE(natsFrom(mark(z0))), NATSFROM(mark(z0)), MARK(z0))
MARK(s(z0)) → c47(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(U51(z0, z1, z2)) → c48(ACTIVE(U51(mark(z0), z1, z2)), U51'(mark(z0), z1, z2), MARK(z0))
MARK(head(z0)) → c49(ACTIVE(head(mark(z0))), HEAD(mark(z0)), MARK(z0))
MARK(afterNth(z0, z1)) → c50(ACTIVE(afterNth(mark(z0), mark(z1))), AFTERNTH(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(U61(z0, z1)) → c51(ACTIVE(U61(mark(z0), z1)), U61'(mark(z0), z1), MARK(z0))
MARK(U71(z0, z1)) → c52(ACTIVE(U71(mark(z0), z1)), U71'(mark(z0), z1), MARK(z0))
MARK(pair(z0, z1)) → c53(ACTIVE(pair(mark(z0), mark(z1))), PAIR(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(nil) → c54(ACTIVE(nil))
MARK(U81(z0, z1, z2, z3)) → c55(ACTIVE(U81(mark(z0), z1, z2, z3)), U81'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U82(z0, z1)) → c56(ACTIVE(U82(mark(z0), z1)), U82'(mark(z0), z1), MARK(z0))
MARK(U91(z0, z1)) → c57(ACTIVE(U91(mark(z0), z1)), U91'(mark(z0), z1), MARK(z0))
MARK(and(z0, z1)) → c58(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0))
MARK(isNatural(z0)) → c59(ACTIVE(isNatural(z0)), ISNATURAL(z0))
MARK(isLNat(z0)) → c60(ACTIVE(isLNat(z0)), ISLNAT(z0))
MARK(isPLNat(z0)) → c61(ACTIVE(isPLNat(z0)), ISPLNAT(z0))
MARK(tail(z0)) → c62(ACTIVE(tail(mark(z0))), TAIL(mark(z0)), MARK(z0))
MARK(take(z0, z1)) → c63(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(0) → c64(ACTIVE(0))
MARK(sel(z0, z1)) → c65(ACTIVE(sel(mark(z0), mark(z1))), SEL(mark(z0), mark(z1)), MARK(z0), MARK(z1))
U101'(mark(z0), z1, z2) → c66(U101'(z0, z1, z2))
U101'(z0, mark(z1), z2) → c67(U101'(z0, z1, z2))
U101'(z0, z1, mark(z2)) → c68(U101'(z0, z1, z2))
U101'(active(z0), z1, z2) → c69(U101'(z0, z1, z2))
U101'(z0, active(z1), z2) → c70(U101'(z0, z1, z2))
U101'(z0, z1, active(z2)) → c71(U101'(z0, z1, z2))
FST(mark(z0)) → c72(FST(z0))
FST(active(z0)) → c73(FST(z0))
SPLITAT(mark(z0), z1) → c74(SPLITAT(z0, z1))
SPLITAT(z0, mark(z1)) → c75(SPLITAT(z0, z1))
SPLITAT(active(z0), z1) → c76(SPLITAT(z0, z1))
SPLITAT(z0, active(z1)) → c77(SPLITAT(z0, z1))
U11'(mark(z0), z1, z2) → c78(U11'(z0, z1, z2))
U11'(z0, mark(z1), z2) → c79(U11'(z0, z1, z2))
U11'(z0, z1, mark(z2)) → c80(U11'(z0, z1, z2))
U11'(active(z0), z1, z2) → c81(U11'(z0, z1, z2))
U11'(z0, active(z1), z2) → c82(U11'(z0, z1, z2))
U11'(z0, z1, active(z2)) → c83(U11'(z0, z1, z2))
SND(mark(z0)) → c84(SND(z0))
SND(active(z0)) → c85(SND(z0))
U21'(mark(z0), z1) → c86(U21'(z0, z1))
U21'(z0, mark(z1)) → c87(U21'(z0, z1))
U21'(active(z0), z1) → c88(U21'(z0, z1))
U21'(z0, active(z1)) → c89(U21'(z0, z1))
U31'(mark(z0), z1) → c90(U31'(z0, z1))
U31'(z0, mark(z1)) → c91(U31'(z0, z1))
U31'(active(z0), z1) → c92(U31'(z0, z1))
U31'(z0, active(z1)) → c93(U31'(z0, z1))
U41'(mark(z0), z1) → c94(U41'(z0, z1))
U41'(z0, mark(z1)) → c95(U41'(z0, z1))
U41'(active(z0), z1) → c96(U41'(z0, z1))
U41'(z0, active(z1)) → c97(U41'(z0, z1))
CONS(mark(z0), z1) → c98(CONS(z0, z1))
CONS(z0, mark(z1)) → c99(CONS(z0, z1))
CONS(active(z0), z1) → c100(CONS(z0, z1))
CONS(z0, active(z1)) → c101(CONS(z0, z1))
NATSFROM(mark(z0)) → c102(NATSFROM(z0))
NATSFROM(active(z0)) → c103(NATSFROM(z0))
S(mark(z0)) → c104(S(z0))
S(active(z0)) → c105(S(z0))
U51'(mark(z0), z1, z2) → c106(U51'(z0, z1, z2))
U51'(z0, mark(z1), z2) → c107(U51'(z0, z1, z2))
U51'(z0, z1, mark(z2)) → c108(U51'(z0, z1, z2))
U51'(active(z0), z1, z2) → c109(U51'(z0, z1, z2))
U51'(z0, active(z1), z2) → c110(U51'(z0, z1, z2))
U51'(z0, z1, active(z2)) → c111(U51'(z0, z1, z2))
HEAD(mark(z0)) → c112(HEAD(z0))
HEAD(active(z0)) → c113(HEAD(z0))
AFTERNTH(mark(z0), z1) → c114(AFTERNTH(z0, z1))
AFTERNTH(z0, mark(z1)) → c115(AFTERNTH(z0, z1))
AFTERNTH(active(z0), z1) → c116(AFTERNTH(z0, z1))
AFTERNTH(z0, active(z1)) → c117(AFTERNTH(z0, z1))
U61'(mark(z0), z1) → c118(U61'(z0, z1))
U61'(z0, mark(z1)) → c119(U61'(z0, z1))
U61'(active(z0), z1) → c120(U61'(z0, z1))
U61'(z0, active(z1)) → c121(U61'(z0, z1))
U71'(mark(z0), z1) → c122(U71'(z0, z1))
U71'(z0, mark(z1)) → c123(U71'(z0, z1))
U71'(active(z0), z1) → c124(U71'(z0, z1))
U71'(z0, active(z1)) → c125(U71'(z0, z1))
PAIR(mark(z0), z1) → c126(PAIR(z0, z1))
PAIR(z0, mark(z1)) → c127(PAIR(z0, z1))
PAIR(active(z0), z1) → c128(PAIR(z0, z1))
PAIR(z0, active(z1)) → c129(PAIR(z0, z1))
U81'(mark(z0), z1, z2, z3) → c130(U81'(z0, z1, z2, z3))
U81'(z0, mark(z1), z2, z3) → c131(U81'(z0, z1, z2, z3))
U81'(z0, z1, mark(z2), z3) → c132(U81'(z0, z1, z2, z3))
U81'(z0, z1, z2, mark(z3)) → c133(U81'(z0, z1, z2, z3))
U81'(active(z0), z1, z2, z3) → c134(U81'(z0, z1, z2, z3))
U81'(z0, active(z1), z2, z3) → c135(U81'(z0, z1, z2, z3))
U81'(z0, z1, active(z2), z3) → c136(U81'(z0, z1, z2, z3))
U81'(z0, z1, z2, active(z3)) → c137(U81'(z0, z1, z2, z3))
U82'(mark(z0), z1) → c138(U82'(z0, z1))
U82'(z0, mark(z1)) → c139(U82'(z0, z1))
U82'(active(z0), z1) → c140(U82'(z0, z1))
U82'(z0, active(z1)) → c141(U82'(z0, z1))
U91'(mark(z0), z1) → c142(U91'(z0, z1))
U91'(z0, mark(z1)) → c143(U91'(z0, z1))
U91'(active(z0), z1) → c144(U91'(z0, z1))
U91'(z0, active(z1)) → c145(U91'(z0, z1))
AND(mark(z0), z1) → c146(AND(z0, z1))
AND(z0, mark(z1)) → c147(AND(z0, z1))
AND(active(z0), z1) → c148(AND(z0, z1))
AND(z0, active(z1)) → c149(AND(z0, z1))
ISNATURAL(mark(z0)) → c150(ISNATURAL(z0))
ISNATURAL(active(z0)) → c151(ISNATURAL(z0))
ISLNAT(mark(z0)) → c152(ISLNAT(z0))
ISLNAT(active(z0)) → c153(ISLNAT(z0))
ISPLNAT(mark(z0)) → c154(ISPLNAT(z0))
ISPLNAT(active(z0)) → c155(ISPLNAT(z0))
TAIL(mark(z0)) → c156(TAIL(z0))
TAIL(active(z0)) → c157(TAIL(z0))
TAKE(mark(z0), z1) → c158(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c159(TAKE(z0, z1))
TAKE(active(z0), z1) → c160(TAKE(z0, z1))
TAKE(z0, active(z1)) → c161(TAKE(z0, z1))
SEL(mark(z0), z1) → c162(SEL(z0, z1))
SEL(z0, mark(z1)) → c163(SEL(z0, z1))
SEL(active(z0), z1) → c164(SEL(z0, z1))
SEL(z0, active(z1)) → c165(SEL(z0, z1))
K tuples:none
Defined Rule Symbols:
active, mark, U101, fst, splitAt, U11, snd, U21, U31, U41, cons, natsFrom, s, U51, head, afterNth, U61, U71, pair, U81, U82, U91, and, isNatural, isLNat, isPLNat, tail, take, sel
Defined Pair Symbols:
ACTIVE, MARK, U101', FST, SPLITAT, U11', SND, U21', U31', U41', CONS, NATSFROM, S, U51', HEAD, AFTERNTH, U61', U71', PAIR, U81', U82', U91', AND, ISNATURAL, ISLNAT, ISPLNAT, TAIL, TAKE, SEL
Compound Symbols:
c, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c67, c68, c69, c70, c71, c72, c73, c74, c75, c76, c77, c78, c79, c80, c81, c82, c83, c84, c85, c86, c87, c88, c89, c90, c91, c92, c93, c94, c95, c96, c97, c98, c99, c100, c101, c102, c103, c104, c105, c106, c107, c108, c109, c110, c111, c112, c113, c114, c115, c116, c117, c118, c119, c120, c121, c122, c123, c124, c125, c126, c127, c128, c129, c130, c131, c132, c133, c134, c135, c136, c137, c138, c139, c140, c141, c142, c143, c144, c145, c146, c147, c148, c149, c150, c151, c152, c153, c154, c155, c156, c157, c158, c159, c160, c161, c162, c163, c164, c165
(3) CdtUnreachableProof (EQUIVALENT transformation)
The following tuples could be removed as they are not reachable from basic start terms:
ACTIVE(U101(tt, z0, z1)) → c(MARK(fst(splitAt(z0, z1))), FST(splitAt(z0, z1)), SPLITAT(z0, z1))
ACTIVE(U11(tt, z0, z1)) → c1(MARK(snd(splitAt(z0, z1))), SND(splitAt(z0, z1)), SPLITAT(z0, z1))
ACTIVE(U21(tt, z0)) → c2(MARK(z0))
ACTIVE(U31(tt, z0)) → c3(MARK(z0))
ACTIVE(U41(tt, z0)) → c4(MARK(cons(z0, natsFrom(s(z0)))), CONS(z0, natsFrom(s(z0))), NATSFROM(s(z0)), S(z0))
ACTIVE(U51(tt, z0, z1)) → c5(MARK(head(afterNth(z0, z1))), HEAD(afterNth(z0, z1)), AFTERNTH(z0, z1))
ACTIVE(U61(tt, z0)) → c6(MARK(z0))
ACTIVE(U71(tt, z0)) → c7(MARK(pair(nil, z0)), PAIR(nil, z0))
ACTIVE(U81(tt, z0, z1, z2)) → c8(MARK(U82(splitAt(z0, z2), z1)), U82'(splitAt(z0, z2), z1), SPLITAT(z0, z2))
ACTIVE(U82(pair(z0, z1), z2)) → c9(MARK(pair(cons(z2, z0), z1)), PAIR(cons(z2, z0), z1), CONS(z2, z0))
ACTIVE(U91(tt, z0)) → c10(MARK(z0))
ACTIVE(afterNth(z0, z1)) → c11(MARK(U11(and(isNatural(z0), isLNat(z1)), z0, z1)), U11'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(and(tt, z0)) → c12(MARK(z0))
ACTIVE(fst(pair(z0, z1))) → c13(MARK(U21(and(isLNat(z0), isLNat(z1)), z0)), U21'(and(isLNat(z0), isLNat(z1)), z0), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(head(cons(z0, z1))) → c14(MARK(U31(and(isNatural(z0), isLNat(z1)), z0)), U31'(and(isNatural(z0), isLNat(z1)), z0), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(nil)) → c15(MARK(tt))
ACTIVE(isLNat(afterNth(z0, z1))) → c16(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(cons(z0, z1))) → c17(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isLNat(fst(z0))) → c18(MARK(isPLNat(z0)), ISPLNAT(z0))
ACTIVE(isLNat(natsFrom(z0))) → c19(MARK(isNatural(z0)), ISNATURAL(z0))
ACTIVE(isLNat(snd(z0))) → c20(MARK(isPLNat(z0)), ISPLNAT(z0))
ACTIVE(isLNat(tail(z0))) → c21(MARK(isLNat(z0)), ISLNAT(z0))
ACTIVE(isLNat(take(z0, z1))) → c22(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isNatural(0)) → c23(MARK(tt))
ACTIVE(isNatural(head(z0))) → c24(MARK(isLNat(z0)), ISLNAT(z0))
ACTIVE(isNatural(s(z0))) → c25(MARK(isNatural(z0)), ISNATURAL(z0))
ACTIVE(isNatural(sel(z0, z1))) → c26(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(isPLNat(pair(z0, z1))) → c27(MARK(and(isLNat(z0), isLNat(z1))), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(isPLNat(splitAt(z0, z1))) → c28(MARK(and(isNatural(z0), isLNat(z1))), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(natsFrom(z0)) → c29(MARK(U41(isNatural(z0), z0)), U41'(isNatural(z0), z0), ISNATURAL(z0))
ACTIVE(sel(z0, z1)) → c30(MARK(U51(and(isNatural(z0), isLNat(z1)), z0, z1)), U51'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(snd(pair(z0, z1))) → c31(MARK(U61(and(isLNat(z0), isLNat(z1)), z1)), U61'(and(isLNat(z0), isLNat(z1)), z1), AND(isLNat(z0), isLNat(z1)), ISLNAT(z0), ISLNAT(z1))
ACTIVE(splitAt(0, z0)) → c32(MARK(U71(isLNat(z0), z0)), U71'(isLNat(z0), z0), ISLNAT(z0))
ACTIVE(splitAt(s(z0), cons(z1, z2))) → c33(MARK(U81(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2)), U81'(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), AND(isNatural(z0), and(isNatural(z1), isLNat(z2))), ISNATURAL(z0), AND(isNatural(z1), isLNat(z2)), ISNATURAL(z1), ISLNAT(z2))
ACTIVE(tail(cons(z0, z1))) → c34(MARK(U91(and(isNatural(z0), isLNat(z1)), z1)), U91'(and(isNatural(z0), isLNat(z1)), z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
ACTIVE(take(z0, z1)) → c35(MARK(U101(and(isNatural(z0), isLNat(z1)), z0, z1)), U101'(and(isNatural(z0), isLNat(z1)), z0, z1), AND(isNatural(z0), isLNat(z1)), ISNATURAL(z0), ISLNAT(z1))
MARK(U101(z0, z1, z2)) → c36(ACTIVE(U101(mark(z0), z1, z2)), U101'(mark(z0), z1, z2), MARK(z0))
MARK(fst(z0)) → c38(ACTIVE(fst(mark(z0))), FST(mark(z0)), MARK(z0))
MARK(splitAt(z0, z1)) → c39(ACTIVE(splitAt(mark(z0), mark(z1))), SPLITAT(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(U11(z0, z1, z2)) → c40(ACTIVE(U11(mark(z0), z1, z2)), U11'(mark(z0), z1, z2), MARK(z0))
MARK(snd(z0)) → c41(ACTIVE(snd(mark(z0))), SND(mark(z0)), MARK(z0))
MARK(U21(z0, z1)) → c42(ACTIVE(U21(mark(z0), z1)), U21'(mark(z0), z1), MARK(z0))
MARK(U31(z0, z1)) → c43(ACTIVE(U31(mark(z0), z1)), U31'(mark(z0), z1), MARK(z0))
MARK(U41(z0, z1)) → c44(ACTIVE(U41(mark(z0), z1)), U41'(mark(z0), z1), MARK(z0))
MARK(cons(z0, z1)) → c45(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(natsFrom(z0)) → c46(ACTIVE(natsFrom(mark(z0))), NATSFROM(mark(z0)), MARK(z0))
MARK(s(z0)) → c47(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(U51(z0, z1, z2)) → c48(ACTIVE(U51(mark(z0), z1, z2)), U51'(mark(z0), z1, z2), MARK(z0))
MARK(head(z0)) → c49(ACTIVE(head(mark(z0))), HEAD(mark(z0)), MARK(z0))
MARK(afterNth(z0, z1)) → c50(ACTIVE(afterNth(mark(z0), mark(z1))), AFTERNTH(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(U61(z0, z1)) → c51(ACTIVE(U61(mark(z0), z1)), U61'(mark(z0), z1), MARK(z0))
MARK(U71(z0, z1)) → c52(ACTIVE(U71(mark(z0), z1)), U71'(mark(z0), z1), MARK(z0))
MARK(pair(z0, z1)) → c53(ACTIVE(pair(mark(z0), mark(z1))), PAIR(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(U81(z0, z1, z2, z3)) → c55(ACTIVE(U81(mark(z0), z1, z2, z3)), U81'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U82(z0, z1)) → c56(ACTIVE(U82(mark(z0), z1)), U82'(mark(z0), z1), MARK(z0))
MARK(U91(z0, z1)) → c57(ACTIVE(U91(mark(z0), z1)), U91'(mark(z0), z1), MARK(z0))
MARK(and(z0, z1)) → c58(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0))
MARK(isNatural(z0)) → c59(ACTIVE(isNatural(z0)), ISNATURAL(z0))
MARK(isLNat(z0)) → c60(ACTIVE(isLNat(z0)), ISLNAT(z0))
MARK(isPLNat(z0)) → c61(ACTIVE(isPLNat(z0)), ISPLNAT(z0))
MARK(tail(z0)) → c62(ACTIVE(tail(mark(z0))), TAIL(mark(z0)), MARK(z0))
MARK(take(z0, z1)) → c63(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(sel(z0, z1)) → c65(ACTIVE(sel(mark(z0), mark(z1))), SEL(mark(z0), mark(z1)), MARK(z0), MARK(z1))
U101'(mark(z0), z1, z2) → c66(U101'(z0, z1, z2))
U101'(z0, mark(z1), z2) → c67(U101'(z0, z1, z2))
U101'(z0, z1, mark(z2)) → c68(U101'(z0, z1, z2))
U101'(active(z0), z1, z2) → c69(U101'(z0, z1, z2))
U101'(z0, active(z1), z2) → c70(U101'(z0, z1, z2))
U101'(z0, z1, active(z2)) → c71(U101'(z0, z1, z2))
FST(mark(z0)) → c72(FST(z0))
FST(active(z0)) → c73(FST(z0))
SPLITAT(mark(z0), z1) → c74(SPLITAT(z0, z1))
SPLITAT(z0, mark(z1)) → c75(SPLITAT(z0, z1))
SPLITAT(active(z0), z1) → c76(SPLITAT(z0, z1))
SPLITAT(z0, active(z1)) → c77(SPLITAT(z0, z1))
U11'(mark(z0), z1, z2) → c78(U11'(z0, z1, z2))
U11'(z0, mark(z1), z2) → c79(U11'(z0, z1, z2))
U11'(z0, z1, mark(z2)) → c80(U11'(z0, z1, z2))
U11'(active(z0), z1, z2) → c81(U11'(z0, z1, z2))
U11'(z0, active(z1), z2) → c82(U11'(z0, z1, z2))
U11'(z0, z1, active(z2)) → c83(U11'(z0, z1, z2))
SND(mark(z0)) → c84(SND(z0))
SND(active(z0)) → c85(SND(z0))
U21'(mark(z0), z1) → c86(U21'(z0, z1))
U21'(z0, mark(z1)) → c87(U21'(z0, z1))
U21'(active(z0), z1) → c88(U21'(z0, z1))
U21'(z0, active(z1)) → c89(U21'(z0, z1))
U31'(mark(z0), z1) → c90(U31'(z0, z1))
U31'(z0, mark(z1)) → c91(U31'(z0, z1))
U31'(active(z0), z1) → c92(U31'(z0, z1))
U31'(z0, active(z1)) → c93(U31'(z0, z1))
U41'(mark(z0), z1) → c94(U41'(z0, z1))
U41'(z0, mark(z1)) → c95(U41'(z0, z1))
U41'(active(z0), z1) → c96(U41'(z0, z1))
U41'(z0, active(z1)) → c97(U41'(z0, z1))
CONS(mark(z0), z1) → c98(CONS(z0, z1))
CONS(z0, mark(z1)) → c99(CONS(z0, z1))
CONS(active(z0), z1) → c100(CONS(z0, z1))
CONS(z0, active(z1)) → c101(CONS(z0, z1))
NATSFROM(mark(z0)) → c102(NATSFROM(z0))
NATSFROM(active(z0)) → c103(NATSFROM(z0))
S(mark(z0)) → c104(S(z0))
S(active(z0)) → c105(S(z0))
U51'(mark(z0), z1, z2) → c106(U51'(z0, z1, z2))
U51'(z0, mark(z1), z2) → c107(U51'(z0, z1, z2))
U51'(z0, z1, mark(z2)) → c108(U51'(z0, z1, z2))
U51'(active(z0), z1, z2) → c109(U51'(z0, z1, z2))
U51'(z0, active(z1), z2) → c110(U51'(z0, z1, z2))
U51'(z0, z1, active(z2)) → c111(U51'(z0, z1, z2))
HEAD(mark(z0)) → c112(HEAD(z0))
HEAD(active(z0)) → c113(HEAD(z0))
AFTERNTH(mark(z0), z1) → c114(AFTERNTH(z0, z1))
AFTERNTH(z0, mark(z1)) → c115(AFTERNTH(z0, z1))
AFTERNTH(active(z0), z1) → c116(AFTERNTH(z0, z1))
AFTERNTH(z0, active(z1)) → c117(AFTERNTH(z0, z1))
U61'(mark(z0), z1) → c118(U61'(z0, z1))
U61'(z0, mark(z1)) → c119(U61'(z0, z1))
U61'(active(z0), z1) → c120(U61'(z0, z1))
U61'(z0, active(z1)) → c121(U61'(z0, z1))
U71'(mark(z0), z1) → c122(U71'(z0, z1))
U71'(z0, mark(z1)) → c123(U71'(z0, z1))
U71'(active(z0), z1) → c124(U71'(z0, z1))
U71'(z0, active(z1)) → c125(U71'(z0, z1))
PAIR(mark(z0), z1) → c126(PAIR(z0, z1))
PAIR(z0, mark(z1)) → c127(PAIR(z0, z1))
PAIR(active(z0), z1) → c128(PAIR(z0, z1))
PAIR(z0, active(z1)) → c129(PAIR(z0, z1))
U81'(mark(z0), z1, z2, z3) → c130(U81'(z0, z1, z2, z3))
U81'(z0, mark(z1), z2, z3) → c131(U81'(z0, z1, z2, z3))
U81'(z0, z1, mark(z2), z3) → c132(U81'(z0, z1, z2, z3))
U81'(z0, z1, z2, mark(z3)) → c133(U81'(z0, z1, z2, z3))
U81'(active(z0), z1, z2, z3) → c134(U81'(z0, z1, z2, z3))
U81'(z0, active(z1), z2, z3) → c135(U81'(z0, z1, z2, z3))
U81'(z0, z1, active(z2), z3) → c136(U81'(z0, z1, z2, z3))
U81'(z0, z1, z2, active(z3)) → c137(U81'(z0, z1, z2, z3))
U82'(mark(z0), z1) → c138(U82'(z0, z1))
U82'(z0, mark(z1)) → c139(U82'(z0, z1))
U82'(active(z0), z1) → c140(U82'(z0, z1))
U82'(z0, active(z1)) → c141(U82'(z0, z1))
U91'(mark(z0), z1) → c142(U91'(z0, z1))
U91'(z0, mark(z1)) → c143(U91'(z0, z1))
U91'(active(z0), z1) → c144(U91'(z0, z1))
U91'(z0, active(z1)) → c145(U91'(z0, z1))
AND(mark(z0), z1) → c146(AND(z0, z1))
AND(z0, mark(z1)) → c147(AND(z0, z1))
AND(active(z0), z1) → c148(AND(z0, z1))
AND(z0, active(z1)) → c149(AND(z0, z1))
ISNATURAL(mark(z0)) → c150(ISNATURAL(z0))
ISNATURAL(active(z0)) → c151(ISNATURAL(z0))
ISLNAT(mark(z0)) → c152(ISLNAT(z0))
ISLNAT(active(z0)) → c153(ISLNAT(z0))
ISPLNAT(mark(z0)) → c154(ISPLNAT(z0))
ISPLNAT(active(z0)) → c155(ISPLNAT(z0))
TAIL(mark(z0)) → c156(TAIL(z0))
TAIL(active(z0)) → c157(TAIL(z0))
TAKE(mark(z0), z1) → c158(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c159(TAKE(z0, z1))
TAKE(active(z0), z1) → c160(TAKE(z0, z1))
TAKE(z0, active(z1)) → c161(TAKE(z0, z1))
SEL(mark(z0), z1) → c162(SEL(z0, z1))
SEL(z0, mark(z1)) → c163(SEL(z0, z1))
SEL(active(z0), z1) → c164(SEL(z0, z1))
SEL(z0, active(z1)) → c165(SEL(z0, z1))
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(U101(tt, z0, z1)) → mark(fst(splitAt(z0, z1)))
active(U11(tt, z0, z1)) → mark(snd(splitAt(z0, z1)))
active(U21(tt, z0)) → mark(z0)
active(U31(tt, z0)) → mark(z0)
active(U41(tt, z0)) → mark(cons(z0, natsFrom(s(z0))))
active(U51(tt, z0, z1)) → mark(head(afterNth(z0, z1)))
active(U61(tt, z0)) → mark(z0)
active(U71(tt, z0)) → mark(pair(nil, z0))
active(U81(tt, z0, z1, z2)) → mark(U82(splitAt(z0, z2), z1))
active(U82(pair(z0, z1), z2)) → mark(pair(cons(z2, z0), z1))
active(U91(tt, z0)) → mark(z0)
active(afterNth(z0, z1)) → mark(U11(and(isNatural(z0), isLNat(z1)), z0, z1))
active(and(tt, z0)) → mark(z0)
active(fst(pair(z0, z1))) → mark(U21(and(isLNat(z0), isLNat(z1)), z0))
active(head(cons(z0, z1))) → mark(U31(and(isNatural(z0), isLNat(z1)), z0))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isLNat(cons(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isLNat(fst(z0))) → mark(isPLNat(z0))
active(isLNat(natsFrom(z0))) → mark(isNatural(z0))
active(isLNat(snd(z0))) → mark(isPLNat(z0))
active(isLNat(tail(z0))) → mark(isLNat(z0))
active(isLNat(take(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isNatural(0)) → mark(tt)
active(isNatural(head(z0))) → mark(isLNat(z0))
active(isNatural(s(z0))) → mark(isNatural(z0))
active(isNatural(sel(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isPLNat(pair(z0, z1))) → mark(and(isLNat(z0), isLNat(z1)))
active(isPLNat(splitAt(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(natsFrom(z0)) → mark(U41(isNatural(z0), z0))
active(sel(z0, z1)) → mark(U51(and(isNatural(z0), isLNat(z1)), z0, z1))
active(snd(pair(z0, z1))) → mark(U61(and(isLNat(z0), isLNat(z1)), z1))
active(splitAt(0, z0)) → mark(U71(isLNat(z0), z0))
active(splitAt(s(z0), cons(z1, z2))) → mark(U81(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2))
active(tail(cons(z0, z1))) → mark(U91(and(isNatural(z0), isLNat(z1)), z1))
active(take(z0, z1)) → mark(U101(and(isNatural(z0), isLNat(z1)), z0, z1))
mark(U101(z0, z1, z2)) → active(U101(mark(z0), z1, z2))
mark(tt) → active(tt)
mark(fst(z0)) → active(fst(mark(z0)))
mark(splitAt(z0, z1)) → active(splitAt(mark(z0), mark(z1)))
mark(U11(z0, z1, z2)) → active(U11(mark(z0), z1, z2))
mark(snd(z0)) → active(snd(mark(z0)))
mark(U21(z0, z1)) → active(U21(mark(z0), z1))
mark(U31(z0, z1)) → active(U31(mark(z0), z1))
mark(U41(z0, z1)) → active(U41(mark(z0), z1))
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(natsFrom(z0)) → active(natsFrom(mark(z0)))
mark(s(z0)) → active(s(mark(z0)))
mark(U51(z0, z1, z2)) → active(U51(mark(z0), z1, z2))
mark(head(z0)) → active(head(mark(z0)))
mark(afterNth(z0, z1)) → active(afterNth(mark(z0), mark(z1)))
mark(U61(z0, z1)) → active(U61(mark(z0), z1))
mark(U71(z0, z1)) → active(U71(mark(z0), z1))
mark(pair(z0, z1)) → active(pair(mark(z0), mark(z1)))
mark(nil) → active(nil)
mark(U81(z0, z1, z2, z3)) → active(U81(mark(z0), z1, z2, z3))
mark(U82(z0, z1)) → active(U82(mark(z0), z1))
mark(U91(z0, z1)) → active(U91(mark(z0), z1))
mark(and(z0, z1)) → active(and(mark(z0), z1))
mark(isNatural(z0)) → active(isNatural(z0))
mark(isLNat(z0)) → active(isLNat(z0))
mark(isPLNat(z0)) → active(isPLNat(z0))
mark(tail(z0)) → active(tail(mark(z0)))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(0) → active(0)
mark(sel(z0, z1)) → active(sel(mark(z0), mark(z1)))
U101(mark(z0), z1, z2) → U101(z0, z1, z2)
U101(z0, mark(z1), z2) → U101(z0, z1, z2)
U101(z0, z1, mark(z2)) → U101(z0, z1, z2)
U101(active(z0), z1, z2) → U101(z0, z1, z2)
U101(z0, active(z1), z2) → U101(z0, z1, z2)
U101(z0, z1, active(z2)) → U101(z0, z1, z2)
fst(mark(z0)) → fst(z0)
fst(active(z0)) → fst(z0)
splitAt(mark(z0), z1) → splitAt(z0, z1)
splitAt(z0, mark(z1)) → splitAt(z0, z1)
splitAt(active(z0), z1) → splitAt(z0, z1)
splitAt(z0, active(z1)) → splitAt(z0, z1)
U11(mark(z0), z1, z2) → U11(z0, z1, z2)
U11(z0, mark(z1), z2) → U11(z0, z1, z2)
U11(z0, z1, mark(z2)) → U11(z0, z1, z2)
U11(active(z0), z1, z2) → U11(z0, z1, z2)
U11(z0, active(z1), z2) → U11(z0, z1, z2)
U11(z0, z1, active(z2)) → U11(z0, z1, z2)
snd(mark(z0)) → snd(z0)
snd(active(z0)) → snd(z0)
U21(mark(z0), z1) → U21(z0, z1)
U21(z0, mark(z1)) → U21(z0, z1)
U21(active(z0), z1) → U21(z0, z1)
U21(z0, active(z1)) → U21(z0, z1)
U31(mark(z0), z1) → U31(z0, z1)
U31(z0, mark(z1)) → U31(z0, z1)
U31(active(z0), z1) → U31(z0, z1)
U31(z0, active(z1)) → U31(z0, z1)
U41(mark(z0), z1) → U41(z0, z1)
U41(z0, mark(z1)) → U41(z0, z1)
U41(active(z0), z1) → U41(z0, z1)
U41(z0, active(z1)) → U41(z0, z1)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
natsFrom(mark(z0)) → natsFrom(z0)
natsFrom(active(z0)) → natsFrom(z0)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
U51(mark(z0), z1, z2) → U51(z0, z1, z2)
U51(z0, mark(z1), z2) → U51(z0, z1, z2)
U51(z0, z1, mark(z2)) → U51(z0, z1, z2)
U51(active(z0), z1, z2) → U51(z0, z1, z2)
U51(z0, active(z1), z2) → U51(z0, z1, z2)
U51(z0, z1, active(z2)) → U51(z0, z1, z2)
head(mark(z0)) → head(z0)
head(active(z0)) → head(z0)
afterNth(mark(z0), z1) → afterNth(z0, z1)
afterNth(z0, mark(z1)) → afterNth(z0, z1)
afterNth(active(z0), z1) → afterNth(z0, z1)
afterNth(z0, active(z1)) → afterNth(z0, z1)
U61(mark(z0), z1) → U61(z0, z1)
U61(z0, mark(z1)) → U61(z0, z1)
U61(active(z0), z1) → U61(z0, z1)
U61(z0, active(z1)) → U61(z0, z1)
U71(mark(z0), z1) → U71(z0, z1)
U71(z0, mark(z1)) → U71(z0, z1)
U71(active(z0), z1) → U71(z0, z1)
U71(z0, active(z1)) → U71(z0, z1)
pair(mark(z0), z1) → pair(z0, z1)
pair(z0, mark(z1)) → pair(z0, z1)
pair(active(z0), z1) → pair(z0, z1)
pair(z0, active(z1)) → pair(z0, z1)
U81(mark(z0), z1, z2, z3) → U81(z0, z1, z2, z3)
U81(z0, mark(z1), z2, z3) → U81(z0, z1, z2, z3)
U81(z0, z1, mark(z2), z3) → U81(z0, z1, z2, z3)
U81(z0, z1, z2, mark(z3)) → U81(z0, z1, z2, z3)
U81(active(z0), z1, z2, z3) → U81(z0, z1, z2, z3)
U81(z0, active(z1), z2, z3) → U81(z0, z1, z2, z3)
U81(z0, z1, active(z2), z3) → U81(z0, z1, z2, z3)
U81(z0, z1, z2, active(z3)) → U81(z0, z1, z2, z3)
U82(mark(z0), z1) → U82(z0, z1)
U82(z0, mark(z1)) → U82(z0, z1)
U82(active(z0), z1) → U82(z0, z1)
U82(z0, active(z1)) → U82(z0, z1)
U91(mark(z0), z1) → U91(z0, z1)
U91(z0, mark(z1)) → U91(z0, z1)
U91(active(z0), z1) → U91(z0, z1)
U91(z0, active(z1)) → U91(z0, z1)
and(mark(z0), z1) → and(z0, z1)
and(z0, mark(z1)) → and(z0, z1)
and(active(z0), z1) → and(z0, z1)
and(z0, active(z1)) → and(z0, z1)
isNatural(mark(z0)) → isNatural(z0)
isNatural(active(z0)) → isNatural(z0)
isLNat(mark(z0)) → isLNat(z0)
isLNat(active(z0)) → isLNat(z0)
isPLNat(mark(z0)) → isPLNat(z0)
isPLNat(active(z0)) → isPLNat(z0)
tail(mark(z0)) → tail(z0)
tail(active(z0)) → tail(z0)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
sel(mark(z0), z1) → sel(z0, z1)
sel(z0, mark(z1)) → sel(z0, z1)
sel(active(z0), z1) → sel(z0, z1)
sel(z0, active(z1)) → sel(z0, z1)
Tuples:
MARK(tt) → c37(ACTIVE(tt))
MARK(nil) → c54(ACTIVE(nil))
MARK(0) → c64(ACTIVE(0))
S tuples:
MARK(tt) → c37(ACTIVE(tt))
MARK(nil) → c54(ACTIVE(nil))
MARK(0) → c64(ACTIVE(0))
K tuples:none
Defined Rule Symbols:
active, mark, U101, fst, splitAt, U11, snd, U21, U31, U41, cons, natsFrom, s, U51, head, afterNth, U61, U71, pair, U81, U82, U91, and, isNatural, isLNat, isPLNat, tail, take, sel
Defined Pair Symbols:
MARK
Compound Symbols:
c37, c54, c64
(5) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 3 trailing nodes:
MARK(nil) → c54(ACTIVE(nil))
MARK(tt) → c37(ACTIVE(tt))
MARK(0) → c64(ACTIVE(0))
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(U101(tt, z0, z1)) → mark(fst(splitAt(z0, z1)))
active(U11(tt, z0, z1)) → mark(snd(splitAt(z0, z1)))
active(U21(tt, z0)) → mark(z0)
active(U31(tt, z0)) → mark(z0)
active(U41(tt, z0)) → mark(cons(z0, natsFrom(s(z0))))
active(U51(tt, z0, z1)) → mark(head(afterNth(z0, z1)))
active(U61(tt, z0)) → mark(z0)
active(U71(tt, z0)) → mark(pair(nil, z0))
active(U81(tt, z0, z1, z2)) → mark(U82(splitAt(z0, z2), z1))
active(U82(pair(z0, z1), z2)) → mark(pair(cons(z2, z0), z1))
active(U91(tt, z0)) → mark(z0)
active(afterNth(z0, z1)) → mark(U11(and(isNatural(z0), isLNat(z1)), z0, z1))
active(and(tt, z0)) → mark(z0)
active(fst(pair(z0, z1))) → mark(U21(and(isLNat(z0), isLNat(z1)), z0))
active(head(cons(z0, z1))) → mark(U31(and(isNatural(z0), isLNat(z1)), z0))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isLNat(cons(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isLNat(fst(z0))) → mark(isPLNat(z0))
active(isLNat(natsFrom(z0))) → mark(isNatural(z0))
active(isLNat(snd(z0))) → mark(isPLNat(z0))
active(isLNat(tail(z0))) → mark(isLNat(z0))
active(isLNat(take(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isNatural(0)) → mark(tt)
active(isNatural(head(z0))) → mark(isLNat(z0))
active(isNatural(s(z0))) → mark(isNatural(z0))
active(isNatural(sel(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(isPLNat(pair(z0, z1))) → mark(and(isLNat(z0), isLNat(z1)))
active(isPLNat(splitAt(z0, z1))) → mark(and(isNatural(z0), isLNat(z1)))
active(natsFrom(z0)) → mark(U41(isNatural(z0), z0))
active(sel(z0, z1)) → mark(U51(and(isNatural(z0), isLNat(z1)), z0, z1))
active(snd(pair(z0, z1))) → mark(U61(and(isLNat(z0), isLNat(z1)), z1))
active(splitAt(0, z0)) → mark(U71(isLNat(z0), z0))
active(splitAt(s(z0), cons(z1, z2))) → mark(U81(and(isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2))
active(tail(cons(z0, z1))) → mark(U91(and(isNatural(z0), isLNat(z1)), z1))
active(take(z0, z1)) → mark(U101(and(isNatural(z0), isLNat(z1)), z0, z1))
mark(U101(z0, z1, z2)) → active(U101(mark(z0), z1, z2))
mark(tt) → active(tt)
mark(fst(z0)) → active(fst(mark(z0)))
mark(splitAt(z0, z1)) → active(splitAt(mark(z0), mark(z1)))
mark(U11(z0, z1, z2)) → active(U11(mark(z0), z1, z2))
mark(snd(z0)) → active(snd(mark(z0)))
mark(U21(z0, z1)) → active(U21(mark(z0), z1))
mark(U31(z0, z1)) → active(U31(mark(z0), z1))
mark(U41(z0, z1)) → active(U41(mark(z0), z1))
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(natsFrom(z0)) → active(natsFrom(mark(z0)))
mark(s(z0)) → active(s(mark(z0)))
mark(U51(z0, z1, z2)) → active(U51(mark(z0), z1, z2))
mark(head(z0)) → active(head(mark(z0)))
mark(afterNth(z0, z1)) → active(afterNth(mark(z0), mark(z1)))
mark(U61(z0, z1)) → active(U61(mark(z0), z1))
mark(U71(z0, z1)) → active(U71(mark(z0), z1))
mark(pair(z0, z1)) → active(pair(mark(z0), mark(z1)))
mark(nil) → active(nil)
mark(U81(z0, z1, z2, z3)) → active(U81(mark(z0), z1, z2, z3))
mark(U82(z0, z1)) → active(U82(mark(z0), z1))
mark(U91(z0, z1)) → active(U91(mark(z0), z1))
mark(and(z0, z1)) → active(and(mark(z0), z1))
mark(isNatural(z0)) → active(isNatural(z0))
mark(isLNat(z0)) → active(isLNat(z0))
mark(isPLNat(z0)) → active(isPLNat(z0))
mark(tail(z0)) → active(tail(mark(z0)))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(0) → active(0)
mark(sel(z0, z1)) → active(sel(mark(z0), mark(z1)))
U101(mark(z0), z1, z2) → U101(z0, z1, z2)
U101(z0, mark(z1), z2) → U101(z0, z1, z2)
U101(z0, z1, mark(z2)) → U101(z0, z1, z2)
U101(active(z0), z1, z2) → U101(z0, z1, z2)
U101(z0, active(z1), z2) → U101(z0, z1, z2)
U101(z0, z1, active(z2)) → U101(z0, z1, z2)
fst(mark(z0)) → fst(z0)
fst(active(z0)) → fst(z0)
splitAt(mark(z0), z1) → splitAt(z0, z1)
splitAt(z0, mark(z1)) → splitAt(z0, z1)
splitAt(active(z0), z1) → splitAt(z0, z1)
splitAt(z0, active(z1)) → splitAt(z0, z1)
U11(mark(z0), z1, z2) → U11(z0, z1, z2)
U11(z0, mark(z1), z2) → U11(z0, z1, z2)
U11(z0, z1, mark(z2)) → U11(z0, z1, z2)
U11(active(z0), z1, z2) → U11(z0, z1, z2)
U11(z0, active(z1), z2) → U11(z0, z1, z2)
U11(z0, z1, active(z2)) → U11(z0, z1, z2)
snd(mark(z0)) → snd(z0)
snd(active(z0)) → snd(z0)
U21(mark(z0), z1) → U21(z0, z1)
U21(z0, mark(z1)) → U21(z0, z1)
U21(active(z0), z1) → U21(z0, z1)
U21(z0, active(z1)) → U21(z0, z1)
U31(mark(z0), z1) → U31(z0, z1)
U31(z0, mark(z1)) → U31(z0, z1)
U31(active(z0), z1) → U31(z0, z1)
U31(z0, active(z1)) → U31(z0, z1)
U41(mark(z0), z1) → U41(z0, z1)
U41(z0, mark(z1)) → U41(z0, z1)
U41(active(z0), z1) → U41(z0, z1)
U41(z0, active(z1)) → U41(z0, z1)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
natsFrom(mark(z0)) → natsFrom(z0)
natsFrom(active(z0)) → natsFrom(z0)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
U51(mark(z0), z1, z2) → U51(z0, z1, z2)
U51(z0, mark(z1), z2) → U51(z0, z1, z2)
U51(z0, z1, mark(z2)) → U51(z0, z1, z2)
U51(active(z0), z1, z2) → U51(z0, z1, z2)
U51(z0, active(z1), z2) → U51(z0, z1, z2)
U51(z0, z1, active(z2)) → U51(z0, z1, z2)
head(mark(z0)) → head(z0)
head(active(z0)) → head(z0)
afterNth(mark(z0), z1) → afterNth(z0, z1)
afterNth(z0, mark(z1)) → afterNth(z0, z1)
afterNth(active(z0), z1) → afterNth(z0, z1)
afterNth(z0, active(z1)) → afterNth(z0, z1)
U61(mark(z0), z1) → U61(z0, z1)
U61(z0, mark(z1)) → U61(z0, z1)
U61(active(z0), z1) → U61(z0, z1)
U61(z0, active(z1)) → U61(z0, z1)
U71(mark(z0), z1) → U71(z0, z1)
U71(z0, mark(z1)) → U71(z0, z1)
U71(active(z0), z1) → U71(z0, z1)
U71(z0, active(z1)) → U71(z0, z1)
pair(mark(z0), z1) → pair(z0, z1)
pair(z0, mark(z1)) → pair(z0, z1)
pair(active(z0), z1) → pair(z0, z1)
pair(z0, active(z1)) → pair(z0, z1)
U81(mark(z0), z1, z2, z3) → U81(z0, z1, z2, z3)
U81(z0, mark(z1), z2, z3) → U81(z0, z1, z2, z3)
U81(z0, z1, mark(z2), z3) → U81(z0, z1, z2, z3)
U81(z0, z1, z2, mark(z3)) → U81(z0, z1, z2, z3)
U81(active(z0), z1, z2, z3) → U81(z0, z1, z2, z3)
U81(z0, active(z1), z2, z3) → U81(z0, z1, z2, z3)
U81(z0, z1, active(z2), z3) → U81(z0, z1, z2, z3)
U81(z0, z1, z2, active(z3)) → U81(z0, z1, z2, z3)
U82(mark(z0), z1) → U82(z0, z1)
U82(z0, mark(z1)) → U82(z0, z1)
U82(active(z0), z1) → U82(z0, z1)
U82(z0, active(z1)) → U82(z0, z1)
U91(mark(z0), z1) → U91(z0, z1)
U91(z0, mark(z1)) → U91(z0, z1)
U91(active(z0), z1) → U91(z0, z1)
U91(z0, active(z1)) → U91(z0, z1)
and(mark(z0), z1) → and(z0, z1)
and(z0, mark(z1)) → and(z0, z1)
and(active(z0), z1) → and(z0, z1)
and(z0, active(z1)) → and(z0, z1)
isNatural(mark(z0)) → isNatural(z0)
isNatural(active(z0)) → isNatural(z0)
isLNat(mark(z0)) → isLNat(z0)
isLNat(active(z0)) → isLNat(z0)
isPLNat(mark(z0)) → isPLNat(z0)
isPLNat(active(z0)) → isPLNat(z0)
tail(mark(z0)) → tail(z0)
tail(active(z0)) → tail(z0)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
sel(mark(z0), z1) → sel(z0, z1)
sel(z0, mark(z1)) → sel(z0, z1)
sel(active(z0), z1) → sel(z0, z1)
sel(z0, active(z1)) → sel(z0, z1)
Tuples:none
S tuples:none
K tuples:none
Defined Rule Symbols:
active, mark, U101, fst, splitAt, U11, snd, U21, U31, U41, cons, natsFrom, s, U51, head, afterNth, U61, U71, pair, U81, U82, U91, and, isNatural, isLNat, isPLNat, tail, take, sel
Defined Pair Symbols:none
Compound Symbols:none
(7) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(8) BOUNDS(O(1), O(1))