TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60001 ms.
The following DP Processors were used
Problem 1 was processed with processor PolynomialLinearRange4iUR (1379ms).
| Problem 2 remains open; application of the following processors failed [DependencyGraph (51ms), PolynomialLinearRange4iUR (1568ms), DependencyGraph (4ms), PolynomialLinearRange8NegiUR (timeout), DependencyGraph (8ms), ReductionPairSAT (timeout)].
The following open problems remain:
Open Dependency Pair Problem 2
Dependency Pairs
f#(f(f(a, x), b), b) | → | f#(a, f(f(x, b), b)) | | f#(a, f(a, f(a, f(x, b)))) | → | f#(f(a, f(a, f(a, x))), b) |
f#(a, f(a, f(a, f(x, b)))) | → | f#(a, f(a, f(a, x))) | | f#(f(f(a, x), b), b) | → | f#(f(a, f(f(x, b), b)), b) |
Rewrite Rules
f(a, f(a, f(a, f(x, b)))) | → | f(f(a, f(a, f(a, x))), b) | | f(f(f(a, x), b), b) | → | f(f(a, f(f(x, b), b)), b) |
Original Signature
Termination of terms over the following signature is verified: f, b, a
Problem 1: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
f#(f(f(a, x), b), b) | → | f#(a, f(f(x, b), b)) | | f#(a, f(a, f(a, f(x, b)))) | → | f#(a, f(a, x)) |
f#(a, f(a, f(a, f(x, b)))) | → | f#(f(a, f(a, f(a, x))), b) | | f#(a, f(a, f(a, f(x, b)))) | → | f#(a, f(a, f(a, x))) |
f#(f(f(a, x), b), b) | → | f#(f(a, f(f(x, b), b)), b) | | f#(f(f(a, x), b), b) | → | f#(x, b) |
f#(f(f(a, x), b), b) | → | f#(f(x, b), b) | | f#(a, f(a, f(a, f(x, b)))) | → | f#(a, x) |
Rewrite Rules
f(a, f(a, f(a, f(x, b)))) | → | f(f(a, f(a, f(a, x))), b) | | f(f(f(a, x), b), b) | → | f(f(a, f(f(x, b), b)), b) |
Original Signature
Termination of terms over the following signature is verified: f, b, a
Strategy
Polynomial Interpretation
- a: 1
- b: 0
- f(x,y): y + x
- f#(x,y): y + x
Improved Usable rules
f(f(f(a, x), b), b) | → | f(f(a, f(f(x, b), b)), b) | | f(a, f(a, f(a, f(x, b)))) | → | f(f(a, f(a, f(a, x))), b) |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
f#(a, f(a, f(a, f(x, b)))) | → | f#(a, f(a, x)) | | f#(f(f(a, x), b), b) | → | f#(x, b) |
f#(f(f(a, x), b), b) | → | f#(f(x, b), b) | | f#(a, f(a, f(a, f(x, b)))) | → | f#(a, x) |