YES
The TRS could be proven terminating. The proof took 717 ms.
The following DP Processors were used
Problem 1 was processed with processor PolynomialLinearRange4iUR (414ms).
| Problem 2 was processed with processor PolynomialLinearRange4iUR (165ms).
Problem 1: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
plus#(s(X1), plus(X2, plus(X3, X4))) | → | plus#(X1, plus(X3, plus(X2, X4))) | | plus#(s(X1), plus(X2, plus(X3, X4))) | → | plus#(X3, plus(X2, X4)) |
plus#(s(X), plus(Y, Z)) | → | plus#(X, plus(s(s(Y)), Z)) | | plus#(s(X1), plus(X2, plus(X3, X4))) | → | plus#(X2, X4) |
plus#(s(X), plus(Y, Z)) | → | plus#(s(s(Y)), Z) |
Rewrite Rules
plus(s(X), plus(Y, Z)) | → | plus(X, plus(s(s(Y)), Z)) | | plus(s(X1), plus(X2, plus(X3, X4))) | → | plus(X1, plus(X3, plus(X2, X4))) |
Original Signature
Termination of terms over the following signature is verified: plus, s
Strategy
Polynomial Interpretation
- plus(x,y): y + 1
- plus#(x,y): y
- s(x): 0
Improved Usable rules
plus(s(X), plus(Y, Z)) | → | plus(X, plus(s(s(Y)), Z)) | | plus(s(X1), plus(X2, plus(X3, X4))) | → | plus(X1, plus(X3, plus(X2, X4))) |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
plus#(s(X1), plus(X2, plus(X3, X4))) | → | plus#(X3, plus(X2, X4)) | | plus#(s(X1), plus(X2, plus(X3, X4))) | → | plus#(X2, X4) |
plus#(s(X), plus(Y, Z)) | → | plus#(s(s(Y)), Z) |
Problem 2: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
plus#(s(X1), plus(X2, plus(X3, X4))) | → | plus#(X1, plus(X3, plus(X2, X4))) | | plus#(s(X), plus(Y, Z)) | → | plus#(X, plus(s(s(Y)), Z)) |
Rewrite Rules
plus(s(X), plus(Y, Z)) | → | plus(X, plus(s(s(Y)), Z)) | | plus(s(X1), plus(X2, plus(X3, X4))) | → | plus(X1, plus(X3, plus(X2, X4))) |
Original Signature
Termination of terms over the following signature is verified: plus, s
Strategy
Polynomial Interpretation
- plus(x,y): 0
- plus#(x,y): x
- s(x): 2x + 1
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
plus#(s(X1), plus(X2, plus(X3, X4))) | → | plus#(X1, plus(X3, plus(X2, X4))) | | plus#(s(X), plus(Y, Z)) | → | plus#(X, plus(s(s(Y)), Z)) |