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 (43ms).
 | – Problem 2 was processed with processor BackwardInstantiation (4ms).
 |    | – Problem 6 was processed with processor BackwardInstantiation (2ms).
 |    |    | – Problem 7 was processed with processor Propagation (6ms).
 |    |    |    | – Problem 8 remains open; application of the following processors failed [ForwardNarrowing (0ms), BackwardInstantiation (1ms), ForwardInstantiation (1ms), Propagation (1ms)].
 | – Problem 3 was processed with processor SubtermCriterion (2ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 |    | – Problem 5 was processed with processor PolynomialLinearRange4iUR (28ms).

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

help#(x, y, c) → if#(lt(c, y), x, y, c)if#(true, x, y, c) → help#(x, y, s(c))

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, false, true, lt


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

help#(x, y, c) → if#(lt(c, y), x, y, c)help#(x, y, c) → lt#(c, y)
plus#(x, s(y)) → plus#(x, y)plus#(s(x), y) → plus#(x, y)
if#(true, x, y, c) → plus#(x, help(x, y, s(c)))lt#(s(x), s(y)) → lt#(x, y)
times#(x, y) → help#(x, y, 0)if#(true, x, y, c) → help#(x, y, s(c))

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, true, false, lt

Strategy


The following SCCs where found

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

help#(x, y, c) → if#(lt(c, y), x, y, c)if#(true, x, y, c) → help#(x, y, s(c))

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

Problem 2: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

help#(x, y, c) → if#(lt(c, y), x, y, c)if#(true, x, y, c) → help#(x, y, s(c))

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, true, false, lt

Strategy


Instantiation

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

Problem 6: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

help#(_x, _y, s(_c)) → if#(lt(s(_c), _y), _x, _y, s(_c))if#(true, x, y, c) → help#(x, y, s(c))

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, false, true, lt

Strategy


Instantiation

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

Problem 7: Propagation



Dependency Pair Problem

Dependency Pairs

help#(x, y, s(c)) → if#(lt(s(c), y), x, y, s(c))if#(true, x, y, c) → help#(x, y, s(c))

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, true, false, lt

Strategy


The dependency pairs if#(true, x, y, c) → help#(x, y, s(c)) and help#(x, y, s(c)) → if#(lt(s(c), y), x, y, s(c)) are consolidated into the rule if#(true, x, y, c) → if#(lt(s(c), y), x, y, s(c)) .

This is possible as

The dependency pairs if#(true, x, y, c) → help#(x, y, s(c)) and help#(x, y, s(c)) → if#(lt(s(c), y), x, y, s(c)) are consolidated into the rule if#(true, x, y, c) → if#(lt(s(c), y), x, y, s(c)) .

This is possible as


Summary

Removed Dependency PairsAdded Dependency Pairs
help#(x, y, s(c)) → if#(lt(s(c), y), x, y, s(c))if#(true, x, y, c) → if#(lt(s(c), y), x, y, s(c))
if#(true, x, y, c) → help#(x, y, s(c)) 

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, true, false, lt

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, true, false, lt

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 5: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

times(x, y) → help(x, y, 0)help(x, y, c) → if(lt(c, y), x, y, c)
if(true, x, y, c) → plus(x, help(x, y, s(c)))if(false, x, y, c) → 0
lt(0, s(x)) → truelt(s(x), 0) → false
lt(s(x), s(y)) → lt(x, y)plus(x, 0) → x
plus(0, x) → xplus(x, s(y)) → s(plus(x, y))
plus(s(x), y) → s(plus(x, y))

Original Signature

Termination of terms over the following signature is verified: plus, help, 0, s, times, if, false, true, lt

Strategy


Polynomial Interpretation

There are no usable rules

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

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