YES(O(1), O(n^1)) 0.00/0.91 YES(O(1), O(n^1)) 0.00/1.00 0.00/1.00 0.00/1.00
0.00/1.00 0.00/1.000 CpxTRS0.00/1.00
↳1 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID))0.00/1.00
↳2 CdtProblem0.00/1.00
↳3 CdtUnreachableProof (⇔)0.00/1.00
↳4 CdtProblem0.00/1.00
↳5 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID))0.00/1.00
↳6 CdtProblem0.00/1.00
↳7 CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID))0.00/1.00
↳8 CdtProblem0.00/1.00
↳9 CdtLeafRemovalProof (ComplexityIfPolyImplication)0.00/1.00
↳10 CdtProblem0.00/1.00
↳11 CdtKnowledgeProof (BOTH BOUNDS(ID, ID))0.00/1.00
↳12 CdtProblem0.00/1.00
↳13 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))0.00/1.00
↳14 CdtProblem0.00/1.00
↳15 SIsEmptyProof (BOTH BOUNDS(ID, ID))0.00/1.00
↳16 BOUNDS(O(1), O(1))0.00/1.00
U11(tt, N, X, XS) → U12(splitAt(activate(N), activate(XS)), activate(X)) 0.00/1.00
U12(pair(YS, ZS), X) → pair(cons(activate(X), YS), ZS) 0.00/1.00
afterNth(N, XS) → snd(splitAt(N, XS)) 0.00/1.00
and(tt, X) → activate(X) 0.00/1.00
fst(pair(X, Y)) → X 0.00/1.00
head(cons(N, XS)) → N 0.00/1.00
natsFrom(N) → cons(N, n__natsFrom(n__s(N))) 0.00/1.00
sel(N, XS) → head(afterNth(N, XS)) 0.00/1.00
snd(pair(X, Y)) → Y 0.00/1.00
splitAt(0, XS) → pair(nil, XS) 0.00/1.00
splitAt(s(N), cons(X, XS)) → U11(tt, N, X, activate(XS)) 0.00/1.00
tail(cons(N, XS)) → activate(XS) 0.00/1.00
take(N, XS) → fst(splitAt(N, XS)) 0.00/1.00
natsFrom(X) → n__natsFrom(X) 0.00/1.00
s(X) → n__s(X) 0.00/1.00
activate(n__natsFrom(X)) → natsFrom(activate(X)) 0.00/1.00
activate(n__s(X)) → s(activate(X)) 0.00/1.00
activate(X) → X
Tuples:
U11(tt, z0, z1, z2) → U12(splitAt(activate(z0), activate(z2)), activate(z1)) 0.00/1.00
U12(pair(z0, z1), z2) → pair(cons(activate(z2), z0), z1) 0.00/1.00
afterNth(z0, z1) → snd(splitAt(z0, z1)) 0.00/1.00
and(tt, z0) → activate(z0) 0.00/1.00
fst(pair(z0, z1)) → z0 0.00/1.00
head(cons(z0, z1)) → z0 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0) 0.00/1.00
sel(z0, z1) → head(afterNth(z0, z1)) 0.00/1.00
snd(pair(z0, z1)) → z1 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
splitAt(s(z0), cons(z1, z2)) → U11(tt, z0, z1, activate(z2)) 0.00/1.00
tail(cons(z0, z1)) → activate(z1) 0.00/1.00
take(z0, z1) → fst(splitAt(z0, z1)) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0
S tuples:
U11'(tt, z0, z1, z2) → c(U12'(splitAt(activate(z0), activate(z2)), activate(z1)), SPLITAT(activate(z0), activate(z2)), ACTIVATE(z0), ACTIVATE(z2), ACTIVATE(z1)) 0.00/1.00
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AFTERNTH(z0, z1) → c2(SND(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
SEL(z0, z1) → c8(HEAD(afterNth(z0, z1)), AFTERNTH(z0, z1)) 0.00/1.00
SPLITAT(s(z0), cons(z1, z2)) → c11(U11'(tt, z0, z1, activate(z2)), ACTIVATE(z2)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
TAKE(z0, z1) → c13(FST(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(NATSFROM(activate(z0)), ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(S(activate(z0)), ACTIVATE(z0))
K tuples:none
U11'(tt, z0, z1, z2) → c(U12'(splitAt(activate(z0), activate(z2)), activate(z1)), SPLITAT(activate(z0), activate(z2)), ACTIVATE(z0), ACTIVATE(z2), ACTIVATE(z1)) 0.00/1.00
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AFTERNTH(z0, z1) → c2(SND(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
SEL(z0, z1) → c8(HEAD(afterNth(z0, z1)), AFTERNTH(z0, z1)) 0.00/1.00
SPLITAT(s(z0), cons(z1, z2)) → c11(U11'(tt, z0, z1, activate(z2)), ACTIVATE(z2)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
TAKE(z0, z1) → c13(FST(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(NATSFROM(activate(z0)), ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(S(activate(z0)), ACTIVATE(z0))
U11, U12, afterNth, and, fst, head, natsFrom, sel, snd, splitAt, tail, take, s, activate
U11', U12', AFTERNTH, AND, SEL, SPLITAT, TAIL, TAKE, ACTIVATE
c, c1, c2, c3, c8, c11, c12, c13, c15, c16
SPLITAT(s(z0), cons(z1, z2)) → c11(U11'(tt, z0, z1, activate(z2)), ACTIVATE(z2))
Tuples:
U11(tt, z0, z1, z2) → U12(splitAt(activate(z0), activate(z2)), activate(z1)) 0.00/1.00
U12(pair(z0, z1), z2) → pair(cons(activate(z2), z0), z1) 0.00/1.00
afterNth(z0, z1) → snd(splitAt(z0, z1)) 0.00/1.00
and(tt, z0) → activate(z0) 0.00/1.00
fst(pair(z0, z1)) → z0 0.00/1.00
head(cons(z0, z1)) → z0 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0) 0.00/1.00
sel(z0, z1) → head(afterNth(z0, z1)) 0.00/1.00
snd(pair(z0, z1)) → z1 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
splitAt(s(z0), cons(z1, z2)) → U11(tt, z0, z1, activate(z2)) 0.00/1.00
tail(cons(z0, z1)) → activate(z1) 0.00/1.00
take(z0, z1) → fst(splitAt(z0, z1)) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0
S tuples:
U11'(tt, z0, z1, z2) → c(U12'(splitAt(activate(z0), activate(z2)), activate(z1)), SPLITAT(activate(z0), activate(z2)), ACTIVATE(z0), ACTIVATE(z2), ACTIVATE(z1)) 0.00/1.00
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AFTERNTH(z0, z1) → c2(SND(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
SEL(z0, z1) → c8(HEAD(afterNth(z0, z1)), AFTERNTH(z0, z1)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
TAKE(z0, z1) → c13(FST(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(NATSFROM(activate(z0)), ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(S(activate(z0)), ACTIVATE(z0))
K tuples:none
U11'(tt, z0, z1, z2) → c(U12'(splitAt(activate(z0), activate(z2)), activate(z1)), SPLITAT(activate(z0), activate(z2)), ACTIVATE(z0), ACTIVATE(z2), ACTIVATE(z1)) 0.00/1.00
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AFTERNTH(z0, z1) → c2(SND(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
SEL(z0, z1) → c8(HEAD(afterNth(z0, z1)), AFTERNTH(z0, z1)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
TAKE(z0, z1) → c13(FST(splitAt(z0, z1)), SPLITAT(z0, z1)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(NATSFROM(activate(z0)), ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(S(activate(z0)), ACTIVATE(z0))
U11, U12, afterNth, and, fst, head, natsFrom, sel, snd, splitAt, tail, take, s, activate
U11', U12', AFTERNTH, AND, SEL, TAIL, TAKE, ACTIVATE
c, c1, c2, c3, c8, c12, c13, c15, c16
Tuples:
U11(tt, z0, z1, z2) → U12(splitAt(activate(z0), activate(z2)), activate(z1)) 0.00/1.00
U12(pair(z0, z1), z2) → pair(cons(activate(z2), z0), z1) 0.00/1.00
afterNth(z0, z1) → snd(splitAt(z0, z1)) 0.00/1.00
and(tt, z0) → activate(z0) 0.00/1.00
fst(pair(z0, z1)) → z0 0.00/1.00
head(cons(z0, z1)) → z0 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0) 0.00/1.00
sel(z0, z1) → head(afterNth(z0, z1)) 0.00/1.00
snd(pair(z0, z1)) → z1 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
splitAt(s(z0), cons(z1, z2)) → U11(tt, z0, z1, activate(z2)) 0.00/1.00
tail(cons(z0, z1)) → activate(z1) 0.00/1.00
take(z0, z1) → fst(splitAt(z0, z1)) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0
S tuples:
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
U11'(tt, z0, z1, z2) → c(U12'(splitAt(activate(z0), activate(z2)), activate(z1)), ACTIVATE(z0), ACTIVATE(z2), ACTIVATE(z1)) 0.00/1.00
AFTERNTH(z0, z1) → c2 0.00/1.00
SEL(z0, z1) → c8(AFTERNTH(z0, z1)) 0.00/1.00
TAKE(z0, z1) → c13 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0))
K tuples:none
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
U11'(tt, z0, z1, z2) → c(U12'(splitAt(activate(z0), activate(z2)), activate(z1)), ACTIVATE(z0), ACTIVATE(z2), ACTIVATE(z1)) 0.00/1.00
AFTERNTH(z0, z1) → c2 0.00/1.00
SEL(z0, z1) → c8(AFTERNTH(z0, z1)) 0.00/1.00
TAKE(z0, z1) → c13 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0))
U11, U12, afterNth, and, fst, head, natsFrom, sel, snd, splitAt, tail, take, s, activate
U12', AND, TAIL, U11', AFTERNTH, SEL, TAKE, ACTIVATE
c1, c3, c12, c, c2, c8, c13, c15, c16
Tuples:
U11(tt, z0, z1, z2) → U12(splitAt(activate(z0), activate(z2)), activate(z1)) 0.00/1.00
U12(pair(z0, z1), z2) → pair(cons(activate(z2), z0), z1) 0.00/1.00
afterNth(z0, z1) → snd(splitAt(z0, z1)) 0.00/1.00
and(tt, z0) → activate(z0) 0.00/1.00
fst(pair(z0, z1)) → z0 0.00/1.00
head(cons(z0, z1)) → z0 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0) 0.00/1.00
sel(z0, z1) → head(afterNth(z0, z1)) 0.00/1.00
snd(pair(z0, z1)) → z1 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
splitAt(s(z0), cons(z1, z2)) → U11(tt, z0, z1, activate(z2)) 0.00/1.00
tail(cons(z0, z1)) → activate(z1) 0.00/1.00
take(z0, z1) → fst(splitAt(z0, z1)) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0
S tuples:
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
AFTERNTH(z0, z1) → c2 0.00/1.00
SEL(z0, z1) → c8(AFTERNTH(z0, z1)) 0.00/1.00
TAKE(z0, z1) → c13 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1))) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z2)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z1))
K tuples:none
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
AFTERNTH(z0, z1) → c2 0.00/1.00
SEL(z0, z1) → c8(AFTERNTH(z0, z1)) 0.00/1.00
TAKE(z0, z1) → c13 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1))) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z2)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z1))
U11, U12, afterNth, and, fst, head, natsFrom, sel, snd, splitAt, tail, take, s, activate
U12', AND, TAIL, AFTERNTH, SEL, TAKE, ACTIVATE, U11'
c1, c3, c12, c2, c8, c13, c15, c16, c4
Removed 3 trailing nodes:
AND(tt, z0) → c3(ACTIVATE(z0)) 0.00/1.00
TAIL(cons(z0, z1)) → c12(ACTIVATE(z1)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z2)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(ACTIVATE(z1))
AFTERNTH(z0, z1) → c2 0.00/1.00
SEL(z0, z1) → c8(AFTERNTH(z0, z1)) 0.00/1.00
TAKE(z0, z1) → c13
Tuples:
U11(tt, z0, z1, z2) → U12(splitAt(activate(z0), activate(z2)), activate(z1)) 0.00/1.00
U12(pair(z0, z1), z2) → pair(cons(activate(z2), z0), z1) 0.00/1.00
afterNth(z0, z1) → snd(splitAt(z0, z1)) 0.00/1.00
and(tt, z0) → activate(z0) 0.00/1.00
fst(pair(z0, z1)) → z0 0.00/1.00
head(cons(z0, z1)) → z0 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0) 0.00/1.00
sel(z0, z1) → head(afterNth(z0, z1)) 0.00/1.00
snd(pair(z0, z1)) → z1 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
splitAt(s(z0), cons(z1, z2)) → U11(tt, z0, z1, activate(z2)) 0.00/1.00
tail(cons(z0, z1)) → activate(z1) 0.00/1.00
take(z0, z1) → fst(splitAt(z0, z1)) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0
S tuples:
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1)))
K tuples:none
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1)))
U11, U12, afterNth, and, fst, head, natsFrom, sel, snd, splitAt, tail, take, s, activate
U12', ACTIVATE, U11'
c1, c15, c16, c4
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1))) 0.00/1.00
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2))
Tuples:
U11(tt, z0, z1, z2) → U12(splitAt(activate(z0), activate(z2)), activate(z1)) 0.00/1.00
U12(pair(z0, z1), z2) → pair(cons(activate(z2), z0), z1) 0.00/1.00
afterNth(z0, z1) → snd(splitAt(z0, z1)) 0.00/1.00
and(tt, z0) → activate(z0) 0.00/1.00
fst(pair(z0, z1)) → z0 0.00/1.00
head(cons(z0, z1)) → z0 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0) 0.00/1.00
sel(z0, z1) → head(afterNth(z0, z1)) 0.00/1.00
snd(pair(z0, z1)) → z1 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
splitAt(s(z0), cons(z1, z2)) → U11(tt, z0, z1, activate(z2)) 0.00/1.00
tail(cons(z0, z1)) → activate(z1) 0.00/1.00
take(z0, z1) → fst(splitAt(z0, z1)) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0
S tuples:
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1)))
K tuples:
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0))
Defined Rule Symbols:
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1))) 0.00/1.00
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2))
U11, U12, afterNth, and, fst, head, natsFrom, sel, snd, splitAt, tail, take, s, activate
U12', ACTIVATE, U11'
c1, c15, c16, c4
We considered the (Usable) Rules:
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0))
And the Tuples:
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0)
The order we found is given by the following interpretation:
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1)))
POL(0) = [3] 0.00/1.00
POL(ACTIVATE(x1)) = [2]x1 0.00/1.00
POL(U11'(x1, x2, x3, x4)) = [2] + [5]x1 + [5]x2 + [4]x3 + [5]x4 0.00/1.00
POL(U12'(x1, x2)) = [2]x2 0.00/1.00
POL(activate(x1)) = [2]x1 0.00/1.00
POL(c1(x1)) = x1 0.00/1.00
POL(c15(x1)) = x1 0.00/1.00
POL(c16(x1)) = x1 0.00/1.00
POL(c4(x1)) = x1 0.00/1.00
POL(cons(x1, x2)) = [2] + x1 0.00/1.00
POL(n__natsFrom(x1)) = [2] + x1 0.00/1.00
POL(n__s(x1)) = [4] + x1 0.00/1.00
POL(natsFrom(x1)) = [4] + x1 0.00/1.00
POL(nil) = [3] 0.00/1.00
POL(pair(x1, x2)) = [3] + x1 + x2 0.00/1.00
POL(s(x1)) = [4] + x1 0.00/1.00
POL(splitAt(x1, x2)) = 0 0.00/1.00
POL(tt) = [5]
Tuples:
U11(tt, z0, z1, z2) → U12(splitAt(activate(z0), activate(z2)), activate(z1)) 0.00/1.00
U12(pair(z0, z1), z2) → pair(cons(activate(z2), z0), z1) 0.00/1.00
afterNth(z0, z1) → snd(splitAt(z0, z1)) 0.00/1.00
and(tt, z0) → activate(z0) 0.00/1.00
fst(pair(z0, z1)) → z0 0.00/1.00
head(cons(z0, z1)) → z0 0.00/1.00
natsFrom(z0) → cons(z0, n__natsFrom(n__s(z0))) 0.00/1.00
natsFrom(z0) → n__natsFrom(z0) 0.00/1.00
sel(z0, z1) → head(afterNth(z0, z1)) 0.00/1.00
snd(pair(z0, z1)) → z1 0.00/1.00
splitAt(0, z0) → pair(nil, z0) 0.00/1.00
splitAt(s(z0), cons(z1, z2)) → U11(tt, z0, z1, activate(z2)) 0.00/1.00
tail(cons(z0, z1)) → activate(z1) 0.00/1.00
take(z0, z1) → fst(splitAt(z0, z1)) 0.00/1.00
s(z0) → n__s(z0) 0.00/1.00
activate(n__natsFrom(z0)) → natsFrom(activate(z0)) 0.00/1.00
activate(n__s(z0)) → s(activate(z0)) 0.00/1.00
activate(z0) → z0
S tuples:none
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0)) 0.00/1.00
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1)))
Defined Rule Symbols:
U11'(tt, z0, z1, z2) → c4(U12'(splitAt(activate(z0), activate(z2)), activate(z1))) 0.00/1.00
U12'(pair(z0, z1), z2) → c1(ACTIVATE(z2)) 0.00/1.00
ACTIVATE(n__natsFrom(z0)) → c15(ACTIVATE(z0)) 0.00/1.00
ACTIVATE(n__s(z0)) → c16(ACTIVATE(z0))
U11, U12, afterNth, and, fst, head, natsFrom, sel, snd, splitAt, tail, take, s, activate
U12', ACTIVATE, U11'
c1, c15, c16, c4