TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (38ms).
 | – Problem 2 was processed with processor BackwardInstantiation (2ms).
 |    | – Problem 5 remains open; application of the following processors failed [ForwardInstantiation (1ms), Propagation (1ms), ForwardNarrowing (2ms), BackwardInstantiation (2ms), ForwardInstantiation (1ms), Propagation (0ms)].
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

d#(x, s(y), z) → cond#(ge(x, z), x, y, z)cond#(true, x, y, z) → d#(x, s(y), plus(s(y), z))

Rewrite Rules

div(x, s(y)) → d(x, s(y), 0)d(x, s(y), z) → cond(ge(x, z), x, y, z)
cond(true, x, y, z) → s(d(x, s(y), plus(s(y), z)))cond(false, x, y, z) → 0
ge(u, 0) → truege(0, s(v)) → false
ge(s(u), s(v)) → ge(u, v)plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, d, 0, s, div, false, true, ge, cond


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

d#(x, s(y), z) → cond#(ge(x, z), x, y, z)d#(x, s(y), z) → ge#(x, z)
cond#(true, x, y, z) → d#(x, s(y), plus(s(y), z))ge#(s(u), s(v)) → ge#(u, v)
plus#(n, s(m)) → plus#(n, m)cond#(true, x, y, z) → plus#(s(y), z)
div#(x, s(y)) → d#(x, s(y), 0)

Rewrite Rules

div(x, s(y)) → d(x, s(y), 0)d(x, s(y), z) → cond(ge(x, z), x, y, z)
cond(true, x, y, z) → s(d(x, s(y), plus(s(y), z)))cond(false, x, y, z) → 0
ge(u, 0) → truege(0, s(v)) → false
ge(s(u), s(v)) → ge(u, v)plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, d, 0, s, div, true, false, ge, cond

Strategy


The following SCCs where found

ge#(s(u), s(v)) → ge#(u, v)

plus#(n, s(m)) → plus#(n, m)

d#(x, s(y), z) → cond#(ge(x, z), x, y, z)cond#(true, x, y, z) → d#(x, s(y), plus(s(y), z))

Problem 2: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

d#(x, s(y), z) → cond#(ge(x, z), x, y, z)cond#(true, x, y, z) → d#(x, s(y), plus(s(y), z))

Rewrite Rules

div(x, s(y)) → d(x, s(y), 0)d(x, s(y), z) → cond(ge(x, z), x, y, z)
cond(true, x, y, z) → s(d(x, s(y), plus(s(y), z)))cond(false, x, y, z) → 0
ge(u, 0) → truege(0, s(v)) → false
ge(s(u), s(v)) → ge(u, v)plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, d, 0, s, div, true, false, ge, cond

Strategy


Instantiation

For all potential predecessors l → r of the rule d#(x, s(y), z) → cond#(ge(x, z), x, y, z) on dependency pair chains it holds that: Thus, d#(x, s(y), z) → cond#(ge(x, z), x, y, z) is replaced by instances determined through the above matching. These instances are:
d#(_x, s(_y), plus(s(_y), _z)) → cond#(ge(_x, plus(s(_y), _z)), _x, _y, plus(s(_y), _z))

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

plus#(n, s(m)) → plus#(n, m)

Rewrite Rules

div(x, s(y)) → d(x, s(y), 0)d(x, s(y), z) → cond(ge(x, z), x, y, z)
cond(true, x, y, z) → s(d(x, s(y), plus(s(y), z)))cond(false, x, y, z) → 0
ge(u, 0) → truege(0, s(v)) → false
ge(s(u), s(v)) → ge(u, v)plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, d, 0, s, div, true, false, ge, cond

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

plus#(n, s(m)) → plus#(n, m)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

ge#(s(u), s(v)) → ge#(u, v)

Rewrite Rules

div(x, s(y)) → d(x, s(y), 0)d(x, s(y), z) → cond(ge(x, z), x, y, z)
cond(true, x, y, z) → s(d(x, s(y), plus(s(y), z)))cond(false, x, y, z) → 0
ge(u, 0) → truege(0, s(v)) → false
ge(s(u), s(v)) → ge(u, v)plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, d, 0, s, div, true, false, ge, cond

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

ge#(s(u), s(v)) → ge#(u, v)