YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (11ms).
 | – Problem 2 was processed with processor SubtermCriterion (0ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4iUR (180ms).
 | – Problem 4 was processed with processor SubtermCriterion (0ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

h#(cons(X, Y))h#(g(cons(X, Y)))f#(s(X))f#(X)
h#(cons(X, Y))g#(cons(X, Y))g#(cons(0, Y))g#(Y)

Rewrite Rules

f(s(X))f(X)g(cons(0, Y))g(Y)
g(cons(s(X), Y))s(X)h(cons(X, Y))h(g(cons(X, Y)))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, h, cons

Strategy


The following SCCs where found

h#(cons(X, Y)) → h#(g(cons(X, Y)))

f#(s(X)) → f#(X)

g#(cons(0, Y)) → g#(Y)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

g#(cons(0, Y))g#(Y)

Rewrite Rules

f(s(X))f(X)g(cons(0, Y))g(Y)
g(cons(s(X), Y))s(X)h(cons(X, Y))h(g(cons(X, Y)))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, h, cons

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

g#(cons(0, Y))g#(Y)

Problem 3: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

h#(cons(X, Y))h#(g(cons(X, Y)))

Rewrite Rules

f(s(X))f(X)g(cons(0, Y))g(Y)
g(cons(s(X), Y))s(X)h(cons(X, Y))h(g(cons(X, Y)))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, h, cons

Strategy


Polynomial Interpretation

Improved Usable rules

g(cons(s(X), Y))s(X)g(cons(0, Y))g(Y)

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

h#(cons(X, Y))h#(g(cons(X, Y)))

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

f#(s(X))f#(X)

Rewrite Rules

f(s(X))f(X)g(cons(0, Y))g(Y)
g(cons(s(X), Y))s(X)h(cons(X, Y))h(g(cons(X, Y)))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, h, cons

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

f#(s(X))f#(X)