YES
The TRS could be proven terminating. The proof took 187 ms.
Problem 1 was processed with processor DependencyGraph (7ms). |  Problem 2 was processed with processor PolynomialLinearRange4 (65ms). | |  Problem 4 was processed with processor DependencyGraph (0ms). |  Problem 3 was processed with processor PolynomialLinearRange4 (35ms). | |  Problem 5 was processed with processor PolynomialLinearRange4 (9ms).
| T(s(x_1)) | → | T(x_1) | T(from(x_1)) | → | T(x_1) | |
| length1#(X) | → | length#(X) | length#(cons(X, Y)) | → | length1#(Y) | |
| T(from(s(X))) | → | from#(s(X)) | 
| from(X) | → | cons(X, from(s(X))) | length(nil) | → | 0 | |
| length(cons(X, Y)) | → | s(length1(Y)) | length1(X) | → | length(X) | 
Termination of terms over the following signature is verified: 0, s, length, from, length1, cons, nil
Context-sensitive strategy:
μ(T) = μ(0) = μ(length#) = μ(length) = μ(length1) = μ(length1#) = μ(nil) = ∅
μ(from#) = μ(s) = μ(from) = μ(cons) = {1}
| T(s(x_1)) → T(x_1) | T(from(x_1)) → T(x_1) | 
| length1#(X) → length#(X) | length#(cons(X, Y)) → length1#(Y) | 
| length1#(X) | → | length#(X) | length#(cons(X, Y)) | → | length1#(Y) | 
| from(X) | → | cons(X, from(s(X))) | length(nil) | → | 0 | |
| length(cons(X, Y)) | → | s(length1(Y)) | length1(X) | → | length(X) | 
Termination of terms over the following signature is verified: 0, s, length, from, length1, cons, nil
Context-sensitive strategy:
μ(T) = μ(0) = μ(length#) = μ(length) = μ(length1) = μ(length1#) = μ(nil) = ∅
μ(s) = μ(from#) = μ(from) = μ(cons) = {1}
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
| length1#(X) | → | length#(X) | 
| length#(cons(X, Y)) | → | length1#(Y) | 
| from(X) | → | cons(X, from(s(X))) | length(nil) | → | 0 | |
| length(cons(X, Y)) | → | s(length1(Y)) | length1(X) | → | length(X) | 
Termination of terms over the following signature is verified: 0, s, length, length1, from, nil, cons
Context-sensitive strategy:
μ(T) = μ(0) = μ(length#) = μ(length) = μ(length1) = μ(length1#) = μ(nil) = ∅
μ(from#) = μ(s) = μ(from) = μ(cons) = {1}
| T(s(x_1)) | → | T(x_1) | T(from(x_1)) | → | T(x_1) | 
| from(X) | → | cons(X, from(s(X))) | length(nil) | → | 0 | |
| length(cons(X, Y)) | → | s(length1(Y)) | length1(X) | → | length(X) | 
Termination of terms over the following signature is verified: 0, s, length, from, length1, cons, nil
Context-sensitive strategy:
μ(T) = μ(0) = μ(length#) = μ(length) = μ(length1) = μ(length1#) = μ(nil) = ∅
μ(s) = μ(from#) = μ(from) = μ(cons) = {1}
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
| T(s(x_1)) | → | T(x_1) | 
| T(from(x_1)) | → | T(x_1) | 
| from(X) | → | cons(X, from(s(X))) | length(nil) | → | 0 | |
| length(cons(X, Y)) | → | s(length1(Y)) | length1(X) | → | length(X) | 
Termination of terms over the following signature is verified: 0, s, length, length1, from, nil, cons
Context-sensitive strategy:
μ(T) = μ(0) = μ(length#) = μ(length) = μ(length1) = μ(length1#) = μ(nil) = ∅
μ(from#) = μ(s) = μ(from) = μ(cons) = {1}
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
| T(from(x_1)) | → | T(x_1) |