YES

The TRS could be proven terminating. The proof took 20 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (5ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

after#(s(N), cons(X, XS)) → after#(N, activate(XS))after#(s(N), cons(X, XS)) → activate#(XS)
activate#(n__from(X)) → from#(X)

Rewrite Rules

from(X) → cons(X, n__from(s(X)))after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))from(X) → n__from(X)
activate(n__from(X)) → from(X)activate(X) → X

Original Signature

Termination of terms over the following signature is verified: after, activate, 0, s, n__from, from, cons

Strategy


The following SCCs where found

after#(s(N), cons(X, XS)) → after#(N, activate(XS))

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

after#(s(N), cons(X, XS)) → after#(N, activate(XS))

Rewrite Rules

from(X) → cons(X, n__from(s(X)))after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))from(X) → n__from(X)
activate(n__from(X)) → from(X)activate(X) → X

Original Signature

Termination of terms over the following signature is verified: after, activate, 0, s, n__from, from, cons

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

after#(s(N), cons(X, XS)) → after#(N, activate(XS))