YES
 
The TRS could be proven terminating. The proof took 772 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (28ms).
 |  Problem 2 was processed with processor PolynomialLinearRange4iUR (280ms).
 |    |  Problem 3 was processed with processor PolynomialLinearRange4iUR (152ms).
 Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
| a#(a(x, y), z) | → | a#(y, z) |  | a#(lambda(x), y) | → | lambda#(a(x, a(y, t))) | 
| a#(lambda(x), y) | → | lambda#(a(x, 1)) |  | a#(a(x, y), z) | → | a#(x, a(y, z)) | 
| a#(lambda(x), y) | → | a#(y, t) |  | a#(lambda(x), y) | → | a#(x, 1) | 
| a#(lambda(x), y) | → | a#(x, a(y, t)) | 
Rewrite Rules
| a(lambda(x), y) | → | lambda(a(x, 1)) |  | a(lambda(x), y) | → | lambda(a(x, a(y, t))) | 
| a(a(x, y), z) | → | a(x, a(y, z)) |  | lambda(x) | → | x | 
| a(x, y) | → | x |  | a(x, y) | → | y | 
Original Signature
Termination of terms over the following signature is verified: lambda, 1, t, a
Strategy
The following SCCs where found
| a#(a(x, y), z) → a#(y, z) | a#(a(x, y), z) → a#(x, a(y, z)) | 
| a#(lambda(x), y) → a#(y, t) | a#(lambda(x), y) → a#(x, 1) | 
| a#(lambda(x), y) → a#(x, a(y, t)) | 
 
 Problem 2: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
| a#(a(x, y), z) | → | a#(y, z) |  | a#(a(x, y), z) | → | a#(x, a(y, z)) | 
| a#(lambda(x), y) | → | a#(y, t) |  | a#(lambda(x), y) | → | a#(x, 1) | 
| a#(lambda(x), y) | → | a#(x, a(y, t)) | 
Rewrite Rules
| a(lambda(x), y) | → | lambda(a(x, 1)) |  | a(lambda(x), y) | → | lambda(a(x, a(y, t))) | 
| a(a(x, y), z) | → | a(x, a(y, z)) |  | lambda(x) | → | x | 
| a(x, y) | → | x |  | a(x, y) | → | y | 
Original Signature
Termination of terms over the following signature is verified: lambda, 1, t, a
Strategy
Polynomial Interpretation
- 1: 0
- a(x,y): y + x
- a#(x,y): 2y + 2x
- lambda(x): x + 1
- t: 0
Improved Usable rules
| a(lambda(x), y) | → | lambda(a(x, 1)) |  | a(x, y) | → | y | 
| lambda(x) | → | x |  | a(lambda(x), y) | → | lambda(a(x, a(y, t))) | 
| a(x, y) | → | x |  | a(a(x, y), z) | → | a(x, a(y, z)) | 
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
| a#(lambda(x), y) | → | a#(y, t) |  | a#(lambda(x), y) | → | a#(x, 1) | 
| a#(lambda(x), y) | → | a#(x, a(y, t)) | 
 
 Problem 3: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
| a#(a(x, y), z) | → | a#(y, z) |  | a#(a(x, y), z) | → | a#(x, a(y, z)) | 
Rewrite Rules
| a(lambda(x), y) | → | lambda(a(x, 1)) |  | a(lambda(x), y) | → | lambda(a(x, a(y, t))) | 
| a(a(x, y), z) | → | a(x, a(y, z)) |  | lambda(x) | → | x | 
| a(x, y) | → | x |  | a(x, y) | → | y | 
Original Signature
Termination of terms over the following signature is verified: lambda, 1, t, a
Strategy
Polynomial Interpretation
- 1: 0
- a(x,y): 2y + 2x + 1
- a#(x,y): 2x
- lambda(x): 1
- t: 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
| a#(a(x, y), z) | → | a#(y, z) |  | a#(a(x, y), z) | → | a#(x, a(y, z)) |