R
↳Dependency Pair Analysis
SEL(s(X), cons(Y, Z)) -> SEL(X, Z)
FIRST(s(X), cons(Y, Z)) -> FIRST(X, Z)
FROM(X) -> FROM(s(X))
SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z)
SEL1(0, cons(X, Z)) -> QUOTE(X)
FIRST1(s(X), cons(Y, Z)) -> QUOTE(Y)
FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z)
QUOTE(s(X)) -> QUOTE(X)
QUOTE(sel(X, Z)) -> SEL1(X, Z)
QUOTE1(cons(X, Z)) -> QUOTE(X)
QUOTE1(cons(X, Z)) -> QUOTE1(Z)
QUOTE1(first(X, Z)) -> FIRST1(X, Z)
UNQUOTE(s1(X)) -> UNQUOTE(X)
UNQUOTE1(cons1(X, Z)) -> FCONS(unquote(X), unquote1(Z))
UNQUOTE1(cons1(X, Z)) -> UNQUOTE(X)
UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z)
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining
→DP Problem 4
↳Remaining
→DP Problem 5
↳Remaining
→DP Problem 6
↳Remaining
→DP Problem 7
↳Remaining
→DP Problem 8
↳Remaining
SEL(s(X), cons(Y, Z)) -> SEL(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
SEL(s(X), cons(Y, Z)) -> SEL(X, Z)
POL(SEL(x1, x2)) = x1 POL(cons(x1, x2)) = 0 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 9
↳Dependency Graph
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining
→DP Problem 4
↳Remaining
→DP Problem 5
↳Remaining
→DP Problem 6
↳Remaining
→DP Problem 7
↳Remaining
→DP Problem 8
↳Remaining
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polynomial Ordering
→DP Problem 3
↳Remaining
→DP Problem 4
↳Remaining
→DP Problem 5
↳Remaining
→DP Problem 6
↳Remaining
→DP Problem 7
↳Remaining
→DP Problem 8
↳Remaining
FIRST(s(X), cons(Y, Z)) -> FIRST(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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(s(X), cons(Y, Z)) -> FIRST(X, Z)
POL(cons(x1, x2)) = 0 POL(FIRST(x1, x2)) = x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 10
↳Dependency Graph
→DP Problem 3
↳Remaining
→DP Problem 4
↳Remaining
→DP Problem 5
↳Remaining
→DP Problem 6
↳Remaining
→DP Problem 7
↳Remaining
→DP Problem 8
↳Remaining
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining Obligation(s)
→DP Problem 4
↳Remaining Obligation(s)
→DP Problem 5
↳Remaining Obligation(s)
→DP Problem 6
↳Remaining Obligation(s)
→DP Problem 7
↳Remaining Obligation(s)
→DP Problem 8
↳Remaining Obligation(s)
FROM(X) -> FROM(s(X))
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE(sel(X, Z)) -> SEL1(X, Z)
QUOTE(s(X)) -> QUOTE(X)
SEL1(0, cons(X, Z)) -> QUOTE(X)
SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE(s1(X)) -> UNQUOTE(X)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE1(cons(X, Z)) -> QUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining Obligation(s)
→DP Problem 4
↳Remaining Obligation(s)
→DP Problem 5
↳Remaining Obligation(s)
→DP Problem 6
↳Remaining Obligation(s)
→DP Problem 7
↳Remaining Obligation(s)
→DP Problem 8
↳Remaining Obligation(s)
FROM(X) -> FROM(s(X))
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE(sel(X, Z)) -> SEL1(X, Z)
QUOTE(s(X)) -> QUOTE(X)
SEL1(0, cons(X, Z)) -> QUOTE(X)
SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE(s1(X)) -> UNQUOTE(X)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE1(cons(X, Z)) -> QUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining Obligation(s)
→DP Problem 4
↳Remaining Obligation(s)
→DP Problem 5
↳Remaining Obligation(s)
→DP Problem 6
↳Remaining Obligation(s)
→DP Problem 7
↳Remaining Obligation(s)
→DP Problem 8
↳Remaining Obligation(s)
FROM(X) -> FROM(s(X))
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE(sel(X, Z)) -> SEL1(X, Z)
QUOTE(s(X)) -> QUOTE(X)
SEL1(0, cons(X, Z)) -> QUOTE(X)
SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE(s1(X)) -> UNQUOTE(X)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE1(cons(X, Z)) -> QUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining Obligation(s)
→DP Problem 4
↳Remaining Obligation(s)
→DP Problem 5
↳Remaining Obligation(s)
→DP Problem 6
↳Remaining Obligation(s)
→DP Problem 7
↳Remaining Obligation(s)
→DP Problem 8
↳Remaining Obligation(s)
FROM(X) -> FROM(s(X))
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE(sel(X, Z)) -> SEL1(X, Z)
QUOTE(s(X)) -> QUOTE(X)
SEL1(0, cons(X, Z)) -> QUOTE(X)
SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE(s1(X)) -> UNQUOTE(X)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE1(cons(X, Z)) -> QUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining Obligation(s)
→DP Problem 4
↳Remaining Obligation(s)
→DP Problem 5
↳Remaining Obligation(s)
→DP Problem 6
↳Remaining Obligation(s)
→DP Problem 7
↳Remaining Obligation(s)
→DP Problem 8
↳Remaining Obligation(s)
FROM(X) -> FROM(s(X))
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE(sel(X, Z)) -> SEL1(X, Z)
QUOTE(s(X)) -> QUOTE(X)
SEL1(0, cons(X, Z)) -> QUOTE(X)
SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE(s1(X)) -> UNQUOTE(X)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE1(cons(X, Z)) -> QUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Remaining Obligation(s)
→DP Problem 4
↳Remaining Obligation(s)
→DP Problem 5
↳Remaining Obligation(s)
→DP Problem 6
↳Remaining Obligation(s)
→DP Problem 7
↳Remaining Obligation(s)
→DP Problem 8
↳Remaining Obligation(s)
FROM(X) -> FROM(s(X))
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE(sel(X, Z)) -> SEL1(X, Z)
QUOTE(s(X)) -> QUOTE(X)
SEL1(0, cons(X, Z)) -> QUOTE(X)
SEL1(s(X), cons(Y, Z)) -> SEL1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE(s1(X)) -> UNQUOTE(X)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
FIRST1(s(X), cons(Y, Z)) -> FIRST1(X, Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
UNQUOTE1(cons1(X, Z)) -> UNQUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)
QUOTE1(cons(X, Z)) -> QUOTE1(Z)
sel(s(X), cons(Y, Z)) -> sel(X, Z)
sel(0, cons(X, Z)) -> X
first(0, Z) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, first(X, Z))
from(X) -> cons(X, from(s(X)))
sel1(s(X), cons(Y, Z)) -> sel1(X, Z)
sel1(0, cons(X, Z)) -> quote(X)
first1(0, Z) -> nil1
first1(s(X), cons(Y, Z)) -> cons1(quote(Y), first1(X, Z))
quote(0) -> 01
quote(s(X)) -> s1(quote(X))
quote(sel(X, Z)) -> sel1(X, Z)
quote1(cons(X, Z)) -> cons1(quote(X), quote1(Z))
quote1(nil) -> nil1
quote1(first(X, Z)) -> first1(X, 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)