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 (71ms).
 |  Problem 2 was processed with processor SubtermCriterion (2ms).
 |  Problem 3 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (2ms), PolynomialLinearRange4iUR (433ms), DependencyGraph (3ms), PolynomialLinearRange8NegiUR (1106ms), DependencyGraph (2ms), ReductionPairSAT (1689ms), DependencyGraph (1ms), SizeChangePrinciple (timeout)].
 |  Problem 4 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (4ms), PolynomialLinearRange4iUR (93ms), DependencyGraph (2ms), PolynomialLinearRange8NegiUR (413ms), DependencyGraph (3ms), ReductionPairSAT (1432ms), DependencyGraph (1ms)].
The following open problems remain:
Open Dependency Pair Problem 3
Dependency Pairs
| sumIter#(xs, x) | → | ifSum#(isempty(xs), xs, x, plus(x, head(xs))) |  | ifSum#(false, xs, x, y) | → | sumIter#(tail(xs), y) | 
Rewrite Rules
| plus(x, y) | → | plusIter(x, y, 0) |  | plusIter(x, y, z) | → | ifPlus(le(x, z), x, y, z) | 
| ifPlus(true, x, y, z) | → | y |  | ifPlus(false, x, y, z) | → | plusIter(x, s(y), s(z)) | 
| le(s(x), 0) | → | false |  | le(0, y) | → | true | 
| le(s(x), s(y)) | → | le(x, y) |  | sum(xs) | → | sumIter(xs, 0) | 
| sumIter(xs, x) | → | ifSum(isempty(xs), xs, x, plus(x, head(xs))) |  | ifSum(true, xs, x, y) | → | x | 
| ifSum(false, xs, x, y) | → | sumIter(tail(xs), y) |  | isempty(nil) | → | true | 
| isempty(cons(x, xs)) | → | false |  | head(nil) | → | error | 
| head(cons(x, xs)) | → | x |  | tail(nil) | → | nil | 
| tail(cons(x, xs)) | → | xs |  | a | → | b | 
| a | → | c | 
Original Signature
Termination of terms over the following signature is verified: plus, b, error, c, plusIter, a, true, sum, sumIter, tail, ifPlus, 0, le, s, isempty, ifSum, false, head, cons, nil
 
Open Dependency Pair Problem 4
Dependency Pairs
| ifPlus#(false, x, y, z) | → | plusIter#(x, s(y), s(z)) |  | plusIter#(x, y, z) | → | ifPlus#(le(x, z), x, y, z) | 
Rewrite Rules
| plus(x, y) | → | plusIter(x, y, 0) |  | plusIter(x, y, z) | → | ifPlus(le(x, z), x, y, z) | 
| ifPlus(true, x, y, z) | → | y |  | ifPlus(false, x, y, z) | → | plusIter(x, s(y), s(z)) | 
| le(s(x), 0) | → | false |  | le(0, y) | → | true | 
| le(s(x), s(y)) | → | le(x, y) |  | sum(xs) | → | sumIter(xs, 0) | 
| sumIter(xs, x) | → | ifSum(isempty(xs), xs, x, plus(x, head(xs))) |  | ifSum(true, xs, x, y) | → | x | 
| ifSum(false, xs, x, y) | → | sumIter(tail(xs), y) |  | isempty(nil) | → | true | 
| isempty(cons(x, xs)) | → | false |  | head(nil) | → | error | 
| head(cons(x, xs)) | → | x |  | tail(nil) | → | nil | 
| tail(cons(x, xs)) | → | xs |  | a | → | b | 
| a | → | c | 
Original Signature
Termination of terms over the following signature is verified: plus, b, error, c, plusIter, a, true, sum, sumIter, tail, ifPlus, 0, le, s, isempty, ifSum, false, head, cons, nil
 
 Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
| ifPlus#(false, x, y, z) | → | plusIter#(x, s(y), s(z)) |  | sum#(xs) | → | sumIter#(xs, 0) | 
| sumIter#(xs, x) | → | ifSum#(isempty(xs), xs, x, plus(x, head(xs))) |  | le#(s(x), s(y)) | → | le#(x, y) | 
| sumIter#(xs, x) | → | isempty#(xs) |  | plusIter#(x, y, z) | → | ifPlus#(le(x, z), x, y, z) | 
| sumIter#(xs, x) | → | plus#(x, head(xs)) |  | plusIter#(x, y, z) | → | le#(x, z) | 
| sumIter#(xs, x) | → | head#(xs) |  | ifSum#(false, xs, x, y) | → | sumIter#(tail(xs), y) | 
| ifSum#(false, xs, x, y) | → | tail#(xs) |  | plus#(x, y) | → | plusIter#(x, y, 0) | 
Rewrite Rules
| plus(x, y) | → | plusIter(x, y, 0) |  | plusIter(x, y, z) | → | ifPlus(le(x, z), x, y, z) | 
| ifPlus(true, x, y, z) | → | y |  | ifPlus(false, x, y, z) | → | plusIter(x, s(y), s(z)) | 
| le(s(x), 0) | → | false |  | le(0, y) | → | true | 
| le(s(x), s(y)) | → | le(x, y) |  | sum(xs) | → | sumIter(xs, 0) | 
| sumIter(xs, x) | → | ifSum(isempty(xs), xs, x, plus(x, head(xs))) |  | ifSum(true, xs, x, y) | → | x | 
| ifSum(false, xs, x, y) | → | sumIter(tail(xs), y) |  | isempty(nil) | → | true | 
| isempty(cons(x, xs)) | → | false |  | head(nil) | → | error | 
| head(cons(x, xs)) | → | x |  | tail(nil) | → | nil | 
| tail(cons(x, xs)) | → | xs |  | a | → | b | 
| a | → | c | 
Original Signature
Termination of terms over the following signature is verified: plus, b, error, c, plusIter, a, true, sum, sumIter, tail, ifPlus, 0, s, le, isempty, ifSum, false, head, nil, cons
Strategy
The following SCCs where found
| le#(s(x), s(y)) → le#(x, y) | 
| ifPlus#(false, x, y, z) → plusIter#(x, s(y), s(z)) | plusIter#(x, y, z) → ifPlus#(le(x, z), x, y, z) | 
| sumIter#(xs, x) → ifSum#(isempty(xs), xs, x, plus(x, head(xs))) | ifSum#(false, xs, x, y) → sumIter#(tail(xs), y) | 
 
 Problem 2: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
| le#(s(x), s(y)) | → | le#(x, y) | 
Rewrite Rules
| plus(x, y) | → | plusIter(x, y, 0) |  | plusIter(x, y, z) | → | ifPlus(le(x, z), x, y, z) | 
| ifPlus(true, x, y, z) | → | y |  | ifPlus(false, x, y, z) | → | plusIter(x, s(y), s(z)) | 
| le(s(x), 0) | → | false |  | le(0, y) | → | true | 
| le(s(x), s(y)) | → | le(x, y) |  | sum(xs) | → | sumIter(xs, 0) | 
| sumIter(xs, x) | → | ifSum(isempty(xs), xs, x, plus(x, head(xs))) |  | ifSum(true, xs, x, y) | → | x | 
| ifSum(false, xs, x, y) | → | sumIter(tail(xs), y) |  | isempty(nil) | → | true | 
| isempty(cons(x, xs)) | → | false |  | head(nil) | → | error | 
| head(cons(x, xs)) | → | x |  | tail(nil) | → | nil | 
| tail(cons(x, xs)) | → | xs |  | a | → | b | 
| a | → | c | 
Original Signature
Termination of terms over the following signature is verified: plus, b, error, c, plusIter, a, true, sum, sumIter, tail, ifPlus, 0, s, le, isempty, ifSum, false, head, nil, cons
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed: 
| le#(s(x), s(y)) | → | le#(x, y) |