TIMEOUT

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

The following DP Processors were used


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

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

if#(true, x, y)rand#(p(x), id_inc(y))rand#(x, y)if#(nonZero(x), x, y)

Rewrite Rules

nonZero(0)falsenonZero(s(x))true
p(s(0))0p(s(s(x)))s(p(s(x)))
id_inc(x)xid_inc(x)s(x)
random(x)rand(x, 0)rand(x, y)if(nonZero(x), x, y)
if(false, x, y)yif(true, x, y)rand(p(x), id_inc(y))

Original Signature

Termination of terms over the following signature is verified: id_inc, 0, nonZero, s, if, p, random, true, false, rand


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

if#(true, x, y)id_inc#(y)if#(true, x, y)rand#(p(x), id_inc(y))
random#(x)rand#(x, 0)rand#(x, y)if#(nonZero(x), x, y)
rand#(x, y)nonZero#(x)p#(s(s(x)))p#(s(x))
if#(true, x, y)p#(x)

Rewrite Rules

nonZero(0)falsenonZero(s(x))true
p(s(0))0p(s(s(x)))s(p(s(x)))
id_inc(x)xid_inc(x)s(x)
random(x)rand(x, 0)rand(x, y)if(nonZero(x), x, y)
if(false, x, y)yif(true, x, y)rand(p(x), id_inc(y))

Original Signature

Termination of terms over the following signature is verified: nonZero, 0, id_inc, s, if, p, random, false, true, rand

Strategy


The following SCCs where found

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

if#(true, x, y) → rand#(p(x), id_inc(y))rand#(x, y) → if#(nonZero(x), x, y)

Problem 2: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

if#(true, x, y)rand#(p(x), id_inc(y))rand#(x, y)if#(nonZero(x), x, y)

Rewrite Rules

nonZero(0)falsenonZero(s(x))true
p(s(0))0p(s(s(x)))s(p(s(x)))
id_inc(x)xid_inc(x)s(x)
random(x)rand(x, 0)rand(x, y)if(nonZero(x), x, y)
if(false, x, y)yif(true, x, y)rand(p(x), id_inc(y))

Original Signature

Termination of terms over the following signature is verified: nonZero, 0, id_inc, s, if, p, random, false, true, rand

Strategy


Instantiation

For all potential predecessors l → r of the rule rand#(x, y) → if#(nonZero(x), x, y) on dependency pair chains it holds that: Thus, rand#(x, y) → if#(nonZero(x), x, y) is replaced by instances determined through the above matching. These instances are:
rand#(p(_x), id_inc(_y)) → if#(nonZero(p(_x)), p(_x), id_inc(_y))

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

nonZero(0)falsenonZero(s(x))true
p(s(0))0p(s(s(x)))s(p(s(x)))
id_inc(x)xid_inc(x)s(x)
random(x)rand(x, 0)rand(x, y)if(nonZero(x), x, y)
if(false, x, y)yif(true, x, y)rand(p(x), id_inc(y))

Original Signature

Termination of terms over the following signature is verified: nonZero, 0, id_inc, s, if, p, random, false, true, rand

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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