YES

The TRS could be proven terminating. The proof took 101 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (18ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (51ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

T(incr(nats)) → incr#(nats)T(nats) → nats#
odds# → pairs#T(incr(x_1)) → T(x_1)
tail#(cons(X, XS)) → T(XS)T(incr(odds)) → incr#(odds)
T(incr(XS)) → incr#(XS)odds# → incr#(pairs)
T(odds) → odds#

Rewrite Rules

nats → cons(0, incr(nats))pairs → cons(0, incr(odds))
odds → incr(pairs)incr(cons(X, XS)) → cons(s(X), incr(XS))
head(cons(X, XS)) → Xtail(cons(X, XS)) → XS

Original Signature

Termination of terms over the following signature is verified: nats, 0, pairs, s, incr, head, odds, tail, cons

Strategy

Context-sensitive strategy:
μ(pairs) = μ(odds#) = μ(odds) = μ(T) = μ(nats) = μ(0) = μ(nats#) = μ(nil) = μ(pairs#) = ∅
μ(incr#) = μ(tail#) = μ(tail) = μ(s) = μ(head#) = μ(incr) = μ(head) = μ(cons) = {1}


The following SCCs where found

T(incr(x_1)) → T(x_1)

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(incr(x_1)) → T(x_1)

Rewrite Rules

nats → cons(0, incr(nats))pairs → cons(0, incr(odds))
odds → incr(pairs)incr(cons(X, XS)) → cons(s(X), incr(XS))
head(cons(X, XS)) → Xtail(cons(X, XS)) → XS

Original Signature

Termination of terms over the following signature is verified: nats, 0, pairs, s, incr, head, odds, tail, cons

Strategy

Context-sensitive strategy:
μ(pairs) = μ(odds#) = μ(odds) = μ(T) = μ(nats) = μ(0) = μ(nats#) = μ(pairs#) = μ(nil) = ∅
μ(incr#) = μ(tail#) = μ(tail) = μ(s) = μ(head#) = μ(incr) = μ(head) = μ(cons) = {1}


Polynomial Interpretation

There are no usable rules

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

T(incr(x_1)) → T(x_1)