TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (170ms).
 | – Problem 2 was processed with processor SubtermCriterion (2ms).
 | – Problem 3 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (6ms), PolynomialLinearRange4iUR (83ms), DependencyGraph (5ms), PolynomialLinearRange8NegiUR (68ms), DependencyGraph (4ms), ReductionPairSAT (385ms)].
 | – Problem 4 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (3ms), PolynomialLinearRange4iUR (209ms), DependencyGraph (2ms), PolynomialLinearRange8NegiUR (809ms), DependencyGraph (2ms), ReductionPairSAT (331ms)].
 | – Problem 5 was processed with processor SubtermCriterion (1ms).
 | – Problem 6 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (4ms), PolynomialLinearRange4iUR (548ms), DependencyGraph (2ms), PolynomialLinearRange8NegiUR (2162ms), DependencyGraph (2ms), ReductionPairSAT (timeout)].
 | – Problem 7 was processed with processor SubtermCriterion (0ms).
 | – Problem 8 was processed with processor SubtermCriterion (5ms).

The following open problems remain:



Open Dependency Pair Problem 3

Dependency Pairs

f2#(x, 1, z) → f0#(x, z, z)f0#(0, y, x) → f1#(x, y, x)
f1#(x, y, z) → f2#(x, y, z)

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero




Open Dependency Pair Problem 4

Dependency Pairs

ifPlus#(false, x, y) → plus#(p(x), y)plus#(x, y) → ifPlus#(isZero(x), x, inc(y))

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero




Open Dependency Pair Problem 6

Dependency Pairs

ifTimes#(false, i, x, y, z) → timesIter#(inc(i), x, y, plus(z, y))timesIter#(i, x, y, z) → ifTimes#(ge(i, x), i, x, y, z)

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

ifPlus#(false, x, y) → p#(x)timesIter#(i, x, y, z) → ge#(i, x)
f2#(x, 1, z) → f0#(x, z, z)ifTimes#(false, i, x, y, z) → timesIter#(inc(i), x, y, plus(z, y))
ifTimes#(false, i, x, y, z) → plus#(z, y)plus#(x, y) → inc#(y)
ifPlus#(true, x, y) → p#(y)f0#(0, y, x) → f1#(x, y, x)
plus#(x, y) → ifPlus#(isZero(x), x, inc(y))f1#(x, y, z) → f2#(x, y, z)
ifPlus#(false, x, y) → plus#(p(x), y)isZero#(s(s(x))) → isZero#(s(x))
ifTimes#(false, i, x, y, z) → inc#(i)ge#(s(x), s(y)) → ge#(x, y)
timesIter#(i, x, y, z) → ifTimes#(ge(i, x), i, x, y, z)times#(x, y) → timesIter#(0, x, y, 0)
inc#(s(x)) → inc#(x)plus#(x, y) → isZero#(x)
p#(s(s(x))) → p#(s(x))

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero

Strategy


The following SCCs where found

ifTimes#(false, i, x, y, z) → timesIter#(inc(i), x, y, plus(z, y))timesIter#(i, x, y, z) → ifTimes#(ge(i, x), i, x, y, z)

isZero#(s(s(x))) → isZero#(s(x))

ifPlus#(false, x, y) → plus#(p(x), y)plus#(x, y) → ifPlus#(isZero(x), x, inc(y))

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

inc#(s(x)) → inc#(x)

p#(s(s(x))) → p#(s(x))

f2#(x, 1, z) → f0#(x, z, z)f0#(0, y, x) → f1#(x, y, x)
f1#(x, y, z) → f2#(x, y, z)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

isZero#(s(s(x))) → isZero#(s(x))

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

isZero#(s(s(x))) → isZero#(s(x))

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

inc#(s(x)) → inc#(x)

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

inc#(s(x)) → inc#(x)

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

p#(s(s(x))) → p#(s(x))

Rewrite Rules

plus(x, y) → ifPlus(isZero(x), x, inc(y))ifPlus(true, x, y) → p(y)
ifPlus(false, x, y) → plus(p(x), y)times(x, y) → timesIter(0, x, y, 0)
timesIter(i, x, y, z) → ifTimes(ge(i, x), i, x, y, z)ifTimes(true, i, x, y, z) → z
ifTimes(false, i, x, y, z) → timesIter(inc(i), x, y, plus(z, y))isZero(0) → true
isZero(s(0)) → falseisZero(s(s(x))) → isZero(s(x))
inc(0) → s(0)inc(s(x)) → s(inc(x))
inc(x) → s(x)p(0) → 0
p(s(x)) → xp(s(s(x))) → s(p(s(x)))
ge(x, 0) → truege(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)f0(0, y, x) → f1(x, y, x)
f1(x, y, z) → f2(x, y, z)f2(x, 1, z) → f0(x, z, z)
f0(x, y, z) → df1(x, y, z) → c

Original Signature

Termination of terms over the following signature is verified: plus, ifTimes, d, c, true, ge, ifPlus, 1, timesIter, 0, inc, s, times, p, false, f1, f0, f2, isZero

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

p#(s(s(x))) → p#(s(x))