TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (206ms).
 | – Problem 2 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (8ms), PolynomialLinearRange4iUR (827ms), DependencyGraph (6ms), PolynomialLinearRange8NegiUR (10156ms), DependencyGraph (5ms), ReductionPairSAT (timeout)].
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 |    | – Problem 7 was processed with processor DependencyGraph (5ms).
 | – Problem 5 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (4ms), PolynomialLinearRange4iUR (105ms), DependencyGraph (3ms), PolynomialLinearRange8NegiUR (449ms), DependencyGraph (1ms)].
 | – Problem 6 was processed with processor SubtermCriterion (2ms).

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

if#(false, x, y, z, u) → if2#(divisible(z, y), x, y, z, u)if2#(false, x, y, z, u) → lcmIter#(x, y, plus(x, z), u)
lcmIter#(x, y, z, u) → if#(or(ge(0, x), ge(z, u)), x, y, z, u)

Rewrite Rules

lcm(x, y) → lcmIter(x, y, 0, times(x, y))lcmIter(x, y, z, u) → if(or(ge(0, x), ge(z, u)), x, y, z, u)
if(true, x, y, z, u) → zif(false, x, y, z, u) → if2(divisible(z, y), x, y, z, u)
if2(true, x, y, z, u) → zif2(false, x, y, z, u) → lcmIter(x, y, plus(x, z), u)
plus(0, y) → yplus(s(x), y) → s(plus(x, y))
times(x, y) → ifTimes(ge(0, x), x, y)ifTimes(true, x, y) → 0
ifTimes(false, x, y) → plus(y, times(y, p(x)))p(s(x)) → x
p(0) → s(s(0))ge(x, 0) → true
ge(0, s(y)) → falsege(s(x), s(y)) → ge(x, y)
or(true, y) → trueor(false, y) → y
divisible(0, s(y)) → truedivisible(s(x), s(y)) → div(s(x), s(y), s(y))
div(x, y, 0) → divisible(x, y)div(0, y, s(z)) → false
div(s(x), y, s(z)) → div(x, y, z)a → b
a → c

Original Signature

Termination of terms over the following signature is verified: ifTimes, plus, b, c, or, a, div, true, ge, if2, lcmIter, 0, lcm, divisible, s, times, if, p, false




Open Dependency Pair Problem 5

Dependency Pairs

ifTimes#(false, x, y) → times#(y, p(x))times#(x, y) → ifTimes#(ge(0, x), x, y)

Rewrite Rules

lcm(x, y) → lcmIter(x, y, 0, times(x, y))lcmIter(x, y, z, u) → if(or(ge(0, x), ge(z, u)), x, y, z, u)
if(true, x, y, z, u) → zif(false, x, y, z, u) → if2(divisible(z, y), x, y, z, u)
if2(true, x, y, z, u) → zif2(false, x, y, z, u) → lcmIter(x, y, plus(x, z), u)
plus(0, y) → yplus(s(x), y) → s(plus(x, y))
times(x, y) → ifTimes(ge(0, x), x, y)ifTimes(true, x, y) → 0
ifTimes(false, x, y) → plus(y, times(y, p(x)))p(s(x)) → x
p(0) → s(s(0))ge(x, 0) → true
ge(0, s(y)) → falsege(s(x), s(y)) → ge(x, y)
or(true, y) → trueor(false, y) → y
divisible(0, s(y)) → truedivisible(s(x), s(y)) → div(s(x), s(y), s(y))
div(x, y, 0) → divisible(x, y)div(0, y, s(z)) → false
div(s(x), y, s(z)) → div(x, y, z)a → b
a → c

Original Signature

Termination of terms over the following signature is verified: ifTimes, plus, b, c, or, a, div, true, ge, if2, lcmIter, 0, lcm, divisible, s, times, if, p, false


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

lcmIter#(x, y, z, u) → or#(ge(0, x), ge(z, u))lcmIter#(x, y, z, u) → ge#(z, u)
if#(false, x, y, z, u) → if2#(divisible(z, y), x, y, z, u)if2#(false, x, y, z, u) → lcmIter#(x, y, plus(x, z), u)
ifTimes#(false, x, y) → times#(y, p(x))lcmIter#(x, y, z, u) → if#(or(ge(0, x), ge(z, u)), x, y, z, u)
if#(false, x, y, z, u) → divisible#(z, y)div#(x, y, 0) → divisible#(x, y)
times#(x, y) → ifTimes#(ge(0, x), x, y)divisible#(s(x), s(y)) → div#(s(x), s(y), s(y))
ifTimes#(false, x, y) → plus#(y, times(y, p(x)))times#(x, y) → ge#(0, x)
lcm#(x, y) → times#(x, y)div#(s(x), y, s(z)) → div#(x, y, z)
plus#(s(x), y) → plus#(x, y)lcm#(x, y) → lcmIter#(x, y, 0, times(x, y))
lcmIter#(x, y, z, u) → ge#(0, x)ifTimes#(false, x, y) → p#(x)
ge#(s(x), s(y)) → ge#(x, y)if2#(false, x, y, z, u) → plus#(x, z)

Rewrite Rules

lcm(x, y) → lcmIter(x, y, 0, times(x, y))lcmIter(x, y, z, u) → if(or(ge(0, x), ge(z, u)), x, y, z, u)
if(true, x, y, z, u) → zif(false, x, y, z, u) → if2(divisible(z, y), x, y, z, u)
if2(true, x, y, z, u) → zif2(false, x, y, z, u) → lcmIter(x, y, plus(x, z), u)
plus(0, y) → yplus(s(x), y) → s(plus(x, y))
times(x, y) → ifTimes(ge(0, x), x, y)ifTimes(true, x, y) → 0
ifTimes(false, x, y) → plus(y, times(y, p(x)))p(s(x)) → x
p(0) → s(s(0))ge(x, 0) → true
ge(0, s(y)) → falsege(s(x), s(y)) → ge(x, y)
or(true, y) → trueor(false, y) → y
divisible(0, s(y)) → truedivisible(s(x), s(y)) → div(s(x), s(y), s(y))
div(x, y, 0) → divisible(x, y)div(0, y, s(z)) → false
div(s(x), y, s(z)) → div(x, y, z)a → b
a → c

Original Signature

Termination of terms over the following signature is verified: ifTimes, plus, b, c, or, a, div, true, ge, if2, lcmIter, 0, lcm, s, divisible, times, if, p, false

Strategy


The following SCCs where found

ifTimes#(false, x, y) → times#(y, p(x))times#(x, y) → ifTimes#(ge(0, x), x, y)

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

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

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

if#(false, x, y, z, u) → if2#(divisible(z, y), x, y, z, u)if2#(false, x, y, z, u) → lcmIter#(x, y, plus(x, z), u)
lcmIter#(x, y, z, u) → if#(or(ge(0, x), ge(z, u)), x, y, z, u)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

lcm(x, y) → lcmIter(x, y, 0, times(x, y))lcmIter(x, y, z, u) → if(or(ge(0, x), ge(z, u)), x, y, z, u)
if(true, x, y, z, u) → zif(false, x, y, z, u) → if2(divisible(z, y), x, y, z, u)
if2(true, x, y, z, u) → zif2(false, x, y, z, u) → lcmIter(x, y, plus(x, z), u)
plus(0, y) → yplus(s(x), y) → s(plus(x, y))
times(x, y) → ifTimes(ge(0, x), x, y)ifTimes(true, x, y) → 0
ifTimes(false, x, y) → plus(y, times(y, p(x)))p(s(x)) → x
p(0) → s(s(0))ge(x, 0) → true
ge(0, s(y)) → falsege(s(x), s(y)) → ge(x, y)
or(true, y) → trueor(false, y) → y
divisible(0, s(y)) → truedivisible(s(x), s(y)) → div(s(x), s(y), s(y))
div(x, y, 0) → divisible(x, y)div(0, y, s(z)) → false
div(s(x), y, s(z)) → div(x, y, z)a → b
a → c

Original Signature

Termination of terms over the following signature is verified: ifTimes, plus, b, c, or, a, div, true, ge, if2, lcmIter, 0, lcm, s, divisible, times, if, p, false

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

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

Rewrite Rules

lcm(x, y) → lcmIter(x, y, 0, times(x, y))lcmIter(x, y, z, u) → if(or(ge(0, x), ge(z, u)), x, y, z, u)
if(true, x, y, z, u) → zif(false, x, y, z, u) → if2(divisible(z, y), x, y, z, u)
if2(true, x, y, z, u) → zif2(false, x, y, z, u) → lcmIter(x, y, plus(x, z), u)
plus(0, y) → yplus(s(x), y) → s(plus(x, y))
times(x, y) → ifTimes(ge(0, x), x, y)ifTimes(true, x, y) → 0
ifTimes(false, x, y) → plus(y, times(y, p(x)))p(s(x)) → x
p(0) → s(s(0))ge(x, 0) → true
ge(0, s(y)) → falsege(s(x), s(y)) → ge(x, y)
or(true, y) → trueor(false, y) → y
divisible(0, s(y)) → truedivisible(s(x), s(y)) → div(s(x), s(y), s(y))
div(x, y, 0) → divisible(x, y)div(0, y, s(z)) → false
div(s(x), y, s(z)) → div(x, y, z)a → b
a → c

Original Signature

Termination of terms over the following signature is verified: ifTimes, plus, b, c, or, a, div, true, ge, if2, lcmIter, 0, lcm, s, divisible, times, if, p, false

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 7: DependencyGraph



Dependency Pair Problem

Dependency Pairs

div#(x, y, 0) → divisible#(x, y)divisible#(s(x), s(y)) → div#(s(x), s(y), s(y))

Rewrite Rules

lcm(x, y) → lcmIter(x, y, 0, times(x, y))lcmIter(x, y, z, u) → if(or(ge(0, x), ge(z, u)), x, y, z, u)
if(true, x, y, z, u) → zif(false, x, y, z, u) → if2(divisible(z, y), x, y, z, u)
if2(true, x, y, z, u) → zif2(false, x, y, z, u) → lcmIter(x, y, plus(x, z), u)
plus(0, y) → yplus(s(x), y) → s(plus(x, y))
times(x, y) → ifTimes(ge(0, x), x, y)ifTimes(true, x, y) → 0
ifTimes(false, x, y) → plus(y, times(y, p(x)))p(s(x)) → x
p(0) → s(s(0))ge(x, 0) → true
ge(0, s(y)) → falsege(s(x), s(y)) → ge(x, y)
or(true, y) → trueor(false, y) → y
divisible(0, s(y)) → truedivisible(s(x), s(y)) → div(s(x), s(y), s(y))
div(x, y, 0) → divisible(x, y)div(0, y, s(z)) → false
div(s(x), y, s(z)) → div(x, y, z)a → b
a → c

Original Signature

Termination of terms over the following signature is verified: ifTimes, plus, b, c, or, a, div, true, ge, if2, lcmIter, 0, lcm, divisible, s, times, if, p, false

Strategy


There are no SCCs!

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

lcm(x, y) → lcmIter(x, y, 0, times(x, y))lcmIter(x, y, z, u) → if(or(ge(0, x), ge(z, u)), x, y, z, u)
if(true, x, y, z, u) → zif(false, x, y, z, u) → if2(divisible(z, y), x, y, z, u)
if2(true, x, y, z, u) → zif2(false, x, y, z, u) → lcmIter(x, y, plus(x, z), u)
plus(0, y) → yplus(s(x), y) → s(plus(x, y))
times(x, y) → ifTimes(ge(0, x), x, y)ifTimes(true, x, y) → 0
ifTimes(false, x, y) → plus(y, times(y, p(x)))p(s(x)) → x
p(0) → s(s(0))ge(x, 0) → true
ge(0, s(y)) → falsege(s(x), s(y)) → ge(x, y)
or(true, y) → trueor(false, y) → y
divisible(0, s(y)) → truedivisible(s(x), s(y)) → div(s(x), s(y), s(y))
div(x, y, 0) → divisible(x, y)div(0, y, s(z)) → false
div(s(x), y, s(z)) → div(x, y, z)a → b
a → c

Original Signature

Termination of terms over the following signature is verified: ifTimes, plus, b, c, or, a, div, true, ge, if2, lcmIter, 0, lcm, s, divisible, times, if, p, false

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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