YES

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

The following DP Processors were used


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

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

divides#(y, x) → div#(x, y)pr#(x, s(s(y))) → divides#(s(s(y)), x)
times#(s(x), y) → times#(x, y)div#(div(x, y), z) → times#(y, z)
pr#(x, s(s(y))) → if#(divides(s(s(y)), x), x, s(y))divides#(y, x) → eq#(x, times(div(x, y), y))
quot#(s(x), s(y), z) → quot#(x, y, z)times#(s(x), y) → plus#(y, times(x, y))
if#(false, x, y) → pr#(x, y)plus#(s(x), y) → plus#(x, y)
quot#(x, 0, s(z)) → div#(x, s(z))divides#(y, x) → times#(div(x, y), y)
div#(x, y) → quot#(x, y, y)prime#(s(s(x))) → pr#(s(s(x)), s(x))
eq#(s(x), s(y)) → eq#(x, y)div#(div(x, y), z) → div#(x, times(y, z))

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


The following SCCs where found

if#(false, x, y) → pr#(x, y)pr#(x, s(s(y))) → if#(divides(s(s(y)), x), x, s(y))

times#(s(x), y) → times#(x, y)

plus#(s(x), y) → plus#(x, y)

eq#(s(x), s(y)) → eq#(x, y)

quot#(x, 0, s(z)) → div#(x, s(z))div#(x, y) → quot#(x, y, y)
div#(div(x, y), z) → div#(x, times(y, z))quot#(s(x), s(y), z) → quot#(x, y, z)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

if#(false, x, y) → pr#(x, y)pr#(x, s(s(y))) → if#(divides(s(s(y)), x), x, s(y))

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

pr#(x, s(s(y))) → if#(divides(s(s(y)), x), x, s(y))

Problem 7: DependencyGraph



Dependency Pair Problem

Dependency Pairs

if#(false, x, y) → pr#(x, y)

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


There are no SCCs!

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

plus#(s(x), y) → plus#(x, y)

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

plus#(s(x), y) → plus#(x, y)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

eq#(s(x), s(y)) → eq#(x, y)

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

eq#(s(x), s(y)) → eq#(x, y)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

quot#(x, 0, s(z)) → div#(x, s(z))div#(x, y) → quot#(x, y, y)
div#(div(x, y), z) → div#(x, times(y, z))quot#(s(x), s(y), z) → quot#(x, y, z)

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

div#(div(x, y), z) → div#(x, times(y, z))quot#(s(x), s(y), z) → quot#(x, y, z)

Problem 8: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

quot#(x, 0, s(z)) → div#(x, s(z))div#(x, y) → quot#(x, y, y)

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

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:

div#(x, y) → quot#(x, y, y)

Problem 9: DependencyGraph



Dependency Pair Problem

Dependency Pairs

quot#(x, 0, s(z)) → div#(x, s(z))

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


There are no SCCs!

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

times#(s(x), y) → times#(x, y)

Rewrite Rules

plus(x, 0) → xplus(0, y) → y
plus(s(x), y) → s(plus(x, y))times(0, y) → 0
times(s(0), y) → ytimes(s(x), y) → plus(y, times(x, y))
div(0, y) → 0div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))div(div(x, y), z) → div(x, times(y, z))
eq(0, 0) → trueeq(s(x), 0) → false
eq(0, s(y)) → falseeq(s(x), s(y)) → eq(x, y)
divides(y, x) → eq(x, times(div(x, y), y))prime(s(s(x))) → pr(s(s(x)), s(x))
pr(x, s(0)) → truepr(x, s(s(y))) → if(divides(s(s(y)), x), x, s(y))
if(true, x, y) → falseif(false, x, y) → pr(x, y)

Original Signature

Termination of terms over the following signature is verified: plus, div, true, divides, prime, 0, s, times, if, false, quot, pr, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

times#(s(x), y) → times#(x, y)