YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (313ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor SubtermCriterion (0ms).
 | – Problem 4 was processed with processor PolynomialLinearRange4iUR (785ms).
 |    | – Problem 9 was processed with processor PolynomialLinearRange4iUR (336ms).
 | – Problem 5 was processed with processor SubtermCriterion (1ms).
 | – Problem 6 was processed with processor SubtermCriterion (3ms).
 | – Problem 7 was processed with processor SubtermCriterion (1ms).
 | – Problem 8 was processed with processor SubtermCriterion (2ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

proper#(cons(X1, X2))proper#(X1)top#(ok(X))top#(active(X))
active#(2nd(X))2nd#(active(X))cons#(mark(X1), X2)cons#(X1, X2)
2nd#(mark(X))2nd#(X)active#(from(X))from#(active(X))
cons#(ok(X1), ok(X2))cons#(X1, X2)from#(mark(X))from#(X)
from#(ok(X))from#(X)top#(ok(X))active#(X)
active#(cons(X1, X2))cons#(active(X1), X2)2nd#(ok(X))2nd#(X)
proper#(2nd(X))proper#(X)active#(from(X))cons#(X, from(s(X)))
proper#(from(X))from#(proper(X))top#(mark(X))proper#(X)
proper#(from(X))proper#(X)active#(2nd(X))active#(X)
top#(mark(X))top#(proper(X))proper#(cons(X1, X2))proper#(X2)
active#(from(X))active#(X)proper#(2nd(X))2nd#(proper(X))
active#(s(X))s#(active(X))s#(ok(X))s#(X)
s#(mark(X))s#(X)active#(from(X))s#(X)
proper#(s(X))proper#(X)proper#(cons(X1, X2))cons#(proper(X1), proper(X2))
active#(s(X))active#(X)proper#(s(X))s#(proper(X))
active#(from(X))from#(s(X))active#(cons(X1, X2))active#(X1)

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


The following SCCs where found

cons#(mark(X1), X2) → cons#(X1, X2)cons#(ok(X1), ok(X2)) → cons#(X1, X2)

proper#(s(X)) → proper#(X)proper#(2nd(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(cons(X1, X2)) → proper#(X2)
proper#(from(X)) → proper#(X)

active#(from(X)) → active#(X)active#(s(X)) → active#(X)
active#(cons(X1, X2)) → active#(X1)active#(2nd(X)) → active#(X)

from#(mark(X)) → from#(X)from#(ok(X)) → from#(X)

top#(mark(X)) → top#(proper(X))top#(ok(X)) → top#(active(X))

s#(mark(X)) → s#(X)s#(ok(X)) → s#(X)

2nd#(ok(X)) → 2nd#(X)2nd#(mark(X)) → 2nd#(X)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

proper#(s(X))proper#(X)proper#(2nd(X))proper#(X)
proper#(cons(X1, X2))proper#(X1)proper#(cons(X1, X2))proper#(X2)
proper#(from(X))proper#(X)

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

proper#(s(X))proper#(X)proper#(2nd(X))proper#(X)
proper#(cons(X1, X2))proper#(X1)proper#(cons(X1, X2))proper#(X2)
proper#(from(X))proper#(X)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

active#(from(X))active#(X)active#(s(X))active#(X)
active#(cons(X1, X2))active#(X1)active#(2nd(X))active#(X)

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

active#(s(X))active#(X)active#(from(X))active#(X)
active#(2nd(X))active#(X)active#(cons(X1, X2))active#(X1)

Problem 4: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

top#(mark(X))top#(proper(X))top#(ok(X))top#(active(X))

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


Polynomial Interpretation

Improved Usable rules

active(s(X))s(active(X))2nd(mark(X))mark(2nd(X))
active(2nd(cons(X, cons(Y, Z))))mark(Y)s(ok(X))ok(s(X))
cons(mark(X1), X2)mark(cons(X1, X2))proper(2nd(X))2nd(proper(X))
from(ok(X))ok(from(X))active(from(X))from(active(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))from(mark(X))mark(from(X))
active(cons(X1, X2))cons(active(X1), X2)s(mark(X))mark(s(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))2nd(ok(X))ok(2nd(X))
proper(s(X))s(proper(X))active(2nd(X))2nd(active(X))
active(from(X))mark(cons(X, from(s(X))))proper(from(X))from(proper(X))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

top#(mark(X))top#(proper(X))

Problem 9: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

top#(ok(X))top#(active(X))

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, ok, mark, proper, from, top, cons

Strategy


Polynomial Interpretation

Improved Usable rules

active(s(X))s(active(X))2nd(mark(X))mark(2nd(X))
active(2nd(cons(X, cons(Y, Z))))mark(Y)s(ok(X))ok(s(X))
cons(mark(X1), X2)mark(cons(X1, X2))from(ok(X))ok(from(X))
active(from(X))from(active(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(mark(X))mark(from(X))active(cons(X1, X2))cons(active(X1), X2)
s(mark(X))mark(s(X))2nd(ok(X))ok(2nd(X))
active(2nd(X))2nd(active(X))active(from(X))mark(cons(X, from(s(X))))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

top#(ok(X))top#(active(X))

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

from#(mark(X))from#(X)from#(ok(X))from#(X)

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

from#(mark(X))from#(X)from#(ok(X))from#(X)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

cons#(mark(X1), X2)cons#(X1, X2)cons#(ok(X1), ok(X2))cons#(X1, X2)

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

cons#(mark(X1), X2)cons#(X1, X2)cons#(ok(X1), ok(X2))cons#(X1, X2)

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

s#(mark(X))s#(X)s#(ok(X))s#(X)

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

s#(mark(X))s#(X)s#(ok(X))s#(X)

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

2nd#(ok(X))2nd#(X)2nd#(mark(X))2nd#(X)

Rewrite Rules

active(2nd(cons(X, cons(Y, Z))))mark(Y)active(from(X))mark(cons(X, from(s(X))))
active(2nd(X))2nd(active(X))active(cons(X1, X2))cons(active(X1), X2)
active(from(X))from(active(X))active(s(X))s(active(X))
2nd(mark(X))mark(2nd(X))cons(mark(X1), X2)mark(cons(X1, X2))
from(mark(X))mark(from(X))s(mark(X))mark(s(X))
proper(2nd(X))2nd(proper(X))proper(cons(X1, X2))cons(proper(X1), proper(X2))
proper(from(X))from(proper(X))proper(s(X))s(proper(X))
2nd(ok(X))ok(2nd(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
from(ok(X))ok(from(X))s(ok(X))ok(s(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 2nd, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

2nd#(ok(X))2nd#(X)2nd#(mark(X))2nd#(X)