YES

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

The following DP Processors were used


Problem 1 was processed with processor PolynomialLinearRange4iUR (297ms).
 | – Problem 2 was processed with processor DependencyGraph (8ms).
 |    | – Problem 3 was processed with processor PolynomialLinearRange4iUR (41ms).

Problem 1: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

a__f#(g(X), Y)a__f#(mark(X), f(g(X), Y))mark#(f(X1, X2))a__f#(mark(X1), X2)
mark#(g(X))mark#(X)a__f#(g(X), Y)mark#(X)
mark#(f(X1, X2))mark#(X1)

Rewrite Rules

a__f(g(X), Y)a__f(mark(X), f(g(X), Y))mark(f(X1, X2))a__f(mark(X1), X2)
mark(g(X))g(mark(X))a__f(X1, X2)f(X1, X2)

Original Signature

Termination of terms over the following signature is verified: f, g, mark, a__f

Strategy


Polynomial Interpretation

Improved Usable rules

a__f(g(X), Y)a__f(mark(X), f(g(X), Y))mark(f(X1, X2))a__f(mark(X1), X2)
a__f(X1, X2)f(X1, X2)mark(g(X))g(mark(X))

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

a__f#(g(X), Y)a__f#(mark(X), f(g(X), Y))mark#(g(X))mark#(X)
a__f#(g(X), Y)mark#(X)

Problem 2: DependencyGraph



Dependency Pair Problem

Dependency Pairs

mark#(f(X1, X2))a__f#(mark(X1), X2)mark#(f(X1, X2))mark#(X1)

Rewrite Rules

a__f(g(X), Y)a__f(mark(X), f(g(X), Y))mark(f(X1, X2))a__f(mark(X1), X2)
mark(g(X))g(mark(X))a__f(X1, X2)f(X1, X2)

Original Signature

Termination of terms over the following signature is verified: f, g, mark, a__f

Strategy


The following SCCs where found

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

Problem 3: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

mark#(f(X1, X2))mark#(X1)

Rewrite Rules

a__f(g(X), Y)a__f(mark(X), f(g(X), Y))mark(f(X1, X2))a__f(mark(X1), X2)
mark(g(X))g(mark(X))a__f(X1, X2)f(X1, X2)

Original Signature

Termination of terms over the following signature is verified: f, g, mark, a__f

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:

mark#(f(X1, X2))mark#(X1)