YES
The TRS could be proven terminating. The proof took 798 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (78ms).
| Problem 2 was processed with processor PolynomialLinearRange4iUR (170ms).
| | Problem 4 was processed with processor DependencyGraph (1ms).
| Problem 3 was processed with processor PolynomialLinearRange4iUR (117ms).
| | Problem 5 was processed with processor DependencyGraph (36ms).
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
U12#(tt, M, N) | → | activate#(M) | | U11#(tt, M, N) | → | U12#(tt, activate(M), activate(N)) |
U11#(tt, M, N) | → | activate#(M) | | x#(N, s(M)) | → | U21#(tt, M, N) |
U21#(tt, M, N) | → | activate#(N) | | U22#(tt, M, N) | → | x#(activate(N), activate(M)) |
U12#(tt, M, N) | → | activate#(N) | | U22#(tt, M, N) | → | plus#(x(activate(N), activate(M)), activate(N)) |
U22#(tt, M, N) | → | activate#(M) | | U12#(tt, M, N) | → | plus#(activate(N), activate(M)) |
U21#(tt, M, N) | → | activate#(M) | | U22#(tt, M, N) | → | activate#(N) |
U21#(tt, M, N) | → | U22#(tt, activate(M), activate(N)) | | U11#(tt, M, N) | → | activate#(N) |
plus#(N, s(M)) | → | U11#(tt, M, N) |
Rewrite Rules
U11(tt, M, N) | → | U12(tt, activate(M), activate(N)) | | U12(tt, M, N) | → | s(plus(activate(N), activate(M))) |
U21(tt, M, N) | → | U22(tt, activate(M), activate(N)) | | U22(tt, M, N) | → | plus(x(activate(N), activate(M)), activate(N)) |
plus(N, 0) | → | N | | plus(N, s(M)) | → | U11(tt, M, N) |
x(N, 0) | → | 0 | | x(N, s(M)) | → | U21(tt, M, N) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: activate, plus, 0, s, tt, U11, U12, U21, U22, x
Strategy
The following SCCs where found
U22#(tt, M, N) → x#(activate(N), activate(M)) | U21#(tt, M, N) → U22#(tt, activate(M), activate(N)) |
x#(N, s(M)) → U21#(tt, M, N) |
U12#(tt, M, N) → plus#(activate(N), activate(M)) | U11#(tt, M, N) → U12#(tt, activate(M), activate(N)) |
plus#(N, s(M)) → U11#(tt, M, N) |
Problem 2: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
U12#(tt, M, N) | → | plus#(activate(N), activate(M)) | | U11#(tt, M, N) | → | U12#(tt, activate(M), activate(N)) |
plus#(N, s(M)) | → | U11#(tt, M, N) |
Rewrite Rules
U11(tt, M, N) | → | U12(tt, activate(M), activate(N)) | | U12(tt, M, N) | → | s(plus(activate(N), activate(M))) |
U21(tt, M, N) | → | U22(tt, activate(M), activate(N)) | | U22(tt, M, N) | → | plus(x(activate(N), activate(M)), activate(N)) |
plus(N, 0) | → | N | | plus(N, s(M)) | → | U11(tt, M, N) |
x(N, 0) | → | 0 | | x(N, s(M)) | → | U21(tt, M, N) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: activate, plus, 0, s, tt, U11, U12, U21, U22, x
Strategy
Polynomial Interpretation
- 0: 0
- U11(x,y,z): 0
- U11#(x,y,z): 2z + 2y
- U12(x,y,z): 0
- U12#(x,y,z): 2z + 2y
- U21(x,y,z): 0
- U22(x,y,z): 0
- activate(x): x
- plus(x,y): 0
- plus#(x,y): 2y + 2x
- s(x): x + 1
- tt: 0
- x(x,y): 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
plus#(N, s(M)) | → | U11#(tt, M, N) |
Problem 4: DependencyGraph
Dependency Pair Problem
Dependency Pairs
U12#(tt, M, N) | → | plus#(activate(N), activate(M)) | | U11#(tt, M, N) | → | U12#(tt, activate(M), activate(N)) |
Rewrite Rules
U11(tt, M, N) | → | U12(tt, activate(M), activate(N)) | | U12(tt, M, N) | → | s(plus(activate(N), activate(M))) |
U21(tt, M, N) | → | U22(tt, activate(M), activate(N)) | | U22(tt, M, N) | → | plus(x(activate(N), activate(M)), activate(N)) |
plus(N, 0) | → | N | | plus(N, s(M)) | → | U11(tt, M, N) |
x(N, 0) | → | 0 | | x(N, s(M)) | → | U21(tt, M, N) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: activate, plus, 0, s, tt, U11, U12, U21, x, U22
Strategy
There are no SCCs!
Problem 3: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
U22#(tt, M, N) | → | x#(activate(N), activate(M)) | | U21#(tt, M, N) | → | U22#(tt, activate(M), activate(N)) |
x#(N, s(M)) | → | U21#(tt, M, N) |
Rewrite Rules
U11(tt, M, N) | → | U12(tt, activate(M), activate(N)) | | U12(tt, M, N) | → | s(plus(activate(N), activate(M))) |
U21(tt, M, N) | → | U22(tt, activate(M), activate(N)) | | U22(tt, M, N) | → | plus(x(activate(N), activate(M)), activate(N)) |
plus(N, 0) | → | N | | plus(N, s(M)) | → | U11(tt, M, N) |
x(N, 0) | → | 0 | | x(N, s(M)) | → | U21(tt, M, N) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: activate, plus, 0, s, tt, U11, U12, U21, U22, x
Strategy
Polynomial Interpretation
- 0: 0
- U11(x,y,z): 0
- U12(x,y,z): 0
- U21(x,y,z): 0
- U21#(x,y,z): 3y
- U22(x,y,z): 0
- U22#(x,y,z): 2y
- activate(x): x
- plus(x,y): 0
- s(x): 3x + 1
- tt: 0
- x(x,y): 0
- x#(x,y): 2y
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
x#(N, s(M)) | → | U21#(tt, M, N) |
Problem 5: DependencyGraph
Dependency Pair Problem
Dependency Pairs
U22#(tt, M, N) | → | x#(activate(N), activate(M)) | | U21#(tt, M, N) | → | U22#(tt, activate(M), activate(N)) |
Rewrite Rules
U11(tt, M, N) | → | U12(tt, activate(M), activate(N)) | | U12(tt, M, N) | → | s(plus(activate(N), activate(M))) |
U21(tt, M, N) | → | U22(tt, activate(M), activate(N)) | | U22(tt, M, N) | → | plus(x(activate(N), activate(M)), activate(N)) |
plus(N, 0) | → | N | | plus(N, s(M)) | → | U11(tt, M, N) |
x(N, 0) | → | 0 | | x(N, s(M)) | → | U21(tt, M, N) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: activate, plus, 0, s, tt, U11, U12, U21, x, U22
Strategy
There are no SCCs!