YES
The TRS could be proven terminating. The proof took 19 ms.
Problem 1 was processed with processor DependencyGraph (7ms). | Problem 2 was processed with processor SubtermCriterion (1ms).
copy#(0, y, z) | → | f#(z) | f#(cons(f(cons(nil, y)), z)) | → | copy#(n, y, z) | |
copy#(s(x), y, z) | → | f#(y) | copy#(s(x), y, z) | → | copy#(x, y, cons(f(y), z)) |
f(cons(nil, y)) | → | y | f(cons(f(cons(nil, y)), z)) | → | copy(n, y, z) | |
copy(0, y, z) | → | f(z) | copy(s(x), y, z) | → | copy(x, y, cons(f(y), z)) |
Termination of terms over the following signature is verified: f, 0, s, n, nil, cons, copy
copy#(s(x), y, z) → copy#(x, y, cons(f(y), z)) |
copy#(s(x), y, z) | → | copy#(x, y, cons(f(y), z)) |
f(cons(nil, y)) | → | y | f(cons(f(cons(nil, y)), z)) | → | copy(n, y, z) | |
copy(0, y, z) | → | f(z) | copy(s(x), y, z) | → | copy(x, y, cons(f(y), z)) |
Termination of terms over the following signature is verified: f, 0, s, n, nil, cons, copy
The following projection was used:
Thus, the following dependency pairs are removed:
copy#(s(x), y, z) | → | copy#(x, y, cons(f(y), z)) |