TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (399ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4iUR (6986ms).
 |    | – Problem 3 was processed with processor DependencyGraph (179ms).
 |    |    | – Problem 4 was processed with processor PolynomialLinearRange4iUR (4190ms).
 |    |    |    | – Problem 5 was processed with processor DependencyGraph (121ms).
 |    |    |    |    | – Problem 6 was processed with processor PolynomialLinearRange4iUR (2995ms).
 |    |    |    |    |    | – Problem 7 was processed with processor DependencyGraph (95ms).
 |    |    |    |    |    |    | – Problem 8 was processed with processor PolynomialLinearRange4iUR (1831ms).
 |    |    |    |    |    |    |    | – Problem 9 was processed with processor PolynomialLinearRange4iUR (3304ms).
 |    |    |    |    |    |    |    |    | – Problem 10 was processed with processor DependencyGraph (28ms).
 |    |    |    |    |    |    |    |    |    | – Problem 11 was processed with processor PolynomialLinearRange4iUR (524ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 12 remains open; application of the following processors failed [DependencyGraph (9ms), PolynomialLinearRange4iUR (835ms), DependencyGraph (32ms), PolynomialLinearRange8NegiUR (23286ms), DependencyGraph (8ms), ReductionPairSAT (2836ms), DependencyGraph (30ms), SizeChangePrinciple (timeout)].

The following open problems remain:



Open Dependency Pair Problem 12

Dependency Pairs

mark#(incr(X)) → a__incr#(mark(X))mark#(cons(X1, X2)) → mark#(X1)
a__incr#(cons(X, XS)) → mark#(X)mark#(s(X)) → mark#(X)
mark#(incr(X)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, repItems, take, incr, oddNs, a__pairNs, cons, nil


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

mark#(zip(X1, X2)) → mark#(X2)mark#(take(X1, X2)) → mark#(X1)
a__tail#(cons(X, XS)) → mark#(XS)mark#(incr(X)) → a__incr#(mark(X))
mark#(pair(X1, X2)) → mark#(X2)mark#(zip(X1, X2)) → mark#(X1)
a__oddNs# → a__pairNs#a__incr#(cons(X, XS)) → mark#(X)
mark#(s(X)) → mark#(X)mark#(tail(X)) → a__tail#(mark(X))
mark#(repItems(X)) → mark#(X)mark#(cons(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))a__oddNs# → a__incr#(a__pairNs)
mark#(incr(X)) → mark#(X)a__take#(s(N), cons(X, XS)) → mark#(X)
mark#(pairNs) → a__pairNs#mark#(pair(X1, X2)) → mark#(X1)
mark#(take(X1, X2)) → a__take#(mark(X1), mark(X2))mark#(tail(X)) → mark#(X)
mark#(repItems(X)) → a__repItems#(mark(X))a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)mark#(take(X1, X2)) → mark#(X2)
mark#(oddNs) → a__oddNs#a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, take, repItems, incr, a__pairNs, oddNs, nil, cons

Strategy


The following SCCs where found

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
a__tail#(cons(X, XS)) → mark#(XS)mark#(take(X1, X2)) → mark#(X1)
mark#(incr(X)) → a__incr#(mark(X))mark#(cons(X1, X2)) → mark#(X1)
mark#(pair(X1, X2)) → mark#(X2)mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))
mark#(zip(X1, X2)) → mark#(X1)a__oddNs# → a__incr#(a__pairNs)
mark#(incr(X)) → mark#(X)a__take#(s(N), cons(X, XS)) → mark#(X)
mark#(pair(X1, X2)) → mark#(X1)mark#(take(X1, X2)) → a__take#(mark(X1), mark(X2))
mark#(tail(X)) → mark#(X)mark#(repItems(X)) → a__repItems#(mark(X))
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)mark#(take(X1, X2)) → mark#(X2)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(s(X)) → mark#(X)mark#(tail(X)) → a__tail#(mark(X))
mark#(oddNs) → a__oddNs#a__repItems#(cons(X, XS)) → mark#(X)

Problem 2: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
mark#(take(X1, X2)) → mark#(X1)a__tail#(cons(X, XS)) → mark#(XS)
mark#(incr(X)) → a__incr#(mark(X))mark#(pair(X1, X2)) → mark#(X2)
mark#(cons(X1, X2)) → mark#(X1)mark#(zip(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))a__oddNs# → a__incr#(a__pairNs)
mark#(incr(X)) → mark#(X)a__take#(s(N), cons(X, XS)) → mark#(X)
mark#(pair(X1, X2)) → mark#(X1)mark#(take(X1, X2)) → a__take#(mark(X1), mark(X2))
mark#(tail(X)) → mark#(X)mark#(repItems(X)) → a__repItems#(mark(X))
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)mark#(take(X1, X2)) → mark#(X2)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(oddNs) → a__oddNs#mark#(tail(X)) → a__tail#(mark(X))
mark#(s(X)) → mark#(X)a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, take, repItems, incr, a__pairNs, oddNs, nil, cons

Strategy


Polynomial Interpretation

Improved Usable rules

mark(cons(X1, X2)) → cons(mark(X1), X2)mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))mark(oddNs) → a__oddNs
a__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))a__oddNs → oddNs
mark(repItems(X)) → a__repItems(mark(X))a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
mark(nil) → nila__take(X1, X2) → take(X1, X2)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__zip(X, nil) → nil
a__take(0, XS) → nilmark(0) → 0
a__oddNs → a__incr(a__pairNs)a__tail(X) → tail(X)
mark(tail(X)) → a__tail(mark(X))mark(pairNs) → a__pairNs
a__zip(X1, X2) → zip(X1, X2)a__tail(cons(X, XS)) → mark(XS)
mark(incr(X)) → a__incr(mark(X))a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(s(X)) → s(mark(X))a__incr(X) → incr(X)
a__zip(nil, XS) → nila__repItems(nil) → nil
a__pairNs → cons(0, incr(oddNs))a__repItems(X) → repItems(X)
a__pairNs → pairNsmark(take(X1, X2)) → a__take(mark(X1), mark(X2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

mark#(take(X1, X2)) → mark#(X1)mark#(take(X1, X2)) → a__take#(mark(X1), mark(X2))
mark#(take(X1, X2)) → mark#(X2)

Problem 3: DependencyGraph



Dependency Pair Problem

Dependency Pairs

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
a__tail#(cons(X, XS)) → mark#(XS)mark#(incr(X)) → a__incr#(mark(X))
mark#(pair(X1, X2)) → mark#(X2)mark#(cons(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → mark#(X1)mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))
a__oddNs# → a__incr#(a__pairNs)mark#(incr(X)) → mark#(X)
a__take#(s(N), cons(X, XS)) → mark#(X)mark#(pair(X1, X2)) → mark#(X1)
mark#(repItems(X)) → a__repItems#(mark(X))mark#(tail(X)) → mark#(X)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)
a__incr#(cons(X, XS)) → mark#(X)mark#(s(X)) → mark#(X)
mark#(tail(X)) → a__tail#(mark(X))mark#(oddNs) → a__oddNs#
a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, repItems, take, incr, oddNs, a__pairNs, cons, nil

Strategy


The following SCCs where found

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
a__tail#(cons(X, XS)) → mark#(XS)mark#(incr(X)) → a__incr#(mark(X))
mark#(cons(X1, X2)) → mark#(X1)mark#(pair(X1, X2)) → mark#(X2)
mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))mark#(zip(X1, X2)) → mark#(X1)
a__oddNs# → a__incr#(a__pairNs)mark#(incr(X)) → mark#(X)
mark#(pair(X1, X2)) → mark#(X1)mark#(tail(X)) → mark#(X)
mark#(repItems(X)) → a__repItems#(mark(X))a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(s(X)) → mark#(X)mark#(tail(X)) → a__tail#(mark(X))
mark#(oddNs) → a__oddNs#a__repItems#(cons(X, XS)) → mark#(X)

Problem 4: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
a__tail#(cons(X, XS)) → mark#(XS)mark#(incr(X)) → a__incr#(mark(X))
mark#(pair(X1, X2)) → mark#(X2)mark#(cons(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → mark#(X1)mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))
a__oddNs# → a__incr#(a__pairNs)mark#(incr(X)) → mark#(X)
mark#(pair(X1, X2)) → mark#(X1)mark#(repItems(X)) → a__repItems#(mark(X))
mark#(tail(X)) → mark#(X)a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(s(X)) → mark#(X)mark#(tail(X)) → a__tail#(mark(X))
mark#(oddNs) → a__oddNs#a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, repItems, take, incr, oddNs, a__pairNs, cons, nil

Strategy


Polynomial Interpretation

Improved Usable rules

mark(cons(X1, X2)) → cons(mark(X1), X2)mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))mark(oddNs) → a__oddNs
a__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))a__oddNs → oddNs
mark(repItems(X)) → a__repItems(mark(X))a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
mark(nil) → nila__take(X1, X2) → take(X1, X2)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__zip(X, nil) → nil
a__take(0, XS) → nilmark(0) → 0
a__oddNs → a__incr(a__pairNs)a__tail(X) → tail(X)
mark(tail(X)) → a__tail(mark(X))mark(pairNs) → a__pairNs
a__zip(X1, X2) → zip(X1, X2)a__tail(cons(X, XS)) → mark(XS)
mark(incr(X)) → a__incr(mark(X))a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(s(X)) → s(mark(X))a__incr(X) → incr(X)
a__zip(nil, XS) → nila__repItems(nil) → nil
a__pairNs → cons(0, incr(oddNs))a__repItems(X) → repItems(X)
a__pairNs → pairNsmark(take(X1, X2)) → a__take(mark(X1), mark(X2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

a__tail#(cons(X, XS)) → mark#(XS)mark#(tail(X)) → mark#(X)

Problem 5: DependencyGraph



Dependency Pair Problem

Dependency Pairs

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
mark#(incr(X)) → a__incr#(mark(X))mark#(pair(X1, X2)) → mark#(X2)
mark#(cons(X1, X2)) → mark#(X1)mark#(zip(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))a__oddNs# → a__incr#(a__pairNs)
mark#(incr(X)) → mark#(X)mark#(pair(X1, X2)) → mark#(X1)
mark#(repItems(X)) → a__repItems#(mark(X))a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(oddNs) → a__oddNs#mark#(tail(X)) → a__tail#(mark(X))
mark#(s(X)) → mark#(X)a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, take, repItems, incr, a__pairNs, oddNs, nil, cons

Strategy


The following SCCs where found

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
mark#(incr(X)) → a__incr#(mark(X))mark#(cons(X1, X2)) → mark#(X1)
mark#(pair(X1, X2)) → mark#(X2)mark#(zip(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))a__oddNs# → a__incr#(a__pairNs)
mark#(incr(X)) → mark#(X)mark#(pair(X1, X2)) → mark#(X1)
mark#(repItems(X)) → a__repItems#(mark(X))a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(s(X)) → mark#(X)mark#(oddNs) → a__oddNs#
a__repItems#(cons(X, XS)) → mark#(X)

Problem 6: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
mark#(incr(X)) → a__incr#(mark(X))mark#(pair(X1, X2)) → mark#(X2)
mark#(cons(X1, X2)) → mark#(X1)mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))
mark#(zip(X1, X2)) → mark#(X1)a__oddNs# → a__incr#(a__pairNs)
mark#(incr(X)) → mark#(X)mark#(pair(X1, X2)) → mark#(X1)
mark#(repItems(X)) → a__repItems#(mark(X))a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(s(X)) → mark#(X)mark#(oddNs) → a__oddNs#
a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, take, repItems, incr, a__pairNs, oddNs, nil, cons

Strategy


Polynomial Interpretation

Improved Usable rules

mark(cons(X1, X2)) → cons(mark(X1), X2)mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))mark(oddNs) → a__oddNs
a__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))a__oddNs → oddNs
mark(repItems(X)) → a__repItems(mark(X))a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
mark(nil) → nila__take(X1, X2) → take(X1, X2)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__zip(X, nil) → nil
a__take(0, XS) → nilmark(0) → 0
a__oddNs → a__incr(a__pairNs)a__tail(X) → tail(X)
mark(tail(X)) → a__tail(mark(X))mark(pairNs) → a__pairNs
a__zip(X1, X2) → zip(X1, X2)a__tail(cons(X, XS)) → mark(XS)
mark(incr(X)) → a__incr(mark(X))a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(s(X)) → s(mark(X))a__incr(X) → incr(X)
a__zip(nil, XS) → nila__repItems(nil) → nil
a__pairNs → cons(0, incr(oddNs))a__repItems(X) → repItems(X)
a__pairNs → pairNsmark(take(X1, X2)) → a__take(mark(X1), mark(X2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

a__oddNs# → a__incr#(a__pairNs)

Problem 7: DependencyGraph



Dependency Pair Problem

Dependency Pairs

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
mark#(incr(X)) → a__incr#(mark(X))mark#(pair(X1, X2)) → mark#(X2)
mark#(cons(X1, X2)) → mark#(X1)mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))
mark#(zip(X1, X2)) → mark#(X1)mark#(incr(X)) → mark#(X)
mark#(pair(X1, X2)) → mark#(X1)mark#(repItems(X)) → a__repItems#(mark(X))
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)
a__incr#(cons(X, XS)) → mark#(X)mark#(oddNs) → a__oddNs#
mark#(s(X)) → mark#(X)a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, repItems, take, incr, oddNs, a__pairNs, cons, nil

Strategy


The following SCCs where found

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
mark#(incr(X)) → a__incr#(mark(X))mark#(cons(X1, X2)) → mark#(X1)
mark#(pair(X1, X2)) → mark#(X2)mark#(zip(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))mark#(incr(X)) → mark#(X)
mark#(pair(X1, X2)) → mark#(X1)mark#(repItems(X)) → a__repItems#(mark(X))
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)
a__incr#(cons(X, XS)) → mark#(X)mark#(s(X)) → mark#(X)
a__repItems#(cons(X, XS)) → mark#(X)

Problem 8: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

mark#(repItems(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X2)
mark#(incr(X)) → a__incr#(mark(X))mark#(pair(X1, X2)) → mark#(X2)
mark#(cons(X1, X2)) → mark#(X1)mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))
mark#(zip(X1, X2)) → mark#(X1)mark#(incr(X)) → mark#(X)
mark#(pair(X1, X2)) → mark#(X1)mark#(repItems(X)) → a__repItems#(mark(X))
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)
a__incr#(cons(X, XS)) → mark#(X)mark#(s(X)) → mark#(X)
a__repItems#(cons(X, XS)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, repItems, take, incr, oddNs, a__pairNs, cons, nil

Strategy


Polynomial Interpretation

Improved Usable rules

mark(cons(X1, X2)) → cons(mark(X1), X2)mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))mark(oddNs) → a__oddNs
a__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))a__oddNs → oddNs
mark(repItems(X)) → a__repItems(mark(X))a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
mark(nil) → nila__take(X1, X2) → take(X1, X2)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__zip(X, nil) → nil
a__take(0, XS) → nilmark(0) → 0
a__oddNs → a__incr(a__pairNs)a__tail(X) → tail(X)
mark(tail(X)) → a__tail(mark(X))mark(pairNs) → a__pairNs
a__zip(X1, X2) → zip(X1, X2)a__tail(cons(X, XS)) → mark(XS)
mark(incr(X)) → a__incr(mark(X))a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(s(X)) → s(mark(X))a__incr(X) → incr(X)
a__zip(nil, XS) → nila__repItems(nil) → nil
a__pairNs → cons(0, incr(oddNs))a__repItems(X) → repItems(X)
a__pairNs → pairNsmark(take(X1, X2)) → a__take(mark(X1), mark(X2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

mark#(repItems(X)) → mark#(X)mark#(repItems(X)) → a__repItems#(mark(X))
a__repItems#(cons(X, XS)) → mark#(X)

Problem 9: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

mark#(zip(X1, X2)) → mark#(X2)mark#(pair(X1, X2)) → mark#(X1)
mark#(incr(X)) → a__incr#(mark(X))a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)
mark#(cons(X1, X2)) → mark#(X1)mark#(pair(X1, X2)) → mark#(X2)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)a__incr#(cons(X, XS)) → mark#(X)
mark#(s(X)) → mark#(X)mark#(zip(X1, X2)) → mark#(X1)
mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))mark#(incr(X)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, take, repItems, incr, a__pairNs, oddNs, nil, cons

Strategy


Polynomial Interpretation

Improved Usable rules

mark(cons(X1, X2)) → cons(mark(X1), X2)mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))mark(oddNs) → a__oddNs
a__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))a__oddNs → oddNs
mark(repItems(X)) → a__repItems(mark(X))a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
mark(nil) → nila__take(X1, X2) → take(X1, X2)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__zip(X, nil) → nil
a__take(0, XS) → nilmark(0) → 0
a__oddNs → a__incr(a__pairNs)a__tail(X) → tail(X)
mark(tail(X)) → a__tail(mark(X))mark(pairNs) → a__pairNs
a__zip(X1, X2) → zip(X1, X2)a__tail(cons(X, XS)) → mark(XS)
mark(incr(X)) → a__incr(mark(X))a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(s(X)) → s(mark(X))a__incr(X) → incr(X)
a__zip(nil, XS) → nila__repItems(nil) → nil
a__pairNs → cons(0, incr(oddNs))a__repItems(X) → repItems(X)
a__pairNs → pairNsmark(take(X1, X2)) → a__take(mark(X1), mark(X2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

mark#(zip(X1, X2)) → mark#(X2)mark#(zip(X1, X2)) → a__zip#(mark(X1), mark(X2))
mark#(zip(X1, X2)) → mark#(X1)

Problem 10: DependencyGraph



Dependency Pair Problem

Dependency Pairs

mark#(pair(X1, X2)) → mark#(X1)mark#(incr(X)) → a__incr#(mark(X))
mark#(pair(X1, X2)) → mark#(X2)mark#(cons(X1, X2)) → mark#(X1)
a__zip#(cons(X, XS), cons(Y, YS)) → mark#(X)a__zip#(cons(X, XS), cons(Y, YS)) → mark#(Y)
a__incr#(cons(X, XS)) → mark#(X)mark#(s(X)) → mark#(X)
mark#(incr(X)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, repItems, take, incr, oddNs, a__pairNs, cons, nil

Strategy


The following SCCs where found

mark#(pair(X1, X2)) → mark#(X1)mark#(incr(X)) → a__incr#(mark(X))
mark#(cons(X1, X2)) → mark#(X1)mark#(pair(X1, X2)) → mark#(X2)
a__incr#(cons(X, XS)) → mark#(X)mark#(s(X)) → mark#(X)
mark#(incr(X)) → mark#(X)

Problem 11: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

mark#(pair(X1, X2)) → mark#(X1)mark#(incr(X)) → a__incr#(mark(X))
mark#(cons(X1, X2)) → mark#(X1)mark#(pair(X1, X2)) → mark#(X2)
a__incr#(cons(X, XS)) → mark#(X)mark#(s(X)) → mark#(X)
mark#(incr(X)) → mark#(X)

Rewrite Rules

a__pairNs → cons(0, incr(oddNs))a__oddNs → a__incr(a__pairNs)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__take(0, XS) → nil
a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))a__zip(nil, XS) → nil
a__zip(X, nil) → nila__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
a__tail(cons(X, XS)) → mark(XS)a__repItems(nil) → nil
a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))mark(pairNs) → a__pairNs
mark(incr(X)) → a__incr(mark(X))mark(oddNs) → a__oddNs
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))
mark(tail(X)) → a__tail(mark(X))mark(repItems(X)) → a__repItems(mark(X))
mark(cons(X1, X2)) → cons(mark(X1), X2)mark(0) → 0
mark(s(X)) → s(mark(X))mark(nil) → nil
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))a__pairNs → pairNs
a__incr(X) → incr(X)a__oddNs → oddNs
a__take(X1, X2) → take(X1, X2)a__zip(X1, X2) → zip(X1, X2)
a__tail(X) → tail(X)a__repItems(X) → repItems(X)

Original Signature

Termination of terms over the following signature is verified: zip, a__zip, a__take, pair, a__oddNs, mark, tail, a__tail, 0, pairNs, a__incr, s, a__repItems, repItems, take, incr, oddNs, a__pairNs, cons, nil

Strategy


Polynomial Interpretation

Improved Usable rules

mark(cons(X1, X2)) → cons(mark(X1), X2)mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(zip(X1, X2)) → a__zip(mark(X1), mark(X2))mark(oddNs) → a__oddNs
a__zip(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))a__oddNs → oddNs
mark(repItems(X)) → a__repItems(mark(X))a__take(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
mark(nil) → nila__take(X1, X2) → take(X1, X2)
a__incr(cons(X, XS)) → cons(s(mark(X)), incr(XS))a__zip(X, nil) → nil
a__take(0, XS) → nilmark(0) → 0
a__oddNs → a__incr(a__pairNs)a__tail(X) → tail(X)
mark(tail(X)) → a__tail(mark(X))mark(pairNs) → a__pairNs
a__zip(X1, X2) → zip(X1, X2)a__tail(cons(X, XS)) → mark(XS)
mark(incr(X)) → a__incr(mark(X))a__repItems(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(s(X)) → s(mark(X))a__incr(X) → incr(X)
a__zip(nil, XS) → nila__repItems(nil) → nil
a__pairNs → cons(0, incr(oddNs))a__repItems(X) → repItems(X)
a__pairNs → pairNsmark(take(X1, X2)) → a__take(mark(X1), mark(X2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

mark#(pair(X1, X2)) → mark#(X1)mark#(pair(X1, X2)) → mark#(X2)