TIMEOUT

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

The following DP Processors were used


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

The following open problems remain:



Open Dependency Pair Problem 3

Dependency Pairs

cond#(true, x, y)minus#(x, s(y))minus#(x, y)cond#(gt(x, y), x, y)

Rewrite Rules

minus(x, y)cond(gt(x, y), x, y)cond(false, x, y)0
cond(true, x, y)s(minus(x, s(y)))gt(0, v)false
gt(s(u), 0)truegt(s(u), s(v))gt(u, v)

Original Signature

Termination of terms over the following signature is verified: 0, minus, s, true, false, gt, cond


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

cond#(true, x, y)minus#(x, s(y))minus#(x, y)cond#(gt(x, y), x, y)
minus#(x, y)gt#(x, y)gt#(s(u), s(v))gt#(u, v)

Rewrite Rules

minus(x, y)cond(gt(x, y), x, y)cond(false, x, y)0
cond(true, x, y)s(minus(x, s(y)))gt(0, v)false
gt(s(u), 0)truegt(s(u), s(v))gt(u, v)

Original Signature

Termination of terms over the following signature is verified: minus, 0, s, false, true, gt, cond

Strategy


The following SCCs where found

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

cond#(true, x, y) → minus#(x, s(y))minus#(x, y) → cond#(gt(x, y), x, y)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

gt#(s(u), s(v))gt#(u, v)

Rewrite Rules

minus(x, y)cond(gt(x, y), x, y)cond(false, x, y)0
cond(true, x, y)s(minus(x, s(y)))gt(0, v)false
gt(s(u), 0)truegt(s(u), s(v))gt(u, v)

Original Signature

Termination of terms over the following signature is verified: minus, 0, s, false, true, gt, cond

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

gt#(s(u), s(v))gt#(u, v)

Problem 3: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

cond#(true, x, y)minus#(x, s(y))minus#(x, y)cond#(gt(x, y), x, y)

Rewrite Rules

minus(x, y)cond(gt(x, y), x, y)cond(false, x, y)0
cond(true, x, y)s(minus(x, s(y)))gt(0, v)false
gt(s(u), 0)truegt(s(u), s(v))gt(u, v)

Original Signature

Termination of terms over the following signature is verified: minus, 0, s, false, true, gt, cond

Strategy


Instantiation

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

Problem 4: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

cond#(true, x, y)minus#(x, s(y))minus#(_x, s(_y))cond#(gt(_x, s(_y)), _x, s(_y))

Rewrite Rules

minus(x, y)cond(gt(x, y), x, y)cond(false, x, y)0
cond(true, x, y)s(minus(x, s(y)))gt(0, v)false
gt(s(u), 0)truegt(s(u), s(v))gt(u, v)

Original Signature

Termination of terms over the following signature is verified: 0, minus, s, true, false, gt, cond

Strategy


Instantiation

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

Problem 5: Propagation



Dependency Pair Problem

Dependency Pairs

cond#(true, x, y)minus#(x, s(y))minus#(x, s(y))cond#(gt(x, s(y)), x, s(y))

Rewrite Rules

minus(x, y)cond(gt(x, y), x, y)cond(false, x, y)0
cond(true, x, y)s(minus(x, s(y)))gt(0, v)false
gt(s(u), 0)truegt(s(u), s(v))gt(u, v)

Original Signature

Termination of terms over the following signature is verified: minus, 0, s, false, true, gt, cond

Strategy


The dependency pairs cond#(true, x, y) → minus#(x, s(y)) and minus#(x, s(y)) → cond#(gt(x, s(y)), x, s(y)) are consolidated into the rule cond#(true, x, y) → cond#(gt(x, s(y)), x, s(y)) .

This is possible as

The dependency pairs cond#(true, x, y) → minus#(x, s(y)) and minus#(x, s(y)) → cond#(gt(x, s(y)), x, s(y)) are consolidated into the rule cond#(true, x, y) → cond#(gt(x, s(y)), x, s(y)) .

This is possible as


Summary

Removed Dependency PairsAdded Dependency Pairs
minus#(x, s(y)) → cond#(gt(x, s(y)), x, s(y))cond#(true, x, y) → cond#(gt(x, s(y)), x, s(y))
cond#(true, x, y) → minus#(x, s(y))