YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (17ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4iUR (524ms).
 |    | – Problem 3 was processed with processor PolynomialLinearRange4iUR (499ms).
 |    |    | – Problem 4 was processed with processor PolynomialLinearRange4iUR (157ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

f#(f(x)) → f#(g(f(x), x))f#(f(x)) → f#(x)
f#(f(x)) → f#(h(f(x), f(x)))f#(f(x)) → h#(f(x), f(x))
f#(f(x)) → g#(f(x), x)h#(x, x) → g#(x, 0)

Rewrite Rules

f(f(x)) → f(g(f(x), x))f(f(x)) → f(h(f(x), f(x)))
g(x, y) → yh(x, x) → g(x, 0)

Original Signature

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

Strategy


The following SCCs where found

f#(f(x)) → f#(g(f(x), x))f#(f(x)) → f#(x)
f#(f(x)) → f#(h(f(x), f(x)))

Problem 2: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

f#(f(x)) → f#(g(f(x), x))f#(f(x)) → f#(x)
f#(f(x)) → f#(h(f(x), f(x)))

Rewrite Rules

f(f(x)) → f(g(f(x), x))f(f(x)) → f(h(f(x), f(x)))
g(x, y) → yh(x, x) → g(x, 0)

Original Signature

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

Strategy


Polynomial Interpretation

Improved Usable rules

h(x, x) → g(x, 0)g(x, y) → y

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

f#(f(x)) → f#(x)

Problem 3: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

f#(f(x)) → f#(g(f(x), x))f#(f(x)) → f#(h(f(x), f(x)))

Rewrite Rules

f(f(x)) → f(g(f(x), x))f(f(x)) → f(h(f(x), f(x)))
g(x, y) → yh(x, x) → g(x, 0)

Original Signature

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

Strategy


Polynomial Interpretation

Improved Usable rules

f(f(x)) → f(h(f(x), f(x)))f(f(x)) → f(g(f(x), x))
h(x, x) → g(x, 0)g(x, y) → y

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

f#(f(x)) → f#(g(f(x), x))

Problem 4: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

f#(f(x)) → f#(h(f(x), f(x)))

Rewrite Rules

f(f(x)) → f(g(f(x), x))f(f(x)) → f(h(f(x), f(x)))
g(x, y) → yh(x, x) → g(x, 0)

Original Signature

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

Strategy


Polynomial Interpretation

Improved Usable rules

h(x, x) → g(x, 0)g(x, y) → y

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

f#(f(x)) → f#(h(f(x), f(x)))