YES
The TRS could be proven terminating. The proof took 842 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (146ms).
| Problem 2 was processed with processor SubtermCriterion (1ms).
| | Problem 5 was processed with processor SubtermCriterion (1ms).
| | | Problem 6 was processed with processor PolynomialLinearRange4iUR (368ms).
| | | | Problem 7 was processed with processor PolynomialLinearRange4iUR (84ms).
| Problem 3 was processed with processor SubtermCriterion (1ms).
| Problem 4 was processed with processor SubtermCriterion (2ms).
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
a#(l, x, s(y), h) | → | s#(h) | | a#(l, x, s(y), s(z)) | → | s#(y) |
+#(s(x), s(y)) | → | s#(+(x, y)) | | a#(l, s(x), h, z) | → | a#(l, x, z, z) |
a#(l, x, s(y), s(z)) | → | a#(l, x, s(y), z) | | +#(+(x, y), z) | → | +#(y, z) |
a#(l, x, s(y), h) | → | a#(l, x, y, s(h)) | | *#(s(x), s(y)) | → | +#(*(x, y), x) |
+#(s(x), s(y)) | → | +#(x, y) | | *#(s(x), s(y)) | → | s#(+(+(*(x, y), x), y)) |
+#(+(x, y), z) | → | +#(x, +(y, z)) | | a#(h, h, h, x) | → | s#(x) |
a#(s(l), h, h, z) | → | a#(l, z, h, z) | | +#(s(x), s(y)) | → | s#(s(+(x, y))) |
a#(l, x, s(y), s(z)) | → | a#(l, x, y, a(l, x, s(y), z)) | | *#(s(x), s(y)) | → | *#(x, y) |
*#(s(x), s(y)) | → | +#(+(*(x, y), x), y) |
Rewrite Rules
a(h, h, h, x) | → | s(x) | | a(l, x, s(y), h) | → | a(l, x, y, s(h)) |
a(l, x, s(y), s(z)) | → | a(l, x, y, a(l, x, s(y), z)) | | a(l, s(x), h, z) | → | a(l, x, z, z) |
a(s(l), h, h, z) | → | a(l, z, h, z) | | +(x, h) | → | x |
+(h, x) | → | x | | +(s(x), s(y)) | → | s(s(+(x, y))) |
+(+(x, y), z) | → | +(x, +(y, z)) | | s(h) | → | 1 |
*(h, x) | → | h | | *(x, h) | → | h |
*(s(x), s(y)) | → | s(+(+(*(x, y), x), y)) |
Original Signature
Termination of terms over the following signature is verified: 1, s, a, *, +, h
Strategy
The following SCCs where found
*#(s(x), s(y)) → *#(x, y) |
a#(s(l), h, h, z) → a#(l, z, h, z) | a#(l, x, s(y), s(z)) → a#(l, x, y, a(l, x, s(y), z)) |
a#(l, s(x), h, z) → a#(l, x, z, z) | a#(l, x, s(y), s(z)) → a#(l, x, s(y), z) |
a#(l, x, s(y), h) → a#(l, x, y, s(h)) |
+#(+(x, y), z) → +#(y, z) | +#(s(x), s(y)) → +#(x, y) |
+#(+(x, y), z) → +#(x, +(y, z)) |
Problem 2: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
a#(s(l), h, h, z) | → | a#(l, z, h, z) | | a#(l, x, s(y), s(z)) | → | a#(l, x, y, a(l, x, s(y), z)) |
a#(l, s(x), h, z) | → | a#(l, x, z, z) | | a#(l, x, s(y), s(z)) | → | a#(l, x, s(y), z) |
a#(l, x, s(y), h) | → | a#(l, x, y, s(h)) |
Rewrite Rules
a(h, h, h, x) | → | s(x) | | a(l, x, s(y), h) | → | a(l, x, y, s(h)) |
a(l, x, s(y), s(z)) | → | a(l, x, y, a(l, x, s(y), z)) | | a(l, s(x), h, z) | → | a(l, x, z, z) |
a(s(l), h, h, z) | → | a(l, z, h, z) | | +(x, h) | → | x |
+(h, x) | → | x | | +(s(x), s(y)) | → | s(s(+(x, y))) |
+(+(x, y), z) | → | +(x, +(y, z)) | | s(h) | → | 1 |
*(h, x) | → | h | | *(x, h) | → | h |
*(s(x), s(y)) | → | s(+(+(*(x, y), x), y)) |
Original Signature
Termination of terms over the following signature is verified: 1, s, a, *, +, h
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
a#(s(l), h, h, z) | → | a#(l, z, h, z) |
Problem 5: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
a#(l, x, s(y), s(z)) | → | a#(l, x, y, a(l, x, s(y), z)) | | a#(l, s(x), h, z) | → | a#(l, x, z, z) |
a#(l, x, s(y), s(z)) | → | a#(l, x, s(y), z) | | a#(l, x, s(y), h) | → | a#(l, x, y, s(h)) |
Rewrite Rules
a(h, h, h, x) | → | s(x) | | a(l, x, s(y), h) | → | a(l, x, y, s(h)) |
a(l, x, s(y), s(z)) | → | a(l, x, y, a(l, x, s(y), z)) | | a(l, s(x), h, z) | → | a(l, x, z, z) |
a(s(l), h, h, z) | → | a(l, z, h, z) | | +(x, h) | → | x |
+(h, x) | → | x | | +(s(x), s(y)) | → | s(s(+(x, y))) |
+(+(x, y), z) | → | +(x, +(y, z)) | | s(h) | → | 1 |
*(h, x) | → | h | | *(x, h) | → | h |
*(s(x), s(y)) | → | s(+(+(*(x, y), x), y)) |
Original Signature
Termination of terms over the following signature is verified: 1, s, a, *, +, h
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
a#(l, s(x), h, z) | → | a#(l, x, z, z) |
Problem 6: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
a#(l, x, s(y), s(z)) | → | a#(l, x, y, a(l, x, s(y), z)) | | a#(l, x, s(y), s(z)) | → | a#(l, x, s(y), z) |
a#(l, x, s(y), h) | → | a#(l, x, y, s(h)) |
Rewrite Rules
a(h, h, h, x) | → | s(x) | | a(l, x, s(y), h) | → | a(l, x, y, s(h)) |
a(l, x, s(y), s(z)) | → | a(l, x, y, a(l, x, s(y), z)) | | a(l, s(x), h, z) | → | a(l, x, z, z) |
a(s(l), h, h, z) | → | a(l, z, h, z) | | +(x, h) | → | x |
+(h, x) | → | x | | +(s(x), s(y)) | → | s(s(+(x, y))) |
+(+(x, y), z) | → | +(x, +(y, z)) | | s(h) | → | 1 |
*(h, x) | → | h | | *(x, h) | → | h |
*(s(x), s(y)) | → | s(+(+(*(x, y), x), y)) |
Original Signature
Termination of terms over the following signature is verified: 1, s, a, *, +, h
Strategy
Polynomial Interpretation
- *(x,y): 0
- +(x,y): 0
- 1: 0
- a(x1,x2,x3,x4): 0
- a#(x1,x2,x3,x4): x3
- h: 0
- s(x): x + 1
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
a#(l, x, s(y), s(z)) | → | a#(l, x, y, a(l, x, s(y), z)) | | a#(l, x, s(y), h) | → | a#(l, x, y, s(h)) |
Problem 7: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
a#(l, x, s(y), s(z)) | → | a#(l, x, s(y), z) |
Rewrite Rules
a(h, h, h, x) | → | s(x) | | a(l, x, s(y), h) | → | a(l, x, y, s(h)) |
a(l, x, s(y), s(z)) | → | a(l, x, y, a(l, x, s(y), z)) | | a(l, s(x), h, z) | → | a(l, x, z, z) |
a(s(l), h, h, z) | → | a(l, z, h, z) | | +(x, h) | → | x |
+(h, x) | → | x | | +(s(x), s(y)) | → | s(s(+(x, y))) |
+(+(x, y), z) | → | +(x, +(y, z)) | | s(h) | → | 1 |
*(h, x) | → | h | | *(x, h) | → | h |
*(s(x), s(y)) | → | s(+(+(*(x, y), x), y)) |
Original Signature
Termination of terms over the following signature is verified: 1, s, a, *, +, h
Strategy
Polynomial Interpretation
- *(x,y): 0
- +(x,y): 0
- 1: 3
- a(x1,x2,x3,x4): 0
- a#(x1,x2,x3,x4): 2x4 + x2 + x1 + 1
- h: 0
- s(x): x + 1
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
a#(l, x, s(y), s(z)) | → | a#(l, x, s(y), z) |
Problem 3: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
+#(+(x, y), z) | → | +#(y, z) | | +#(s(x), s(y)) | → | +#(x, y) |
+#(+(x, y), z) | → | +#(x, +(y, z)) |
Rewrite Rules
a(h, h, h, x) | → | s(x) | | a(l, x, s(y), h) | → | a(l, x, y, s(h)) |
a(l, x, s(y), s(z)) | → | a(l, x, y, a(l, x, s(y), z)) | | a(l, s(x), h, z) | → | a(l, x, z, z) |
a(s(l), h, h, z) | → | a(l, z, h, z) | | +(x, h) | → | x |
+(h, x) | → | x | | +(s(x), s(y)) | → | s(s(+(x, y))) |
+(+(x, y), z) | → | +(x, +(y, z)) | | s(h) | → | 1 |
*(h, x) | → | h | | *(x, h) | → | h |
*(s(x), s(y)) | → | s(+(+(*(x, y), x), y)) |
Original Signature
Termination of terms over the following signature is verified: 1, s, a, *, +, h
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
+#(+(x, y), z) | → | +#(y, z) | | +#(s(x), s(y)) | → | +#(x, y) |
+#(+(x, y), z) | → | +#(x, +(y, z)) |
Problem 4: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
*#(s(x), s(y)) | → | *#(x, y) |
Rewrite Rules
a(h, h, h, x) | → | s(x) | | a(l, x, s(y), h) | → | a(l, x, y, s(h)) |
a(l, x, s(y), s(z)) | → | a(l, x, y, a(l, x, s(y), z)) | | a(l, s(x), h, z) | → | a(l, x, z, z) |
a(s(l), h, h, z) | → | a(l, z, h, z) | | +(x, h) | → | x |
+(h, x) | → | x | | +(s(x), s(y)) | → | s(s(+(x, y))) |
+(+(x, y), z) | → | +(x, +(y, z)) | | s(h) | → | 1 |
*(h, x) | → | h | | *(x, h) | → | h |
*(s(x), s(y)) | → | s(+(+(*(x, y), x), y)) |
Original Signature
Termination of terms over the following signature is verified: 1, s, a, *, +, h
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
*#(s(x), s(y)) | → | *#(x, y) |