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

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

iffact#(x, true)fact#(-(x, s(0)))fact#(x)iffact#(x, ge(x, s(s(0))))

Rewrite Rules

+(x, 0)x+(x, s(y))s(+(x, y))
*(x, 0)0*(x, s(y))+(*(x, y), x)
ge(x, 0)truege(0, s(y))false
ge(s(x), s(y))ge(x, y)-(x, 0)x
-(s(x), s(y))-(x, y)fact(x)iffact(x, ge(x, s(s(0))))
iffact(x, true)*(x, fact(-(x, s(0))))iffact(x, false)s(0)

Original Signature

Termination of terms over the following signature is verified: fact, 0, s, iffact, *, false, true, +, ge, -


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

*#(x, s(y))*#(x, y)fact#(x)ge#(x, s(s(0)))
iffact#(x, true)fact#(-(x, s(0)))+#(x, s(y))+#(x, y)
*#(x, s(y))+#(*(x, y), x)iffact#(x, true)-#(x, s(0))
ge#(s(x), s(y))ge#(x, y)fact#(x)iffact#(x, ge(x, s(s(0))))
iffact#(x, true)*#(x, fact(-(x, s(0))))-#(s(x), s(y))-#(x, y)

Rewrite Rules

+(x, 0)x+(x, s(y))s(+(x, y))
*(x, 0)0*(x, s(y))+(*(x, y), x)
ge(x, 0)truege(0, s(y))false
ge(s(x), s(y))ge(x, y)-(x, 0)x
-(s(x), s(y))-(x, y)fact(x)iffact(x, ge(x, s(s(0))))
iffact(x, true)*(x, fact(-(x, s(0))))iffact(x, false)s(0)

Original Signature

Termination of terms over the following signature is verified: 0, fact, s, iffact, *, +, true, false, ge, -

Strategy


The following SCCs where found

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

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

iffact#(x, true) → fact#(-(x, s(0)))fact#(x) → iffact#(x, ge(x, s(s(0))))

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

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

Problem 2: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

iffact#(x, true)fact#(-(x, s(0)))fact#(x)iffact#(x, ge(x, s(s(0))))

Rewrite Rules

+(x, 0)x+(x, s(y))s(+(x, y))
*(x, 0)0*(x, s(y))+(*(x, y), x)
ge(x, 0)truege(0, s(y))false
ge(s(x), s(y))ge(x, y)-(x, 0)x
-(s(x), s(y))-(x, y)fact(x)iffact(x, ge(x, s(s(0))))
iffact(x, true)*(x, fact(-(x, s(0))))iffact(x, false)s(0)

Original Signature

Termination of terms over the following signature is verified: 0, fact, s, iffact, *, +, true, false, ge, -

Strategy


Instantiation

For all potential predecessors l → r of the rule fact#(x) → iffact#(x, ge(x, s(s(0)))) on dependency pair chains it holds that: Thus, fact#(x) → iffact#(x, ge(x, s(s(0)))) is replaced by instances determined through the above matching. These instances are:
fact#(-(_x, s(0))) → iffact#(-(_x, s(0)), ge(-(_x, s(0)), s(s(0))))

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

ge#(s(x), s(y))ge#(x, y)

Rewrite Rules

+(x, 0)x+(x, s(y))s(+(x, y))
*(x, 0)0*(x, s(y))+(*(x, y), x)
ge(x, 0)truege(0, s(y))false
ge(s(x), s(y))ge(x, y)-(x, 0)x
-(s(x), s(y))-(x, y)fact(x)iffact(x, ge(x, s(s(0))))
iffact(x, true)*(x, fact(-(x, s(0))))iffact(x, false)s(0)

Original Signature

Termination of terms over the following signature is verified: 0, fact, s, iffact, *, +, true, false, ge, -

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

ge#(s(x), s(y))ge#(x, y)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

*#(x, s(y))*#(x, y)

Rewrite Rules

+(x, 0)x+(x, s(y))s(+(x, y))
*(x, 0)0*(x, s(y))+(*(x, y), x)
ge(x, 0)truege(0, s(y))false
ge(s(x), s(y))ge(x, y)-(x, 0)x
-(s(x), s(y))-(x, y)fact(x)iffact(x, ge(x, s(s(0))))
iffact(x, true)*(x, fact(-(x, s(0))))iffact(x, false)s(0)

Original Signature

Termination of terms over the following signature is verified: 0, fact, s, iffact, *, +, true, false, ge, -

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

*#(x, s(y))*#(x, y)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

-#(s(x), s(y))-#(x, y)

Rewrite Rules

+(x, 0)x+(x, s(y))s(+(x, y))
*(x, 0)0*(x, s(y))+(*(x, y), x)
ge(x, 0)truege(0, s(y))false
ge(s(x), s(y))ge(x, y)-(x, 0)x
-(s(x), s(y))-(x, y)fact(x)iffact(x, ge(x, s(s(0))))
iffact(x, true)*(x, fact(-(x, s(0))))iffact(x, false)s(0)

Original Signature

Termination of terms over the following signature is verified: 0, fact, s, iffact, *, +, true, false, ge, -

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

-#(s(x), s(y))-#(x, y)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

+#(x, s(y))+#(x, y)

Rewrite Rules

+(x, 0)x+(x, s(y))s(+(x, y))
*(x, 0)0*(x, s(y))+(*(x, y), x)
ge(x, 0)truege(0, s(y))false
ge(s(x), s(y))ge(x, y)-(x, 0)x
-(s(x), s(y))-(x, y)fact(x)iffact(x, ge(x, s(s(0))))
iffact(x, true)*(x, fact(-(x, s(0))))iffact(x, false)s(0)

Original Signature

Termination of terms over the following signature is verified: 0, fact, s, iffact, *, +, true, false, ge, -

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

+#(x, s(y))+#(x, y)