YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (509ms).
 | – Problem 2 was processed with processor SubtermCriterion (2ms).
 |    | – Problem 7 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor SubtermCriterion (2ms).
 |    | – Problem 8 was processed with processor SubtermCriterion (0ms).
 |    |    | – Problem 10 was processed with processor PolynomialLinearRange4 (36ms).
 | – Problem 4 was processed with processor SubtermCriterion (2ms).
 |    | – Problem 9 was processed with processor SubtermCriterion (0ms).
 |    |    | – Problem 11 was processed with processor PolynomialLinearRange4 (15ms).
 | – Problem 5 was processed with processor PolynomialLinearRange4 (186ms).
 |    | – Problem 12 was processed with processor PolynomialLinearRange4 (181ms).
 |    |    | – Problem 13 was processed with processor PolynomialLinearRange4 (305ms).
 |    |    |    | – Problem 14 was processed with processor PolynomialLinearRange4 (152ms).
 |    |    |    |    | – Problem 15 was processed with processor PolynomialLinearRange4 (119ms).
 |    |    |    |    |    | – Problem 16 was processed with processor PolynomialLinearRange4 (130ms).
 |    |    |    |    |    |    | – Problem 17 was processed with processor PolynomialLinearRange4 (136ms).
 |    |    |    |    |    |    |    | – Problem 18 was processed with processor PolynomialLinearRange4 (104ms).
 |    |    |    |    |    |    |    |    | – Problem 19 was processed with processor PolynomialLinearRange4 (81ms).
 |    |    |    |    |    |    |    |    |    | – Problem 20 was processed with processor DependencyGraph (0ms).
 | – Problem 6 was processed with processor SubtermCriterion (1ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

active#(U11(tt, M, N)) → mark#(U12(tt, M, N))mark#(tt) → active#(tt)
U12#(X1, mark(X2), X3) → U12#(X1, X2, X3)active#(plus(N, s(M))) → mark#(U11(tt, M, N))
mark#(U11(X1, X2, X3)) → U11#(mark(X1), X2, X3)mark#(s(X)) → s#(mark(X))
active#(U12(tt, M, N)) → mark#(s(plus(N, M)))mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))
U11#(X1, X2, mark(X3)) → U11#(X1, X2, X3)mark#(plus(X1, X2)) → mark#(X2)
U12#(active(X1), X2, X3) → U12#(X1, X2, X3)U11#(active(X1), X2, X3) → U11#(X1, X2, X3)
plus#(X1, mark(X2)) → plus#(X1, X2)mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))
mark#(s(X)) → mark#(X)mark#(U12(X1, X2, X3)) → mark#(X1)
mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))mark#(0) → active#(0)
mark#(s(X)) → active#(s(mark(X)))U12#(X1, X2, active(X3)) → U12#(X1, X2, X3)
U12#(mark(X1), X2, X3) → U12#(X1, X2, X3)U11#(X1, active(X2), X3) → U11#(X1, X2, X3)
active#(plus(N, 0)) → mark#(N)active#(U12(tt, M, N)) → plus#(N, M)
U11#(mark(X1), X2, X3) → U11#(X1, X2, X3)mark#(plus(X1, X2)) → plus#(mark(X1), mark(X2))
mark#(plus(X1, X2)) → mark#(X1)mark#(U12(X1, X2, X3)) → U12#(mark(X1), X2, X3)
s#(mark(X)) → s#(X)active#(U11(tt, M, N)) → U12#(tt, M, N)
U12#(X1, active(X2), X3) → U12#(X1, X2, X3)active#(U12(tt, M, N)) → s#(plus(N, M))
U12#(X1, X2, mark(X3)) → U12#(X1, X2, X3)plus#(X1, active(X2)) → plus#(X1, X2)
U11#(X1, mark(X2), X3) → U11#(X1, X2, X3)active#(plus(N, s(M))) → U11#(tt, M, N)
s#(active(X)) → s#(X)U11#(X1, X2, active(X3)) → U11#(X1, X2, X3)
plus#(mark(X1), X2) → plus#(X1, X2)mark#(U11(X1, X2, X3)) → mark#(X1)
plus#(active(X1), X2) → plus#(X1, X2)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


The following SCCs where found

mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))mark#(s(X)) → active#(s(mark(X)))
active#(U11(tt, M, N)) → mark#(U12(tt, M, N))active#(plus(N, 0)) → mark#(N)
active#(plus(N, s(M))) → mark#(U11(tt, M, N))active#(U12(tt, M, N)) → mark#(s(plus(N, M)))
mark#(plus(X1, X2)) → mark#(X1)mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))
mark#(plus(X1, X2)) → mark#(X2)mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))
mark#(s(X)) → mark#(X)mark#(U12(X1, X2, X3)) → mark#(X1)
mark#(U11(X1, X2, X3)) → mark#(X1)

s#(mark(X)) → s#(X)s#(active(X)) → s#(X)

U12#(X1, active(X2), X3) → U12#(X1, X2, X3)U12#(X1, X2, active(X3)) → U12#(X1, X2, X3)
U12#(mark(X1), X2, X3) → U12#(X1, X2, X3)U12#(active(X1), X2, X3) → U12#(X1, X2, X3)
U12#(X1, X2, mark(X3)) → U12#(X1, X2, X3)U12#(X1, mark(X2), X3) → U12#(X1, X2, X3)

plus#(X1, mark(X2)) → plus#(X1, X2)plus#(X1, active(X2)) → plus#(X1, X2)
plus#(mark(X1), X2) → plus#(X1, X2)plus#(active(X1), X2) → plus#(X1, X2)

U11#(X1, X2, mark(X3)) → U11#(X1, X2, X3)U11#(X1, active(X2), X3) → U11#(X1, X2, X3)
U11#(active(X1), X2, X3) → U11#(X1, X2, X3)U11#(X1, mark(X2), X3) → U11#(X1, X2, X3)
U11#(mark(X1), X2, X3) → U11#(X1, X2, X3)U11#(X1, X2, active(X3)) → U11#(X1, X2, X3)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

plus#(X1, mark(X2)) → plus#(X1, X2)plus#(X1, active(X2)) → plus#(X1, X2)
plus#(mark(X1), X2) → plus#(X1, X2)plus#(active(X1), X2) → plus#(X1, X2)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

plus#(mark(X1), X2) → plus#(X1, X2)plus#(active(X1), X2) → plus#(X1, X2)

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

plus#(X1, active(X2)) → plus#(X1, X2)plus#(X1, mark(X2)) → plus#(X1, X2)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

plus#(X1, mark(X2)) → plus#(X1, X2)plus#(X1, active(X2)) → plus#(X1, X2)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U11#(X1, X2, mark(X3)) → U11#(X1, X2, X3)U11#(X1, active(X2), X3) → U11#(X1, X2, X3)
U11#(active(X1), X2, X3) → U11#(X1, X2, X3)U11#(X1, mark(X2), X3) → U11#(X1, X2, X3)
U11#(mark(X1), X2, X3) → U11#(X1, X2, X3)U11#(X1, X2, active(X3)) → U11#(X1, X2, X3)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U11#(active(X1), X2, X3) → U11#(X1, X2, X3)U11#(mark(X1), X2, X3) → U11#(X1, X2, X3)

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U11#(X1, X2, mark(X3)) → U11#(X1, X2, X3)U11#(X1, active(X2), X3) → U11#(X1, X2, X3)
U11#(X1, mark(X2), X3) → U11#(X1, X2, X3)U11#(X1, X2, active(X3)) → U11#(X1, X2, X3)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U11#(X1, active(X2), X3) → U11#(X1, X2, X3)U11#(X1, mark(X2), X3) → U11#(X1, X2, X3)

Problem 10: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U11#(X1, X2, mark(X3)) → U11#(X1, X2, X3)U11#(X1, X2, active(X3)) → U11#(X1, X2, X3)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Polynomial Interpretation

There are no usable rules

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

U11#(X1, X2, mark(X3)) → U11#(X1, X2, X3)U11#(X1, X2, active(X3)) → U11#(X1, X2, X3)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U12#(X1, active(X2), X3) → U12#(X1, X2, X3)U12#(X1, X2, active(X3)) → U12#(X1, X2, X3)
U12#(mark(X1), X2, X3) → U12#(X1, X2, X3)U12#(active(X1), X2, X3) → U12#(X1, X2, X3)
U12#(X1, X2, mark(X3)) → U12#(X1, X2, X3)U12#(X1, mark(X2), X3) → U12#(X1, X2, X3)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U12#(mark(X1), X2, X3) → U12#(X1, X2, X3)U12#(active(X1), X2, X3) → U12#(X1, X2, X3)

Problem 9: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U12#(X1, active(X2), X3) → U12#(X1, X2, X3)U12#(X1, X2, active(X3)) → U12#(X1, X2, X3)
U12#(X1, X2, mark(X3)) → U12#(X1, X2, X3)U12#(X1, mark(X2), X3) → U12#(X1, X2, X3)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U12#(X1, active(X2), X3) → U12#(X1, X2, X3)U12#(X1, mark(X2), X3) → U12#(X1, X2, X3)

Problem 11: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U12#(X1, X2, active(X3)) → U12#(X1, X2, X3)U12#(X1, X2, mark(X3)) → U12#(X1, X2, X3)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Polynomial Interpretation

There are no usable rules

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

U12#(X1, X2, active(X3)) → U12#(X1, X2, X3)U12#(X1, X2, mark(X3)) → U12#(X1, X2, X3)

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))mark#(s(X)) → active#(s(mark(X)))
active#(U11(tt, M, N)) → mark#(U12(tt, M, N))active#(plus(N, 0)) → mark#(N)
active#(plus(N, s(M))) → mark#(U11(tt, M, N))active#(U12(tt, M, N)) → mark#(s(plus(N, M)))
mark#(plus(X1, X2)) → mark#(X1)mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))
mark#(plus(X1, X2)) → mark#(X2)mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))
mark#(s(X)) → mark#(X)mark#(U12(X1, X2, X3)) → mark#(X1)
mark#(U11(X1, X2, X3)) → mark#(X1)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
mark(0) → active(0)s(active(X)) → s(X)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

mark#(s(X)) → active#(s(mark(X)))

Problem 12: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))
mark#(plus(X1, X2)) → mark#(X2)active#(U11(tt, M, N)) → mark#(U12(tt, M, N))
active#(plus(N, 0)) → mark#(N)active#(plus(N, s(M))) → mark#(U11(tt, M, N))
mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))mark#(s(X)) → mark#(X)
mark#(U12(X1, X2, X3)) → mark#(X1)mark#(U11(X1, X2, X3)) → mark#(X1)
active#(U12(tt, M, N)) → mark#(s(plus(N, M)))mark#(plus(X1, X2)) → mark#(X1)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
mark(0) → active(0)s(active(X)) → s(X)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

active#(plus(N, 0)) → mark#(N)

Problem 13: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))
mark#(plus(X1, X2)) → mark#(X2)active#(U11(tt, M, N)) → mark#(U12(tt, M, N))
active#(plus(N, s(M))) → mark#(U11(tt, M, N))mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))
mark#(s(X)) → mark#(X)mark#(U12(X1, X2, X3)) → mark#(X1)
active#(U12(tt, M, N)) → mark#(s(plus(N, M)))mark#(U11(X1, X2, X3)) → mark#(X1)
mark#(plus(X1, X2)) → mark#(X1)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
mark(0) → active(0)s(active(X)) → s(X)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

mark#(plus(X1, X2)) → mark#(X2)mark#(U12(X1, X2, X3)) → mark#(X1)
mark#(U11(X1, X2, X3)) → mark#(X1)mark#(plus(X1, X2)) → mark#(X1)

Problem 14: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))
active#(U11(tt, M, N)) → mark#(U12(tt, M, N))active#(plus(N, s(M))) → mark#(U11(tt, M, N))
mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))mark#(s(X)) → mark#(X)
active#(U12(tt, M, N)) → mark#(s(plus(N, M)))

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
mark(0) → active(0)s(active(X)) → s(X)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

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

Problem 15: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))
active#(U11(tt, M, N)) → mark#(U12(tt, M, N))active#(plus(N, s(M))) → mark#(U11(tt, M, N))
mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))active#(U12(tt, M, N)) → mark#(s(plus(N, M)))

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
mark(0) → active(0)s(active(X)) → s(X)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

active#(plus(N, s(M))) → mark#(U11(tt, M, N))

Problem 16: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))
active#(U11(tt, M, N)) → mark#(U12(tt, M, N))mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))
active#(U12(tt, M, N)) → mark#(s(plus(N, M)))

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
mark(0) → active(0)s(active(X)) → s(X)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

active#(U12(tt, M, N)) → mark#(s(plus(N, M)))

Problem 17: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))
active#(U11(tt, M, N)) → mark#(U12(tt, M, N))mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
s(active(X)) → s(X)mark(0) → active(0)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U12(tt, M, N)) → mark(s(plus(N, M)))active(U11(tt, M, N)) → mark(U12(tt, M, N))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

mark#(plus(X1, X2)) → active#(plus(mark(X1), mark(X2)))

Problem 18: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))active#(U11(tt, M, N)) → mark#(U12(tt, M, N))
mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
s(active(X)) → s(X)mark(0) → active(0)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U12(tt, M, N)) → mark(s(plus(N, M)))active(U11(tt, M, N)) → mark(U12(tt, M, N))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

mark#(U12(X1, X2, X3)) → active#(U12(mark(X1), X2, X3))

Problem 19: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))active#(U11(tt, M, N)) → mark#(U12(tt, M, N))

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Polynomial Interpretation

Standard Usable rules

mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))U12(X1, active(X2), X3) → U12(X1, X2, X3)
mark(s(X)) → active(s(mark(X)))mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
U11(X1, active(X2), X3) → U11(X1, X2, X3)U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)plus(mark(X1), X2) → plus(X1, X2)
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))U11(mark(X1), X2, X3) → U11(X1, X2, X3)
s(active(X)) → s(X)mark(0) → active(0)
plus(X1, active(X2)) → plus(X1, X2)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)plus(X1, mark(X2)) → plus(X1, X2)
active(U12(tt, M, N)) → mark(s(plus(N, M)))active(U11(tt, M, N)) → mark(U12(tt, M, N))
mark(tt) → active(tt)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)plus(active(X1), X2) → plus(X1, X2)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)active(plus(N, 0)) → mark(N)
s(mark(X)) → s(X)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)active(plus(N, s(M))) → mark(U11(tt, M, N))

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

mark#(U11(X1, X2, X3)) → active#(U11(mark(X1), X2, X3))

Problem 20: DependencyGraph



Dependency Pair Problem

Dependency Pairs

active#(U11(tt, M, N)) → mark#(U12(tt, M, N))

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, U11, active, U12, mark

Strategy


There are no SCCs!

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

s#(mark(X)) → s#(X)s#(active(X)) → s#(X)

Rewrite Rules

active(U11(tt, M, N)) → mark(U12(tt, M, N))active(U12(tt, M, N)) → mark(s(plus(N, M)))
active(plus(N, 0)) → mark(N)active(plus(N, s(M))) → mark(U11(tt, M, N))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))mark(tt) → active(tt)
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))mark(0) → active(0)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)U12(X1, X2, active(X3)) → U12(X1, X2, X3)
s(mark(X)) → s(X)s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)plus(X1, active(X2)) → plus(X1, X2)

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, tt, active, U11, mark, U12

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

s#(mark(X)) → s#(X)s#(active(X)) → s#(X)