YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (55ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4iUR (132ms).
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor PolynomialLinearRange4iUR (88ms).
 |    | – Problem 6 was processed with processor DependencyGraph (1ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

from(X)cons(X, n__from(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)zWquot(X1, X2)n__zWquot(X1, X2)
activate(n__from(X))from(X)activate(n__zWquot(X1, X2))zWquot(X1, X2)
activate(X)X

Original Signature

Termination of terms over the following signature is verified: activate, n__zWquot, 0, minus, s, n__from, zWquot, from, 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)

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

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

Problem 2: 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(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)zWquot(X1, X2)n__zWquot(X1, X2)
activate(n__from(X))from(X)activate(n__zWquot(X1, X2))zWquot(X1, X2)
activate(X)X

Original Signature

Termination of terms over the following signature is verified: activate, n__zWquot, 0, minus, s, n__from, zWquot, from, 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 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

from(X)cons(X, n__from(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)zWquot(X1, X2)n__zWquot(X1, X2)
activate(n__from(X))from(X)activate(n__zWquot(X1, X2))zWquot(X1, X2)
activate(X)X

Original Signature

Termination of terms over the following signature is verified: activate, n__zWquot, 0, minus, s, n__from, zWquot, from, 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 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(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)zWquot(X1, X2)n__zWquot(X1, X2)
activate(n__from(X))from(X)activate(n__zWquot(X1, X2))zWquot(X1, X2)
activate(X)X

Original Signature

Termination of terms over the following signature is verified: activate, n__zWquot, 0, minus, s, n__from, zWquot, from, 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

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

Rewrite Rules

from(X)cons(X, n__from(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)zWquot(X1, X2)n__zWquot(X1, X2)
activate(n__from(X))from(X)activate(n__zWquot(X1, X2))zWquot(X1, X2)
activate(X)X

Original Signature

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

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:

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

Problem 6: 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(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)zWquot(X1, X2)n__zWquot(X1, X2)
activate(n__from(X))from(X)activate(n__zWquot(X1, X2))zWquot(X1, X2)
activate(X)X

Original Signature

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

Strategy


There are no SCCs!