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 (106ms).
| Problem 2 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (1ms), PolynomialLinearRange4iUR (920ms), DependencyGraph (1ms), PolynomialLinearRange4iUR (753ms), DependencyGraph (2ms), PolynomialLinearRange8NegiUR (9996ms), DependencyGraph (1ms), ReductionPairSAT (831ms), DependencyGraph (1ms), SizeChangePrinciple (timeout)].
| Problem 3 was processed with processor PolynomialLinearRange4iUR (221ms).
| | Problem 8 was processed with processor DependencyGraph (2ms).
| Problem 4 was processed with processor SubtermCriterion (1ms).
| Problem 5 was processed with processor SubtermCriterion (2ms).
| | Problem 7 was processed with processor DependencyGraph (0ms).
| Problem 6 was processed with processor SubtermCriterion (1ms).
The following open problems remain:
Open Dependency Pair Problem 2
Dependency Pairs
sort#(cons(x, xs)) | → | sort#(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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 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)) | → | del#(max(cons(x, xs)), cons(x, xs)) |
if1#(true, x, y, xs) | → | max#(cons(x, xs)) | | sort#(cons(x, xs)) | → | max#(cons(x, xs)) |
max#(cons(x, cons(y, xs))) | → | ge#(x, y) | | del#(x, cons(y, xs)) | → | eq#(x, y) |
del#(x, cons(y, xs)) | → | if2#(eq(x, y), x, y, xs) | | 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) |
if2#(false, x, y, xs) | → | del#(x, xs) | | sort#(cons(x, xs)) | → | sort#(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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 0, s, false, del, nil, cons, eq
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#(del(max(cons(x, xs)), cons(x, xs))) |
Problem 3: 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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 0, s, false, del, nil, cons, eq
Strategy
Polynomial Interpretation
- 0: 1
- cons(x,y): y + 1
- del(x,y): 0
- eq(x,y): 0
- false: 0
- ge(x,y): x + 1
- if1(x1,x2,x3,x4): 0
- if1#(x1,x2,x3,x4): x4 + 1
- if2(x1,x2,x3,x4): 0
- max(x): 0
- max#(x): x
- nil: 0
- s(x): 1
- sort(x): 0
- true: 0
Improved Usable rules
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 8: DependencyGraph
Dependency Pair Problem
Dependency Pairs
if1#(false, x, y, xs) | → | max#(cons(y, xs)) | | if1#(true, x, y, xs) | → | max#(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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 0, s, false, del, nil, cons, eq
Strategy
There are no SCCs!
Problem 4: 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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 0, s, false, del, nil, cons, eq
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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 0, s, false, del, nil, cons, eq
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 7: 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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 0, s, false, del, nil, cons, eq
Strategy
There are no SCCs!
Problem 6: 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(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) |
Original Signature
Termination of terms over the following signature is verified: max, sort, true, if1, ge, if2, 0, s, false, del, nil, cons, eq
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
ge#(s(x), s(y)) | → | ge#(x, y) |