YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (143ms).
 | – Problem 2 was processed with processor SubtermCriterion (6ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4iUR (187ms).
 | – Problem 4 was processed with processor SubtermCriterion (2ms).
 | – Problem 5 was processed with processor PolynomialLinearRange4iUR (987ms).
 |    | – Problem 6 was processed with processor PolynomialLinearRange4iUR (489ms).
 |    |    | – Problem 7 was processed with processor PolynomialLinearRange4iUR (500ms).
 |    |    |    | – Problem 8 was processed with processor DependencyGraph (0ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

activate#(n__zWquot(X1, X2))activate#(X2)activate#(n__zWquot(X1, X2))zWquot#(activate(X1), activate(X2))
zWquot#(cons(X, XS), cons(Y, YS))activate#(YS)minus#(s(X), s(Y))minus#(X, Y)
activate#(n__s(X))activate#(X)quot#(s(X), s(Y))s#(Y)
activate#(n__from(X))activate#(X)sel#(s(N), cons(X, XS))sel#(N, activate(XS))
quot#(s(X), s(Y))s#(quot(minus(X, Y), s(Y)))quot#(s(X), s(Y))minus#(X, Y)
quot#(s(X), s(Y))quot#(minus(X, Y), s(Y))activate#(n__from(X))from#(activate(X))
activate#(n__s(X))s#(activate(X))zWquot#(cons(X, XS), cons(Y, YS))quot#(X, Y)
sel#(s(N), cons(X, XS))activate#(XS)activate#(n__zWquot(X1, X2))activate#(X1)
zWquot#(cons(X, XS), cons(Y, YS))activate#(XS)

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


The following SCCs where found

quot#(s(X), s(Y)) → quot#(minus(X, Y), s(Y))

minus#(s(X), s(Y)) → minus#(X, Y)

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

activate#(n__zWquot(X1, X2)) → zWquot#(activate(X1), activate(X2))activate#(n__zWquot(X1, X2)) → activate#(X2)
zWquot#(cons(X, XS), cons(Y, YS)) → activate#(YS)activate#(n__s(X)) → activate#(X)
activate#(n__from(X)) → activate#(X)activate#(n__zWquot(X1, X2)) → activate#(X1)
zWquot#(cons(X, XS), cons(Y, YS)) → activate#(XS)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

minus#(s(X), s(Y))minus#(X, Y)

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

minus#(s(X), s(Y))minus#(X, Y)

Problem 3: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

quot#(s(X), s(Y))quot#(minus(X, Y), s(Y))

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


Polynomial Interpretation

Improved Usable rules

minus(s(X), s(Y))minus(X, Y)minus(X, 0)0

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

quot#(s(X), s(Y))quot#(minus(X, Y), s(Y))

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

sel#(s(N), cons(X, XS))sel#(N, activate(XS))

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

sel#(s(N), cons(X, XS))sel#(N, activate(XS))

Problem 5: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

activate#(n__zWquot(X1, X2))zWquot#(activate(X1), activate(X2))activate#(n__zWquot(X1, X2))activate#(X2)
zWquot#(cons(X, XS), cons(Y, YS))activate#(YS)activate#(n__s(X))activate#(X)
activate#(n__from(X))activate#(X)activate#(n__zWquot(X1, X2))activate#(X1)
zWquot#(cons(X, XS), cons(Y, YS))activate#(XS)

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


Polynomial Interpretation

Improved Usable rules

zWquot(XS, nil)nilfrom(X)cons(X, n__from(n__s(X)))
s(X)n__s(X)from(X)n__from(X)
activate(X)Xactivate(n__from(X))from(activate(X))
zWquot(nil, XS)nilactivate(n__s(X))s(activate(X))
activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))zWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
zWquot(X1, X2)n__zWquot(X1, X2)

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

activate#(n__from(X))activate#(X)

Problem 6: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

activate#(n__zWquot(X1, X2))activate#(X2)activate#(n__zWquot(X1, X2))zWquot#(activate(X1), activate(X2))
zWquot#(cons(X, XS), cons(Y, YS))activate#(YS)activate#(n__s(X))activate#(X)
activate#(n__zWquot(X1, X2))activate#(X1)zWquot#(cons(X, XS), cons(Y, YS))activate#(XS)

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


Polynomial Interpretation

Improved Usable rules

zWquot(XS, nil)nilfrom(X)cons(X, n__from(n__s(X)))
s(X)n__s(X)from(X)n__from(X)
activate(X)Xactivate(n__from(X))from(activate(X))
zWquot(nil, XS)nilactivate(n__s(X))s(activate(X))
activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))zWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
zWquot(X1, X2)n__zWquot(X1, X2)

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

activate#(n__s(X))activate#(X)

Problem 7: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

activate#(n__zWquot(X1, X2))zWquot#(activate(X1), activate(X2))activate#(n__zWquot(X1, X2))activate#(X2)
zWquot#(cons(X, XS), cons(Y, YS))activate#(YS)activate#(n__zWquot(X1, X2))activate#(X1)
zWquot#(cons(X, XS), cons(Y, YS))activate#(XS)

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


Polynomial Interpretation

Improved Usable rules

zWquot(XS, nil)nilfrom(X)cons(X, n__from(n__s(X)))
s(X)n__s(X)from(X)n__from(X)
activate(X)Xactivate(n__from(X))from(activate(X))
zWquot(nil, XS)nilactivate(n__s(X))s(activate(X))
activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))zWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
zWquot(X1, X2)n__zWquot(X1, X2)

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

activate#(n__zWquot(X1, X2))activate#(X2)activate#(n__zWquot(X1, X2))zWquot#(activate(X1), activate(X2))
activate#(n__zWquot(X1, X2))activate#(X1)

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

zWquot#(cons(X, XS), cons(Y, YS))activate#(YS)zWquot#(cons(X, XS), cons(Y, YS))activate#(XS)

Rewrite Rules

from(X)cons(X, n__from(n__s(X)))sel(0, cons(X, XS))X
sel(s(N), cons(X, XS))sel(N, activate(XS))minus(X, 0)0
minus(s(X), s(Y))minus(X, Y)quot(0, s(Y))0
quot(s(X), s(Y))s(quot(minus(X, Y), s(Y)))zWquot(XS, nil)nil
zWquot(nil, XS)nilzWquot(cons(X, XS), cons(Y, YS))cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X)n__from(X)s(X)n__s(X)
zWquot(X1, X2)n__zWquot(X1, X2)activate(n__from(X))from(activate(X))
activate(n__s(X))s(activate(X))activate(n__zWquot(X1, X2))zWquot(activate(X1), activate(X2))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: minus, n__from, from, n__s, activate, n__zWquot, 0, s, zWquot, sel, quot, cons, nil

Strategy


There are no SCCs!