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 (131ms).
| Problem 2 was processed with processor PolynomialLinearRange4iUR (273ms).
| | Problem 9 was processed with processor PolynomialLinearRange4iUR (190ms).
| | | Problem 10 was processed with processor DependencyGraph (0ms).
| Problem 3 was processed with processor SubtermCriterion (1ms).
| Problem 4 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (3ms), PolynomialLinearRange4iUR (1631ms), DependencyGraph (1ms), PolynomialLinearRange4iUR (1568ms), DependencyGraph (2ms), PolynomialLinearRange4iUR (1476ms), DependencyGraph (2ms), PolynomialLinearRange8NegiUR (21476ms), DependencyGraph (1ms), ReductionPairSAT (1206ms), DependencyGraph (0ms), SizeChangePrinciple (timeout)].
| Problem 5 was processed with processor SubtermCriterion (1ms).
| | Problem 8 was processed with processor DependencyGraph (2ms).
| Problem 6 was processed with processor SubtermCriterion (0ms).
| Problem 7 was processed with processor SubtermCriterion (1ms).
The following open problems remain:
Open Dependency Pair Problem 4
Dependency Pairs
sort#(cons(x, xs)) | → | sort#(h(del(max(cons(x, xs)), cons(x, xs)))) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, nil, cons, eq
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
if1#(false, x, y, xs) | → | max#(cons(y, xs)) | | sort#(cons(x, xs)) | → | max#(cons(x, xs)) |
del#(x, cons(y, xs)) | → | if2#(eq(x, y), x, y, xs) | | if2#(false, x, y, xs) | → | del#(x, xs) |
sort#(cons(x, xs)) | → | sort#(h(del(max(cons(x, xs)), cons(x, xs)))) | | sort#(cons(x, xs)) | → | h#(del(max(cons(x, xs)), cons(x, xs))) |
sort#(cons(x, xs)) | → | del#(max(cons(x, xs)), cons(x, xs)) | | h#(cons(x, xs)) | → | h#(xs) |
if1#(true, x, y, xs) | → | max#(cons(x, xs)) | | max#(cons(x, cons(y, xs))) | → | ge#(x, y) |
del#(x, cons(y, xs)) | → | eq#(x, y) | | ge#(s(x), s(y)) | → | ge#(x, y) |
eq#(s(x), s(y)) | → | eq#(x, y) | | max#(cons(x, cons(y, xs))) | → | if1#(ge(x, y), x, y, xs) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, eq, nil, cons
Strategy
The following SCCs where found
ge#(s(x), s(y)) → ge#(x, y) |
del#(x, cons(y, xs)) → if2#(eq(x, y), x, y, xs) | if2#(false, x, y, xs) → del#(x, xs) |
eq#(s(x), s(y)) → eq#(x, y) |
if1#(false, x, y, xs) → max#(cons(y, xs)) | if1#(true, x, y, xs) → max#(cons(x, xs)) |
max#(cons(x, cons(y, xs))) → if1#(ge(x, y), x, y, xs) |
sort#(cons(x, xs)) → sort#(h(del(max(cons(x, xs)), cons(x, xs)))) |
Problem 2: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
if1#(false, x, y, xs) | → | max#(cons(y, xs)) | | if1#(true, x, y, xs) | → | max#(cons(x, xs)) |
max#(cons(x, cons(y, xs))) | → | if1#(ge(x, y), x, y, xs) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, eq, nil, cons
Strategy
Polynomial Interpretation
- 0: 2
- cons(x,y): 2y + 2x
- del(x,y): 0
- eq(x,y): 0
- false: 0
- ge(x,y): y
- h(x): 0
- if1(x1,x2,x3,x4): 0
- if1#(x1,x2,x3,x4): 3x4 + 2x3 + 2x2 + 2x1
- if2(x1,x2,x3,x4): 0
- max(x): 0
- max#(x): x
- nil: 0
- s(x): 2x + 2
- sort(x): 0
- true: 1
Improved Usable rules
ge(0, s(x)) | → | false | | ge(s(x), 0) | → | true |
ge(0, 0) | → | true | | ge(s(x), s(y)) | → | ge(x, y) |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
if1#(true, x, y, xs) | → | max#(cons(x, xs)) |
Problem 9: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
if1#(false, x, y, xs) | → | max#(cons(y, xs)) | | max#(cons(x, cons(y, xs))) | → | if1#(ge(x, y), x, y, xs) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, cons, eq, nil
Strategy
Polynomial Interpretation
- 0: 1
- cons(x,y): y + x
- del(x,y): 0
- eq(x,y): 0
- false: 1
- ge(x,y): x
- h(x): 0
- if1(x1,x2,x3,x4): 0
- if1#(x1,x2,x3,x4): 2x4 + 2x3 + 2x1
- if2(x1,x2,x3,x4): 0
- max(x): 0
- max#(x): 2x + 2
- nil: 0
- s(x): x + 1
- sort(x): 0
- true: 1
Improved Usable rules
ge(0, s(x)) | → | false | | ge(s(x), 0) | → | true |
ge(0, 0) | → | true | | ge(s(x), s(y)) | → | ge(x, y) |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
max#(cons(x, cons(y, xs))) | → | if1#(ge(x, y), x, y, xs) |
Problem 10: DependencyGraph
Dependency Pair Problem
Dependency Pairs
if1#(false, x, y, xs) | → | max#(cons(y, xs)) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, nil, cons, eq
Strategy
There are no SCCs!
Problem 3: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
eq#(s(x), s(y)) | → | eq#(x, y) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, eq, nil, cons
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
eq#(s(x), s(y)) | → | eq#(x, y) |
Problem 5: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
del#(x, cons(y, xs)) | → | if2#(eq(x, y), x, y, xs) | | if2#(false, x, y, xs) | → | del#(x, xs) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, eq, nil, cons
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
del#(x, cons(y, xs)) | → | if2#(eq(x, y), x, y, xs) |
Problem 8: DependencyGraph
Dependency Pair Problem
Dependency Pairs
if2#(false, x, y, xs) | → | del#(x, xs) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, cons, eq, nil
Strategy
There are no SCCs!
Problem 6: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, eq, nil, cons
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
Problem 7: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
ge#(s(x), s(y)) | → | ge#(x, y) |
Rewrite Rules
max(nil) | → | 0 | | max(cons(x, nil)) | → | x |
max(cons(x, cons(y, xs))) | → | if1(ge(x, y), x, y, xs) | | if1(true, x, y, xs) | → | max(cons(x, xs)) |
if1(false, x, y, xs) | → | max(cons(y, xs)) | | del(x, nil) | → | nil |
del(x, cons(y, xs)) | → | if2(eq(x, y), x, y, xs) | | if2(true, x, y, xs) | → | xs |
if2(false, x, y, xs) | → | cons(y, del(x, xs)) | | eq(0, 0) | → | true |
eq(0, s(y)) | → | false | | eq(s(x), 0) | → | false |
eq(s(x), s(y)) | → | eq(x, y) | | sort(nil) | → | nil |
sort(cons(x, xs)) | → | cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs))))) | | ge(0, 0) | → | true |
ge(s(x), 0) | → | true | | ge(0, s(x)) | → | false |
ge(s(x), s(y)) | → | ge(x, y) | | h(nil) | → | nil |
h(cons(x, xs)) | → | cons(x, h(xs)) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, h, 0, s, false, del, eq, nil, cons
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
ge#(s(x), s(y)) | → | ge#(x, y) |