YES
The TRS could be proven terminating. The proof took 391 ms.
Problem 1 was processed with processor DependencyGraph (8ms). | Problem 2 was processed with processor PolynomialLinearRange4 (69ms). | | Problem 4 was processed with processor PolynomialLinearRange4 (119ms). | Problem 3 was processed with processor PolynomialLinearRange4 (85ms).
after#(s(N), cons(X, XS)) | → | T(XS) | T(s(x_1)) | → | T(x_1) | |
T(from(x_1)) | → | T(x_1) | T(from(s(X))) | → | from#(s(X)) | |
after#(s(N), cons(X, XS)) | → | after#(N, XS) |
from(X) | → | cons(X, from(s(X))) | after(0, XS) | → | XS | |
after(s(N), cons(X, XS)) | → | after(N, XS) |
Termination of terms over the following signature is verified: after, 0, s, from, cons
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(from#) = μ(s) = μ(from) = μ(cons) = {1}
μ(after) = μ(after#) = {1, 2}
T(s(x_1)) → T(x_1) | T(from(x_1)) → T(x_1) |
after#(s(N), cons(X, XS)) → after#(N, XS) |
T(s(x_1)) | → | T(x_1) | T(from(x_1)) | → | T(x_1) |
from(X) | → | cons(X, from(s(X))) | after(0, XS) | → | XS | |
after(s(N), cons(X, XS)) | → | after(N, XS) |
Termination of terms over the following signature is verified: after, 0, s, from, cons
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(s) = μ(from#) = μ(from) = μ(cons) = {1}
μ(after) = μ(after#) = {1, 2}
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))) | after(0, XS) | → | XS | |
after(s(N), cons(X, XS)) | → | after(N, XS) |
Termination of terms over the following signature is verified: after, 0, s, from, cons
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(from#) = μ(s) = μ(from) = μ(cons) = {1}
μ(after) = μ(after#) = {1, 2}
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) |
after#(s(N), cons(X, XS)) | → | after#(N, XS) |
from(X) | → | cons(X, from(s(X))) | after(0, XS) | → | XS | |
after(s(N), cons(X, XS)) | → | after(N, XS) |
Termination of terms over the following signature is verified: after, 0, s, from, cons
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(s) = μ(from#) = μ(from) = μ(cons) = {1}
μ(after) = μ(after#) = {1, 2}
from(X) | → | cons(X, from(s(X))) | after(s(N), cons(X, XS)) | → | after(N, XS) | |
after(0, XS) | → | XS |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
after#(s(N), cons(X, XS)) | → | after#(N, XS) |