TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60047 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (151ms).
 | – Problem 2 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (2ms), PolynomialLinearRange4iUR (170ms), DependencyGraph (2ms), PolynomialLinearRange8NegiUR (391ms), DependencyGraph (3ms), ReductionPairSAT (1828ms)].
 | – Problem 3 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (5ms), PolynomialLinearRange4iUR (488ms), DependencyGraph (5ms), PolynomialLinearRange8NegiUR (3321ms), DependencyGraph (3ms), ReductionPairSAT (timeout)].
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor SubtermCriterion (1ms).
 | – Problem 6 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

ifPlus#(false, x, y, z) → plusIter#(x, s(y), s(z))plusIter#(x, y, z) → ifPlus#(le(x, z), x, y, z)

Rewrite Rules

div(x, y) → div2(x, y, 0)div2(x, y, i) → if1(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if1(true, b, x, y, i, j) → divZeroErrorif1(false, b, x, y, i, j) → if2(b, x, y, i, j)
if2(true, x, y, i, j) → div2(minus(x, y), y, j)if2(false, x, y, i, j) → i
inc(0) → 0inc(s(i)) → s(inc(i))
le(s(x), 0) → falsele(0, y) → true
le(s(x), s(y)) → le(x, y)minus(x, 0) → x
minus(0, y) → 0minus(s(x), s(y)) → minus(x, y)
plus(x, y) → plusIter(x, y, 0)plusIter(x, y, z) → ifPlus(le(x, z), x, y, z)
ifPlus(true, x, y, z) → yifPlus(false, x, y, z) → plusIter(x, s(y), s(z))
a → ca → d

Original Signature

Termination of terms over the following signature is verified: plus, d, minus, c, plusIter, divZeroError, a, div, true, if1, if2, ifPlus, 0, le, inc, s, false, div2




Open Dependency Pair Problem 3

Dependency Pairs

if1#(false, b, x, y, i, j) → if2#(b, x, y, i, j)div2#(x, y, i) → if1#(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if2#(true, x, y, i, j) → div2#(minus(x, y), y, j)

Rewrite Rules

div(x, y) → div2(x, y, 0)div2(x, y, i) → if1(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if1(true, b, x, y, i, j) → divZeroErrorif1(false, b, x, y, i, j) → if2(b, x, y, i, j)
if2(true, x, y, i, j) → div2(minus(x, y), y, j)if2(false, x, y, i, j) → i
inc(0) → 0inc(s(i)) → s(inc(i))
le(s(x), 0) → falsele(0, y) → true
le(s(x), s(y)) → le(x, y)minus(x, 0) → x
minus(0, y) → 0minus(s(x), s(y)) → minus(x, y)
plus(x, y) → plusIter(x, y, 0)plusIter(x, y, z) → ifPlus(le(x, z), x, y, z)
ifPlus(true, x, y, z) → yifPlus(false, x, y, z) → plusIter(x, s(y), s(z))
a → ca → d

Original Signature

Termination of terms over the following signature is verified: plus, d, minus, c, plusIter, divZeroError, a, div, true, if1, if2, ifPlus, 0, le, inc, s, false, div2


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

if1#(false, b, x, y, i, j) → if2#(b, x, y, i, j)ifPlus#(false, x, y, z) → plusIter#(x, s(y), s(z))
div2#(x, y, i) → inc#(i)plusIter#(x, y, z) → ifPlus#(le(x, z), x, y, z)
inc#(s(i)) → inc#(i)if2#(true, x, y, i, j) → minus#(x, y)
div2#(x, y, i) → le#(y, x)div#(x, y) → div2#(x, y, 0)
div2#(x, y, i) → plus#(i, 0)le#(s(x), s(y)) → le#(x, y)
div2#(x, y, i) → if1#(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))plusIter#(x, y, z) → le#(x, z)
minus#(s(x), s(y)) → minus#(x, y)if2#(true, x, y, i, j) → div2#(minus(x, y), y, j)
div2#(x, y, i) → le#(y, 0)plus#(x, y) → plusIter#(x, y, 0)

Rewrite Rules

div(x, y) → div2(x, y, 0)div2(x, y, i) → if1(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if1(true, b, x, y, i, j) → divZeroErrorif1(false, b, x, y, i, j) → if2(b, x, y, i, j)
if2(true, x, y, i, j) → div2(minus(x, y), y, j)if2(false, x, y, i, j) → i
inc(0) → 0inc(s(i)) → s(inc(i))
le(s(x), 0) → falsele(0, y) → true
le(s(x), s(y)) → le(x, y)minus(x, 0) → x
minus(0, y) → 0minus(s(x), s(y)) → minus(x, y)
plus(x, y) → plusIter(x, y, 0)plusIter(x, y, z) → ifPlus(le(x, z), x, y, z)
ifPlus(true, x, y, z) → yifPlus(false, x, y, z) → plusIter(x, s(y), s(z))
a → ca → d

Original Signature

Termination of terms over the following signature is verified: plus, d, minus, c, plusIter, divZeroError, a, div, true, if1, if2, ifPlus, 0, s, inc, le, false, div2

Strategy


The following SCCs where found

if1#(false, b, x, y, i, j) → if2#(b, x, y, i, j)div2#(x, y, i) → if1#(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if2#(true, x, y, i, j) → div2#(minus(x, y), y, j)

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

inc#(s(i)) → inc#(i)

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

ifPlus#(false, x, y, z) → plusIter#(x, s(y), s(z))plusIter#(x, y, z) → ifPlus#(le(x, z), x, y, z)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

div(x, y) → div2(x, y, 0)div2(x, y, i) → if1(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if1(true, b, x, y, i, j) → divZeroErrorif1(false, b, x, y, i, j) → if2(b, x, y, i, j)
if2(true, x, y, i, j) → div2(minus(x, y), y, j)if2(false, x, y, i, j) → i
inc(0) → 0inc(s(i)) → s(inc(i))
le(s(x), 0) → falsele(0, y) → true
le(s(x), s(y)) → le(x, y)minus(x, 0) → x
minus(0, y) → 0minus(s(x), s(y)) → minus(x, y)
plus(x, y) → plusIter(x, y, 0)plusIter(x, y, z) → ifPlus(le(x, z), x, y, z)
ifPlus(true, x, y, z) → yifPlus(false, x, y, z) → plusIter(x, s(y), s(z))
a → ca → d

Original Signature

Termination of terms over the following signature is verified: plus, d, minus, c, plusIter, divZeroError, a, div, true, if1, if2, ifPlus, 0, s, inc, le, false, div2

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

inc#(s(i)) → inc#(i)

Rewrite Rules

div(x, y) → div2(x, y, 0)div2(x, y, i) → if1(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if1(true, b, x, y, i, j) → divZeroErrorif1(false, b, x, y, i, j) → if2(b, x, y, i, j)
if2(true, x, y, i, j) → div2(minus(x, y), y, j)if2(false, x, y, i, j) → i
inc(0) → 0inc(s(i)) → s(inc(i))
le(s(x), 0) → falsele(0, y) → true
le(s(x), s(y)) → le(x, y)minus(x, 0) → x
minus(0, y) → 0minus(s(x), s(y)) → minus(x, y)
plus(x, y) → plusIter(x, y, 0)plusIter(x, y, z) → ifPlus(le(x, z), x, y, z)
ifPlus(true, x, y, z) → yifPlus(false, x, y, z) → plusIter(x, s(y), s(z))
a → ca → d

Original Signature

Termination of terms over the following signature is verified: plus, d, minus, c, plusIter, divZeroError, a, div, true, if1, if2, ifPlus, 0, s, inc, le, false, div2

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

inc#(s(i)) → inc#(i)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

div(x, y) → div2(x, y, 0)div2(x, y, i) → if1(le(y, 0), le(y, x), x, y, plus(i, 0), inc(i))
if1(true, b, x, y, i, j) → divZeroErrorif1(false, b, x, y, i, j) → if2(b, x, y, i, j)
if2(true, x, y, i, j) → div2(minus(x, y), y, j)if2(false, x, y, i, j) → i
inc(0) → 0inc(s(i)) → s(inc(i))
le(s(x), 0) → falsele(0, y) → true
le(s(x), s(y)) → le(x, y)minus(x, 0) → x
minus(0, y) → 0minus(s(x), s(y)) → minus(x, y)
plus(x, y) → plusIter(x, y, 0)plusIter(x, y, z) → ifPlus(le(x, z), x, y, z)
ifPlus(true, x, y, z) → yifPlus(false, x, y, z) → plusIter(x, s(y), s(z))
a → ca → d

Original Signature

Termination of terms over the following signature is verified: plus, d, minus, c, plusIter, divZeroError, a, div, true, if1, if2, ifPlus, 0, s, inc, le, false, div2

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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