TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60043 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (72ms).
| Problem 2 was processed with processor SubtermCriterion (1ms).
| Problem 3 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (4ms), PolynomialLinearRange4iUR (564ms), DependencyGraph (4ms), PolynomialLinearRange8NegiUR (14129ms), DependencyGraph (23ms), ReductionPairSAT (timeout)].
| Problem 4 was processed with processor SubtermCriterion (0ms).
| Problem 5 was processed with processor SubtermCriterion (1ms).
The following open problems remain:
Open Dependency Pair Problem 3
Dependency Pairs
if#(false, x, b, y, z) | → | loop#(x, b, times(b, y), s(z)) | | loop#(x, s(s(b)), s(y), z) | → | if#(le(x, s(y)), x, s(s(b)), s(y), z) |
Rewrite Rules
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | plus(0, y) | → | y |
plus(s(x), y) | → | s(plus(x, y)) | | times(0, y) | → | 0 |
times(s(x), y) | → | plus(y, times(x, y)) | | log(x, 0) | → | baseError |
log(x, s(0)) | → | baseError | | log(0, s(s(b))) | → | logZeroError |
log(s(x), s(s(b))) | → | loop(s(x), s(s(b)), s(0), 0) | | loop(x, s(s(b)), s(y), z) | → | if(le(x, s(y)), x, s(s(b)), s(y), z) |
if(true, x, b, y, z) | → | z | | if(false, x, b, y, z) | → | loop(x, b, times(b, y), s(z)) |
Original Signature
Termination of terms over the following signature is verified: baseError, plus, 0, s, le, times, if, loop, true, false, logZeroError, log
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
times#(s(x), y) | → | plus#(y, times(x, y)) | | le#(s(x), s(y)) | → | le#(x, y) |
loop#(x, s(s(b)), s(y), z) | → | le#(x, s(y)) | | times#(s(x), y) | → | times#(x, y) |
if#(false, x, b, y, z) | → | loop#(x, b, times(b, y), s(z)) | | plus#(s(x), y) | → | plus#(x, y) |
if#(false, x, b, y, z) | → | times#(b, y) | | log#(s(x), s(s(b))) | → | loop#(s(x), s(s(b)), s(0), 0) |
loop#(x, s(s(b)), s(y), z) | → | if#(le(x, s(y)), x, s(s(b)), s(y), z) |
Rewrite Rules
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | plus(0, y) | → | y |
plus(s(x), y) | → | s(plus(x, y)) | | times(0, y) | → | 0 |
times(s(x), y) | → | plus(y, times(x, y)) | | log(x, 0) | → | baseError |
log(x, s(0)) | → | baseError | | log(0, s(s(b))) | → | logZeroError |
log(s(x), s(s(b))) | → | loop(s(x), s(s(b)), s(0), 0) | | loop(x, s(s(b)), s(y), z) | → | if(le(x, s(y)), x, s(s(b)), s(y), z) |
if(true, x, b, y, z) | → | z | | if(false, x, b, y, z) | → | loop(x, b, times(b, y), s(z)) |
Original Signature
Termination of terms over the following signature is verified: plus, baseError, 0, le, s, times, if, loop, false, true, logZeroError, log
Strategy
The following SCCs where found
if#(false, x, b, y, z) → loop#(x, b, times(b, y), s(z)) | loop#(x, s(s(b)), s(y), z) → if#(le(x, s(y)), x, s(s(b)), s(y), z) |
le#(s(x), s(y)) → le#(x, y) |
times#(s(x), y) → times#(x, y) |
plus#(s(x), y) → plus#(x, y) |
Problem 2: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
le#(s(x), s(y)) | → | le#(x, y) |
Rewrite Rules
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | plus(0, y) | → | y |
plus(s(x), y) | → | s(plus(x, y)) | | times(0, y) | → | 0 |
times(s(x), y) | → | plus(y, times(x, y)) | | log(x, 0) | → | baseError |
log(x, s(0)) | → | baseError | | log(0, s(s(b))) | → | logZeroError |
log(s(x), s(s(b))) | → | loop(s(x), s(s(b)), s(0), 0) | | loop(x, s(s(b)), s(y), z) | → | if(le(x, s(y)), x, s(s(b)), s(y), z) |
if(true, x, b, y, z) | → | z | | if(false, x, b, y, z) | → | loop(x, b, times(b, y), s(z)) |
Original Signature
Termination of terms over the following signature is verified: plus, baseError, 0, le, s, times, if, loop, false, true, logZeroError, log
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
le#(s(x), s(y)) | → | le#(x, y) |
Problem 4: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
plus#(s(x), y) | → | plus#(x, y) |
Rewrite Rules
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | plus(0, y) | → | y |
plus(s(x), y) | → | s(plus(x, y)) | | times(0, y) | → | 0 |
times(s(x), y) | → | plus(y, times(x, y)) | | log(x, 0) | → | baseError |
log(x, s(0)) | → | baseError | | log(0, s(s(b))) | → | logZeroError |
log(s(x), s(s(b))) | → | loop(s(x), s(s(b)), s(0), 0) | | loop(x, s(s(b)), s(y), z) | → | if(le(x, s(y)), x, s(s(b)), s(y), z) |
if(true, x, b, y, z) | → | z | | if(false, x, b, y, z) | → | loop(x, b, times(b, y), s(z)) |
Original Signature
Termination of terms over the following signature is verified: plus, baseError, 0, le, s, times, if, loop, false, true, logZeroError, log
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
plus#(s(x), y) | → | plus#(x, y) |
Problem 5: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
times#(s(x), y) | → | times#(x, y) |
Rewrite Rules
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | plus(0, y) | → | y |
plus(s(x), y) | → | s(plus(x, y)) | | times(0, y) | → | 0 |
times(s(x), y) | → | plus(y, times(x, y)) | | log(x, 0) | → | baseError |
log(x, s(0)) | → | baseError | | log(0, s(s(b))) | → | logZeroError |
log(s(x), s(s(b))) | → | loop(s(x), s(s(b)), s(0), 0) | | loop(x, s(s(b)), s(y), z) | → | if(le(x, s(y)), x, s(s(b)), s(y), z) |
if(true, x, b, y, z) | → | z | | if(false, x, b, y, z) | → | loop(x, b, times(b, y), s(z)) |
Original Signature
Termination of terms over the following signature is verified: plus, baseError, 0, le, s, times, if, loop, false, true, logZeroError, log
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
times#(s(x), y) | → | times#(x, y) |