YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (167ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (33ms).
 | – Problem 3 was processed with processor ReductionPairSAT (1262ms).
 |    | – Problem 7 was processed with processor DependencyGraph (2ms).
 | – Problem 4 was processed with processor PolynomialLinearRange4 (120ms).
 | – Problem 5 was processed with processor PolynomialLinearRange4 (14ms).
 |    | – Problem 6 was processed with processor PolynomialLinearRange4 (11ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

2ndspos#(s(N), cons2(X, cons(Y, Z))) → 2ndsneg#(N, Z)2ndsneg#(s(N), cons2(X, cons(Y, Z))) → 2ndspos#(N, Z)
T(from(x_1)) → T(x_1)pi#(X) → 2ndspos#(X, from(0))
pi#(X) → from#(0)times#(s(X), Y) → plus#(Y, times(X, Y))
2ndspos#(s(N), cons(X, Z)) → 2ndspos#(s(N), cons2(X, Z))times#(s(X), Y) → times#(X, Y)
2ndspos#(s(N), cons(X, Z)) → T(Z)2ndsneg#(s(N), cons2(X, cons(Y, Z))) → T(Z)
square#(X) → times#(X, X)2ndsneg#(s(N), cons(X, Z)) → T(Z)
T(s(x_1)) → T(x_1)plus#(s(X), Y) → plus#(X, Y)
2ndspos#(s(N), cons2(X, cons(Y, Z))) → T(Z)T(from(s(X))) → from#(s(X))
2ndsneg#(s(N), cons(X, Z)) → 2ndsneg#(s(N), cons2(X, Z))

Rewrite Rules

from(X) → cons(X, from(s(X)))2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
2ndsneg(0, Z) → rnil2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))
2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Yplus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)

Original Signature

Termination of terms over the following signature is verified: posrecip, negrecip, plus, cons2, rnil, from, rcons, 2ndspos, 0, s, times, 2ndsneg, square, pi, cons

Strategy

Context-sensitive strategy:
μ(rnil) = μ(T) = μ(0) = μ(nil) = ∅
μ(posrecip) = μ(negrecip) = μ(from#) = μ(square#) = μ(pi#) = μ(from) = μ(s) = μ(square) = μ(pi) = μ(cons) = {1}
μ(cons2) = {2}
μ(plus) = μ(2ndspos#) = μ(2ndsneg#) = μ(rcons) = μ(2ndspos) = μ(times#) = μ(times) = μ(2ndsneg) = μ(plus#) = {1, 2}


The following SCCs where found

T(s(x_1)) → T(x_1)T(from(x_1)) → T(x_1)

2ndspos#(s(N), cons2(X, cons(Y, Z))) → 2ndsneg#(N, Z)2ndsneg#(s(N), cons2(X, cons(Y, Z))) → 2ndspos#(N, Z)
2ndspos#(s(N), cons(X, Z)) → 2ndspos#(s(N), cons2(X, Z))2ndsneg#(s(N), cons(X, Z)) → 2ndsneg#(s(N), cons2(X, Z))

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

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

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

from(X) → cons(X, from(s(X)))2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
2ndsneg(0, Z) → rnil2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))
2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Yplus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)

Original Signature

Termination of terms over the following signature is verified: posrecip, negrecip, plus, cons2, rnil, from, rcons, 2ndspos, 0, s, times, 2ndsneg, square, pi, cons

Strategy

Context-sensitive strategy:
μ(rnil) = μ(T) = μ(0) = μ(nil) = ∅
μ(posrecip) = μ(negrecip) = μ(from#) = μ(square#) = μ(pi#) = μ(from) = μ(s) = μ(square) = μ(pi) = μ(cons) = {1}
μ(cons2) = {2}
μ(plus) = μ(2ndspos#) = μ(2ndsneg#) = μ(rcons) = μ(2ndspos) = μ(times#) = μ(2ndsneg) = μ(times) = μ(plus#) = {1, 2}


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:

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

Problem 3: ReductionPairSAT



Dependency Pair Problem

Dependency Pairs

2ndspos#(s(N), cons2(X, cons(Y, Z))) → 2ndsneg#(N, Z)2ndsneg#(s(N), cons2(X, cons(Y, Z))) → 2ndspos#(N, Z)
2ndspos#(s(N), cons(X, Z)) → 2ndspos#(s(N), cons2(X, Z))2ndsneg#(s(N), cons(X, Z)) → 2ndsneg#(s(N), cons2(X, Z))

Rewrite Rules

from(X) → cons(X, from(s(X)))2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
2ndsneg(0, Z) → rnil2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))
2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Yplus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)

Original Signature

Termination of terms over the following signature is verified: posrecip, negrecip, plus, cons2, rnil, from, rcons, 2ndspos, 0, s, times, 2ndsneg, square, pi, cons

Strategy

Context-sensitive strategy:
μ(rnil) = μ(T) = μ(0) = μ(nil) = ∅
μ(posrecip) = μ(negrecip) = μ(from#) = μ(square#) = μ(pi#) = μ(from) = μ(s) = μ(square) = μ(pi) = μ(cons) = {1}
μ(cons2) = {2}
μ(plus) = μ(2ndspos#) = μ(2ndsneg#) = μ(rcons) = μ(2ndspos) = μ(times#) = μ(2ndsneg) = μ(times) = μ(plus#) = {1, 2}


Function Precedence

2ndspos# < 0 < times < rcons < cons2 < plus < 2ndsneg < cons < posrecip = negrecip = rnil = 2ndsneg# = from = 2ndspos = s = square = pi

Argument Filtering

plus: 1 2
posrecip: all arguments are removed from posrecip
negrecip: all arguments are removed from negrecip
cons2: collapses to 2
2ndspos#: collapses to 1
rnil: all arguments are removed from rnil
2ndsneg#: 1
from: collapses to 1
rcons: collapses to 1
2ndspos: all arguments are removed from 2ndspos
0: all arguments are removed from 0
s: 1
times: 1 2
2ndsneg: collapses to 1
square: all arguments are removed from square
pi: all arguments are removed from pi
cons: collapses to 1

Status

plus: lexicographic with permutation 1 → 2 2 → 1
posrecip: multiset
negrecip: multiset
rnil: multiset
2ndsneg#: multiset
2ndspos: multiset
0: multiset
s: multiset
times: lexicographic with permutation 1 → 2 2 → 1
square: multiset
pi: multiset

Usable Rules

plus(0, Y) → Y2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
times(0, Y) → 02ndspos(0, Z) → rnil
plus(s(X), Y) → s(plus(X, Y))2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))
from(X) → cons(X, from(s(X)))times(s(X), Y) → plus(Y, times(X, Y))
2ndsneg(0, Z) → rnil2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))
2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))

Eliminated dependency pairs

The following dependency pairs (at least) can be eliminated according to the given precedence.

2ndsneg#(s(N), cons2(X, cons(Y, Z))) → 2ndspos#(N, Z)

Problem 7: DependencyGraph



Dependency Pair Problem

Dependency Pairs

2ndspos#(s(N), cons2(X, cons(Y, Z))) → 2ndsneg#(N, Z)2ndsneg#(s(N), cons(X, Z)) → 2ndsneg#(s(N), cons2(X, Z))
2ndspos#(s(N), cons(X, Z)) → 2ndspos#(s(N), cons2(X, Z))

Rewrite Rules

from(X) → cons(X, from(s(X)))2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
2ndsneg(0, Z) → rnil2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))
2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Yplus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)

Original Signature

Termination of terms over the following signature is verified: posrecip, negrecip, plus, cons2, rnil, from, rcons, 2ndspos, 0, s, times, 2ndsneg, square, pi, cons

Strategy

Context-sensitive strategy:
μ(rnil) = μ(T) = μ(0) = μ(nil) = ∅
μ(posrecip) = μ(negrecip) = μ(from#) = μ(square#) = μ(pi#) = μ(from) = μ(s) = μ(square) = μ(pi) = μ(cons) = {1}
μ(cons2) = {2}
μ(plus) = μ(2ndspos#) = μ(2ndsneg#) = μ(rcons) = μ(2ndspos) = μ(times#) = μ(times) = μ(2ndsneg) = μ(plus#) = {1, 2}


There are no SCCs!

Problem 4: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

from(X) → cons(X, from(s(X)))2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
2ndsneg(0, Z) → rnil2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))
2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Yplus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)

Original Signature

Termination of terms over the following signature is verified: posrecip, negrecip, plus, cons2, rnil, from, rcons, 2ndspos, 0, s, times, 2ndsneg, square, pi, cons

Strategy

Context-sensitive strategy:
μ(rnil) = μ(T) = μ(0) = μ(nil) = ∅
μ(posrecip) = μ(negrecip) = μ(from#) = μ(square#) = μ(pi#) = μ(from) = μ(s) = μ(square) = μ(pi) = μ(cons) = {1}
μ(cons2) = {2}
μ(plus) = μ(2ndspos#) = μ(2ndsneg#) = μ(rcons) = μ(2ndspos) = μ(times#) = μ(2ndsneg) = μ(times) = μ(plus#) = {1, 2}


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:

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

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(s(x_1)) → T(x_1)T(from(x_1)) → T(x_1)

Rewrite Rules

from(X) → cons(X, from(s(X)))2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
2ndsneg(0, Z) → rnil2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))
2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Yplus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)

Original Signature

Termination of terms over the following signature is verified: posrecip, negrecip, plus, cons2, rnil, from, rcons, 2ndspos, 0, s, times, 2ndsneg, square, pi, cons

Strategy

Context-sensitive strategy:
μ(rnil) = μ(T) = μ(0) = μ(nil) = ∅
μ(posrecip) = μ(negrecip) = μ(from#) = μ(square#) = μ(pi#) = μ(from) = μ(s) = μ(square) = μ(pi) = μ(cons) = {1}
μ(cons2) = {2}
μ(plus) = μ(2ndspos#) = μ(2ndsneg#) = μ(rcons) = μ(2ndspos) = μ(times#) = μ(2ndsneg) = μ(times) = μ(plus#) = {1, 2}


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:

T(from(x_1)) → T(x_1)

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(s(x_1)) → T(x_1)

Rewrite Rules

from(X) → cons(X, from(s(X)))2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, Z)) → 2ndspos(s(N), cons2(X, Z))2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(Y), 2ndsneg(N, Z))
2ndsneg(0, Z) → rnil2ndsneg(s(N), cons(X, Z)) → 2ndsneg(s(N), cons2(X, Z))
2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(Y), 2ndspos(N, Z))pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Yplus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)

Original Signature

Termination of terms over the following signature is verified: posrecip, negrecip, plus, cons2, rnil, from, rcons, 2ndspos, 0, s, times, 2ndsneg, square, pi, cons

Strategy

Context-sensitive strategy:
μ(rnil) = μ(T) = μ(0) = μ(nil) = ∅
μ(posrecip) = μ(negrecip) = μ(from#) = μ(square#) = μ(pi#) = μ(from) = μ(s) = μ(square) = μ(pi) = μ(cons) = {1}
μ(cons2) = {2}
μ(plus) = μ(2ndspos#) = μ(2ndsneg#) = μ(rcons) = μ(2ndspos) = μ(times#) = μ(times) = μ(2ndsneg) = μ(plus#) = {1, 2}


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:

T(s(x_1)) → T(x_1)