YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (142ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4iUR (1489ms).
 |    | – Problem 6 was processed with processor DependencyGraph (2ms).
 |    |    | – Problem 7 was processed with processor PolynomialLinearRange4iUR (16ms).
 |    |    |    | – Problem 8 was processed with processor PolynomialLinearRange4iUR (7ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor SubtermCriterion (0ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

f#(s(X), cs(Y, Z)) → a#(Z)d#(s(X)) → s#(s(d(X)))
a#(nt(X)) → a#(X)a#(nf(X1, X2)) → a#(X1)
a#(ns(X)) → a#(X)a#(nf(X1, X2)) → a#(X2)
q#(s(X)) → p#(q(X), d(X))p#(s(X), s(Y)) → s#(p(X, Y))
q#(s(X)) → d#(X)a#(ns(X)) → s#(a(X))
q#(s(X)) → s#(p(q(X), d(X)))q#(s(X)) → q#(X)
a#(nt(X)) → t#(a(X))d#(s(X)) → d#(X)
t#(N) → q#(N)p#(s(X), s(Y)) → p#(X, Y)
p#(s(X), s(Y)) → s#(s(p(X, Y)))a#(nf(X1, X2)) → f#(a(X1), a(X2))
d#(s(X)) → s#(d(X))

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


The following SCCs where found

q#(s(X)) → q#(X)

d#(s(X)) → d#(X)

f#(s(X), cs(Y, Z)) → a#(Z)a#(nt(X)) → a#(X)
a#(nf(X1, X2)) → a#(X1)a#(ns(X)) → a#(X)
a#(nf(X1, X2)) → a#(X2)a#(nf(X1, X2)) → f#(a(X1), a(X2))

p#(s(X), s(Y)) → p#(X, Y)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

q#(s(X)) → q#(X)

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

q#(s(X)) → q#(X)

Problem 3: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

f#(s(X), cs(Y, Z)) → a#(Z)a#(nt(X)) → a#(X)
a#(nf(X1, X2)) → a#(X1)a#(ns(X)) → a#(X)
a#(nf(X1, X2)) → a#(X2)a#(nf(X1, X2)) → f#(a(X1), a(X2))

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


Polynomial Interpretation

Improved Usable rules

t(N) → cs(r(q(N)), nt(ns(N)))a(nf(X1, X2)) → f(a(X1), a(X2))
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
f(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))a(X) → X
s(X) → ns(X)f(0, X) → nil
t(X) → nt(X)a(ns(X)) → s(a(X))

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

f#(s(X), cs(Y, Z)) → a#(Z)a#(nf(X1, X2)) → a#(X1)
a#(nf(X1, X2)) → a#(X2)

Problem 6: DependencyGraph



Dependency Pair Problem

Dependency Pairs

a#(nt(X)) → a#(X)a#(ns(X)) → a#(X)
a#(nf(X1, X2)) → f#(a(X1), a(X2))

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


The following SCCs where found

a#(nt(X)) → a#(X)a#(ns(X)) → a#(X)

Problem 7: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

a#(nt(X)) → a#(X)a#(ns(X)) → a#(X)

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


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:

a#(nt(X)) → a#(X)

Problem 8: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

a#(ns(X)) → a#(X)

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


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:

a#(ns(X)) → a#(X)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

p#(s(X), s(Y)) → p#(X, Y)

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

p#(s(X), s(Y)) → p#(X, Y)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

d#(s(X)) → d#(X)

Rewrite Rules

t(N) → cs(r(q(N)), nt(ns(N)))q(0) → 0
q(s(X)) → s(p(q(X), d(X)))d(0) → 0
d(s(X)) → s(s(d(X)))p(0, X) → X
p(X, 0) → Xp(s(X), s(Y)) → s(s(p(X, Y)))
f(0, X) → nilf(s(X), cs(Y, Z)) → cs(Y, nf(X, a(Z)))
t(X) → nt(X)s(X) → ns(X)
f(X1, X2) → nf(X1, X2)a(nt(X)) → t(a(X))
a(ns(X)) → s(a(X))a(nf(X1, X2)) → f(a(X1), a(X2))
a(X) → X

Original Signature

Termination of terms over the following signature is verified: f, nt, ns, d, a, cs, t, 0, s, r, q, p, nf, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

d#(s(X)) → d#(X)