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 (38ms).
 | – Problem 2 was processed with processor BackwardInstantiation (2ms).
 |    | – Problem 5 was processed with processor BackwardInstantiation (2ms).
 |    |    | – Problem 6 was processed with processor Propagation (3ms).
 |    |    |    | – Problem 7 remains open; application of the following processors failed [ForwardNarrowing (1ms), BackwardInstantiation (1ms), 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

if_quot#(x, y, false, true)quot#(x, y)quot#(x, y)if_quot#(minus(x, y), y, le(y, 0), le(y, x))

Rewrite Rules

minus(x, x)0minus(0, x)0
minus(x, 0)xminus(s(x), s(y))minus(x, y)
le(0, y)truele(s(x), 0)false
le(s(x), s(y))le(x, y)quot(x, y)if_quot(minus(x, y), y, le(y, 0), le(y, x))
if_quot(x, y, true, z)divByZeroErrorif_quot(x, y, false, true)s(quot(x, y))
if_quot(x, y, false, false)0

Original Signature

Termination of terms over the following signature is verified: minus, 0, le, s, if_quot, divByZeroError, false, true, quot


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

quot#(x, y)le#(y, 0)if_quot#(x, y, false, true)quot#(x, y)
le#(s(x), s(y))le#(x, y)quot#(x, y)minus#(x, y)
minus#(s(x), s(y))minus#(x, y)quot#(x, y)if_quot#(minus(x, y), y, le(y, 0), le(y, x))
quot#(x, y)le#(y, x)

Rewrite Rules

minus(x, x)0minus(0, x)0
minus(x, 0)xminus(s(x), s(y))minus(x, y)
le(0, y)truele(s(x), 0)false
le(s(x), s(y))le(x, y)quot(x, y)if_quot(minus(x, y), y, le(y, 0), le(y, x))
if_quot(x, y, true, z)divByZeroErrorif_quot(x, y, false, true)s(quot(x, y))
if_quot(x, y, false, false)0

Original Signature

Termination of terms over the following signature is verified: 0, minus, s, le, if_quot, divByZeroError, true, false, quot

Strategy


The following SCCs where found

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

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

if_quot#(x, y, false, true) → quot#(x, y)quot#(x, y) → if_quot#(minus(x, y), y, le(y, 0), le(y, x))

Problem 2: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

if_quot#(x, y, false, true)quot#(x, y)quot#(x, y)if_quot#(minus(x, y), y, le(y, 0), le(y, x))

Rewrite Rules

minus(x, x)0minus(0, x)0
minus(x, 0)xminus(s(x), s(y))minus(x, y)
le(0, y)truele(s(x), 0)false
le(s(x), s(y))le(x, y)quot(x, y)if_quot(minus(x, y), y, le(y, 0), le(y, x))
if_quot(x, y, true, z)divByZeroErrorif_quot(x, y, false, true)s(quot(x, y))
if_quot(x, y, false, false)0

Original Signature

Termination of terms over the following signature is verified: 0, minus, s, le, if_quot, divByZeroError, true, false, quot

Strategy


Instantiation

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

Problem 5: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

if_quot#(x, y, false, true)quot#(x, y)quot#(_x, _y)if_quot#(minus(_x, _y), _y, le(_y, 0), le(_y, _x))

Rewrite Rules

minus(x, x)0minus(0, x)0
minus(x, 0)xminus(s(x), s(y))minus(x, y)
le(0, y)truele(s(x), 0)false
le(s(x), s(y))le(x, y)quot(x, y)if_quot(minus(x, y), y, le(y, 0), le(y, x))
if_quot(x, y, true, z)divByZeroErrorif_quot(x, y, false, true)s(quot(x, y))
if_quot(x, y, false, false)0

Original Signature

Termination of terms over the following signature is verified: minus, 0, le, s, if_quot, divByZeroError, false, true, quot

Strategy


Instantiation

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

Problem 6: Propagation



Dependency Pair Problem

Dependency Pairs

if_quot#(x, y, false, true)quot#(x, y)quot#(x, y)if_quot#(minus(x, y), y, le(y, 0), le(y, x))

Rewrite Rules

minus(x, x)0minus(0, x)0
minus(x, 0)xminus(s(x), s(y))minus(x, y)
le(0, y)truele(s(x), 0)false
le(s(x), s(y))le(x, y)quot(x, y)if_quot(minus(x, y), y, le(y, 0), le(y, x))
if_quot(x, y, true, z)divByZeroErrorif_quot(x, y, false, true)s(quot(x, y))
if_quot(x, y, false, false)0

Original Signature

Termination of terms over the following signature is verified: 0, minus, s, le, if_quot, divByZeroError, true, false, quot

Strategy


The dependency pairs if_quot#(x, y, false, true) → quot#(x, y) and quot#(x, y) → if_quot#(minus(x, y), y, le(y, 0), le(y, x)) are consolidated into the rule if_quot#(x, y, false, true) → if_quot#(minus(x, y), y, le(y, 0), le(y, x)) .

This is possible as

The dependency pairs if_quot#(x, y, false, true) → quot#(x, y) and quot#(x, y) → if_quot#(minus(x, y), y, le(y, 0), le(y, x)) are consolidated into the rule if_quot#(x, y, false, true) → if_quot#(minus(x, y), y, le(y, 0), le(y, x)) .

This is possible as


Summary

Removed Dependency PairsAdded Dependency Pairs
if_quot#(x, y, false, true) → quot#(x, y)if_quot#(x, y, false, true) → if_quot#(minus(x, y), y, le(y, 0), le(y, x))
quot#(x, y) → if_quot#(minus(x, y), y, le(y, 0), le(y, x)) 

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

minus#(s(x), s(y))minus#(x, y)

Rewrite Rules

minus(x, x)0minus(0, x)0
minus(x, 0)xminus(s(x), s(y))minus(x, y)
le(0, y)truele(s(x), 0)false
le(s(x), s(y))le(x, y)quot(x, y)if_quot(minus(x, y), y, le(y, 0), le(y, x))
if_quot(x, y, true, z)divByZeroErrorif_quot(x, y, false, true)s(quot(x, y))
if_quot(x, y, false, false)0

Original Signature

Termination of terms over the following signature is verified: 0, minus, s, le, if_quot, divByZeroError, true, false, quot

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

minus#(s(x), s(y))minus#(x, y)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

le#(s(x), s(y))le#(x, y)

Rewrite Rules

minus(x, x)0minus(0, x)0
minus(x, 0)xminus(s(x), s(y))minus(x, y)
le(0, y)truele(s(x), 0)false
le(s(x), s(y))le(x, y)quot(x, y)if_quot(minus(x, y), y, le(y, 0), le(y, x))
if_quot(x, y, true, z)divByZeroErrorif_quot(x, y, false, true)s(quot(x, y))
if_quot(x, y, false, false)0

Original Signature

Termination of terms over the following signature is verified: 0, minus, s, le, if_quot, divByZeroError, true, false, quot

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

le#(s(x), s(y))le#(x, y)