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 (893ms).
| Problem 2 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (9ms), PolynomialLinearRange4iUR (1459ms), DependencyGraph (11ms), PolynomialLinearRange4iUR (1361ms), DependencyGraph (51ms), PolynomialLinearRange4iUR (1021ms), DependencyGraph (8ms), PolynomialLinearRange8NegiUR (10622ms), DependencyGraph (9ms), ReductionPairSAT (1080ms), DependencyGraph (32ms), SizeChangePrinciple (timeout)].
| Problem 3 was processed with processor PolynomialLinearRange4iUR (416ms).
| | Problem 8 was processed with processor DependencyGraph (10ms).
| | | Problem 9 was processed with processor PolynomialLinearRange4iUR (278ms).
| | | Problem 10 was processed with processor PolynomialLinearRange4iUR (71ms).
| | | | Problem 11 was processed with processor DependencyGraph (0ms).
| Problem 4 was processed with processor SubtermCriterion (4ms).
| Problem 5 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (2ms), PolynomialLinearRange4iUR (340ms), DependencyGraph (1ms), PolynomialLinearRange4iUR (244ms), DependencyGraph (1ms), PolynomialLinearRange4iUR (284ms), DependencyGraph (1ms), PolynomialLinearRange8NegiUR (2355ms), DependencyGraph (2ms), ReductionPairSAT (561ms), 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 2
Dependency Pairs
sel1#(s(X), cons(Y, Z)) | → | sel1#(X, activate(Z)) | | quote#(n__s(X)) | → | quote#(activate(X)) |
quote#(n__sel(X, Z)) | → | sel1#(activate(X), activate(Z)) | | sel1#(0, cons(X, Z)) | → | quote#(X) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, activate, n__s, n__0, unquote, sel1, n__first, unquote1, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Open Dependency Pair Problem 5
Dependency Pairs
quote1#(n__cons(X, Z)) | → | quote1#(activate(Z)) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, activate, n__s, n__0, unquote, sel1, n__first, unquote1, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
quote#(n__sel(X, Z)) | → | activate#(X) | | from#(X) | → | cons#(X, n__from(s(X))) |
quote1#(n__first(X, Z)) | → | activate#(Z) | | quote1#(n__cons(X, Z)) | → | quote#(activate(X)) |
sel#(s(X), cons(Y, Z)) | → | sel#(X, activate(Z)) | | quote1#(n__first(X, Z)) | → | activate#(X) |
unquote1#(cons1(X, Z)) | → | fcons#(unquote(X), unquote1(Z)) | | activate#(n__sel(X1, X2)) | → | sel#(X1, X2) |
unquote1#(cons1(X, Z)) | → | unquote1#(Z) | | sel#(s(X), cons(Y, Z)) | → | activate#(Z) |
first#(s(X), cons(Y, Z)) | → | activate#(Z) | | quote#(n__sel(X, Z)) | → | sel1#(activate(X), activate(Z)) |
first#(0, Z) | → | nil# | | quote1#(n__cons(X, Z)) | → | activate#(X) |
activate#(n__cons(X1, X2)) | → | cons#(X1, X2) | | activate#(n__first(X1, X2)) | → | first#(X1, X2) |
first1#(s(X), cons(Y, Z)) | → | first1#(X, activate(Z)) | | first1#(s(X), cons(Y, Z)) | → | activate#(Z) |
sel1#(0, cons(X, Z)) | → | quote#(X) | | fcons#(X, Z) | → | cons#(X, Z) |
quote1#(n__cons(X, Z)) | → | activate#(Z) | | unquote#(s1(X)) | → | unquote#(X) |
sel1#(s(X), cons(Y, Z)) | → | activate#(Z) | | first1#(s(X), cons(Y, Z)) | → | quote#(Y) |
quote#(n__s(X)) | → | activate#(X) | | unquote1#(nil1) | → | nil# |
quote1#(n__first(X, Z)) | → | first1#(activate(X), activate(Z)) | | activate#(n__from(X)) | → | from#(X) |
unquote1#(cons1(X, Z)) | → | unquote#(X) | | unquote#(01) | → | 0# |
unquote#(s1(X)) | → | s#(unquote(X)) | | activate#(n__s(X)) | → | s#(X) |
quote#(n__sel(X, Z)) | → | activate#(Z) | | sel1#(s(X), cons(Y, Z)) | → | sel1#(X, activate(Z)) |
activate#(n__nil) | → | nil# | | quote#(n__s(X)) | → | quote#(activate(X)) |
from#(X) | → | s#(X) | | first#(s(X), cons(Y, Z)) | → | cons#(Y, n__first(X, activate(Z))) |
activate#(n__0) | → | 0# | | quote1#(n__cons(X, Z)) | → | quote1#(activate(Z)) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, n__s, activate, unquote, n__0, sel1, unquote1, n__first, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
The following SCCs where found
unquote1#(cons1(X, Z)) → unquote1#(Z) |
unquote#(s1(X)) → unquote#(X) |
sel1#(s(X), cons(Y, Z)) → sel1#(X, activate(Z)) | quote#(n__s(X)) → quote#(activate(X)) |
quote#(n__sel(X, Z)) → sel1#(activate(X), activate(Z)) | sel1#(0, cons(X, Z)) → quote#(X) |
first1#(s(X), cons(Y, Z)) → first1#(X, activate(Z)) |
quote1#(n__cons(X, Z)) → quote1#(activate(Z)) |
activate#(n__sel(X1, X2)) → sel#(X1, X2) | sel#(s(X), cons(Y, Z)) → activate#(Z) |
first#(s(X), cons(Y, Z)) → activate#(Z) | activate#(n__first(X1, X2)) → first#(X1, X2) |
sel#(s(X), cons(Y, Z)) → sel#(X, activate(Z)) |
Problem 3: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
activate#(n__sel(X1, X2)) | → | sel#(X1, X2) | | sel#(s(X), cons(Y, Z)) | → | activate#(Z) |
first#(s(X), cons(Y, Z)) | → | activate#(Z) | | activate#(n__first(X1, X2)) | → | first#(X1, X2) |
sel#(s(X), cons(Y, Z)) | → | sel#(X, activate(Z)) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, n__s, activate, unquote, n__0, sel1, unquote1, n__first, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
Polynomial Interpretation
- 0: 0
- 01: 0
- activate(x): x
- activate#(x): x
- cons(x,y): 2y + x
- cons1(x,y): 0
- fcons(x,y): 0
- first(x,y): 2y
- first#(x,y): 2y
- first1(x,y): 0
- from(x): x
- n__0: 0
- n__cons(x,y): 2y + x
- n__first(x,y): 2y
- n__from(x): x
- n__nil: 0
- n__s(x): 0
- n__sel(x,y): 2y + 2
- nil: 0
- nil1: 0
- quote(x): 0
- quote1(x): 0
- s(x): 0
- s1(x): 0
- sel(x,y): 2y + 2
- sel#(x,y): 2y + 2
- sel1(x,y): 0
- unquote(x): 0
- unquote1(x): 0
Improved Usable rules
first(X1, X2) | → | n__first(X1, X2) | | sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) |
from(X) | → | cons(X, n__from(s(X))) | | activate(n__from(X)) | → | from(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | sel(0, cons(X, Z)) | → | X |
activate(n__s(X)) | → | s(X) | | activate(n__nil) | → | nil |
activate(n__0) | → | 0 | | cons(X1, X2) | → | n__cons(X1, X2) |
first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
0 | → | n__0 | | first(0, Z) | → | nil |
s(X) | → | n__s(X) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(X) | → | X | | from(X) | → | n__from(X) |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | nil | → | n__nil |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
sel#(s(X), cons(Y, Z)) | → | activate#(Z) |
Problem 8: DependencyGraph
Dependency Pair Problem
Dependency Pairs
activate#(n__sel(X1, X2)) | → | sel#(X1, X2) | | first#(s(X), cons(Y, Z)) | → | activate#(Z) |
activate#(n__first(X1, X2)) | → | first#(X1, X2) | | sel#(s(X), cons(Y, Z)) | → | sel#(X, activate(Z)) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, activate, n__s, n__0, unquote, sel1, n__first, unquote1, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
The following SCCs where found
first#(s(X), cons(Y, Z)) → activate#(Z) | activate#(n__first(X1, X2)) → first#(X1, X2) |
sel#(s(X), cons(Y, Z)) → sel#(X, activate(Z)) |
Problem 9: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
sel#(s(X), cons(Y, Z)) | → | sel#(X, activate(Z)) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, activate, n__s, n__0, unquote, sel1, n__first, unquote1, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
Polynomial Interpretation
- 0: 0
- 01: 0
- activate(x): 0
- cons(x,y): 0
- cons1(x,y): 0
- fcons(x,y): 0
- first(x,y): 2y
- first1(x,y): 0
- from(x): 3x
- n__0: 2
- n__cons(x,y): 3y + 3x + 3
- n__first(x,y): 3y + 3x + 1
- n__from(x): 1
- n__nil: 3
- n__s(x): x
- n__sel(x,y): 3y + 3x + 3
- nil: 3
- nil1: 0
- quote(x): 0
- quote1(x): 0
- s(x): 2x + 1
- s1(x): 0
- sel(x,y): 2y + 3
- sel#(x,y): 2x
- sel1(x,y): 0
- unquote(x): 0
- unquote1(x): 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
sel#(s(X), cons(Y, Z)) | → | sel#(X, activate(Z)) |
Problem 10: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
first#(s(X), cons(Y, Z)) | → | activate#(Z) | | activate#(n__first(X1, X2)) | → | first#(X1, X2) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, activate, n__s, n__0, unquote, sel1, n__first, unquote1, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
Polynomial Interpretation
- 0: 0
- 01: 0
- activate(x): 0
- activate#(x): x
- cons(x,y): 2y + 1
- cons1(x,y): 0
- fcons(x,y): 0
- first(x,y): 0
- first#(x,y): 2y
- first1(x,y): 0
- from(x): 0
- n__0: 0
- n__cons(x,y): 0
- n__first(x,y): 2y
- n__from(x): 0
- n__nil: 0
- n__s(x): 0
- n__sel(x,y): 0
- nil: 0
- nil1: 0
- quote(x): 0
- quote1(x): 0
- s(x): 3x
- s1(x): 0
- sel(x,y): 0
- sel1(x,y): 0
- unquote(x): 0
- unquote1(x): 0
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
first#(s(X), cons(Y, Z)) | → | activate#(Z) |
Problem 11: DependencyGraph
Dependency Pair Problem
Dependency Pairs
activate#(n__first(X1, X2)) | → | first#(X1, X2) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, n__s, activate, unquote, n__0, sel1, unquote1, n__first, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
There are no SCCs!
Problem 4: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
first1#(s(X), cons(Y, Z)) | → | first1#(X, activate(Z)) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, n__s, activate, unquote, n__0, sel1, unquote1, n__first, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
first1#(s(X), cons(Y, Z)) | → | first1#(X, activate(Z)) |
Problem 6: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
unquote1#(cons1(X, Z)) | → | unquote1#(Z) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, n__s, activate, unquote, n__0, sel1, unquote1, n__first, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
unquote1#(cons1(X, Z)) | → | unquote1#(Z) |
Problem 7: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
unquote#(s1(X)) | → | unquote#(X) |
Rewrite Rules
sel(s(X), cons(Y, Z)) | → | sel(X, activate(Z)) | | sel(0, cons(X, Z)) | → | X |
first(0, Z) | → | nil | | first(s(X), cons(Y, Z)) | → | cons(Y, n__first(X, activate(Z))) |
from(X) | → | cons(X, n__from(s(X))) | | sel1(s(X), cons(Y, Z)) | → | sel1(X, activate(Z)) |
sel1(0, cons(X, Z)) | → | quote(X) | | first1(0, Z) | → | nil1 |
first1(s(X), cons(Y, Z)) | → | cons1(quote(Y), first1(X, activate(Z))) | | quote(n__0) | → | 01 |
quote1(n__cons(X, Z)) | → | cons1(quote(activate(X)), quote1(activate(Z))) | | quote1(n__nil) | → | nil1 |
quote(n__s(X)) | → | s1(quote(activate(X))) | | quote(n__sel(X, Z)) | → | sel1(activate(X), activate(Z)) |
quote1(n__first(X, Z)) | → | first1(activate(X), activate(Z)) | | unquote(01) | → | 0 |
unquote(s1(X)) | → | s(unquote(X)) | | unquote1(nil1) | → | nil |
unquote1(cons1(X, Z)) | → | fcons(unquote(X), unquote1(Z)) | | fcons(X, Z) | → | cons(X, Z) |
first(X1, X2) | → | n__first(X1, X2) | | from(X) | → | n__from(X) |
0 | → | n__0 | | cons(X1, X2) | → | n__cons(X1, X2) |
nil | → | n__nil | | s(X) | → | n__s(X) |
sel(X1, X2) | → | n__sel(X1, X2) | | activate(n__first(X1, X2)) | → | first(X1, X2) |
activate(n__from(X)) | → | from(X) | | activate(n__0) | → | 0 |
activate(n__cons(X1, X2)) | → | cons(X1, X2) | | activate(n__nil) | → | nil |
activate(n__s(X)) | → | s(X) | | activate(n__sel(X1, X2)) | → | sel(X1, X2) |
activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: cons1, n__from, from, n__sel, n__s, activate, unquote, n__0, sel1, unquote1, n__first, quote, n__nil, cons, s1, fcons, 01, first1, n__cons, quote1, 0, s, nil1, first, sel, nil
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
unquote#(s1(X)) | → | unquote#(X) |