(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

dbl(0) → 0
dbl(s(X)) → s(n__s(n__dbl(activate(X))))
dbls(nil) → nil
dbls(cons(X, Y)) → cons(n__dbl(activate(X)), n__dbls(activate(Y)))
sel(0, cons(X, Y)) → activate(X)
sel(s(X), cons(Y, Z)) → sel(activate(X), activate(Z))
indx(nil, X) → nil
indx(cons(X, Y), Z) → cons(n__sel(activate(X), activate(Z)), n__indx(activate(Y), activate(Z)))
from(X) → cons(activate(X), n__from(n__s(activate(X))))
dbl1(0) → 01
dbl1(s(X)) → s1(s1(dbl1(activate(X))))
sel1(0, cons(X, Y)) → activate(X)
sel1(s(X), cons(Y, Z)) → sel1(activate(X), activate(Z))
quote(0) → 01
quote(s(X)) → s1(quote(activate(X)))
quote(dbl(X)) → dbl1(X)
quote(sel(X, Y)) → sel1(X, Y)
s(X) → n__s(X)
dbl(X) → n__dbl(X)
dbls(X) → n__dbls(X)
sel(X1, X2) → n__sel(X1, X2)
indx(X1, X2) → n__indx(X1, X2)
from(X) → n__from(X)
activate(n__s(X)) → s(X)
activate(n__dbl(X)) → dbl(X)
activate(n__dbls(X)) → dbls(X)
activate(n__sel(X1, X2)) → sel(X1, X2)
activate(n__indx(X1, X2)) → indx(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

DBL(s(X)) → S(n__s(n__dbl(activate(X))))
DBL(s(X)) → ACTIVATE(X)
DBLS(cons(X, Y)) → ACTIVATE(X)
DBLS(cons(X, Y)) → ACTIVATE(Y)
SEL(0, cons(X, Y)) → ACTIVATE(X)
SEL(s(X), cons(Y, Z)) → SEL(activate(X), activate(Z))
SEL(s(X), cons(Y, Z)) → ACTIVATE(X)
SEL(s(X), cons(Y, Z)) → ACTIVATE(Z)
INDX(cons(X, Y), Z) → ACTIVATE(X)
INDX(cons(X, Y), Z) → ACTIVATE(Z)
INDX(cons(X, Y), Z) → ACTIVATE(Y)
FROM(X) → ACTIVATE(X)
DBL1(s(X)) → DBL1(activate(X))
DBL1(s(X)) → ACTIVATE(X)
SEL1(0, cons(X, Y)) → ACTIVATE(X)
SEL1(s(X), cons(Y, Z)) → SEL1(activate(X), activate(Z))
SEL1(s(X), cons(Y, Z)) → ACTIVATE(X)
SEL1(s(X), cons(Y, Z)) → ACTIVATE(Z)
QUOTE(s(X)) → QUOTE(activate(X))
QUOTE(s(X)) → ACTIVATE(X)
QUOTE(dbl(X)) → DBL1(X)
QUOTE(sel(X, Y)) → SEL1(X, Y)
ACTIVATE(n__s(X)) → S(X)
ACTIVATE(n__dbl(X)) → DBL(X)
ACTIVATE(n__dbls(X)) → DBLS(X)
ACTIVATE(n__sel(X1, X2)) → SEL(X1, X2)
ACTIVATE(n__indx(X1, X2)) → INDX(X1, X2)
ACTIVATE(n__from(X)) → FROM(X)

The TRS R consists of the following rules:

dbl(0) → 0
dbl(s(X)) → s(n__s(n__dbl(activate(X))))
dbls(nil) → nil
dbls(cons(X, Y)) → cons(n__dbl(activate(X)), n__dbls(activate(Y)))
sel(0, cons(X, Y)) → activate(X)
sel(s(X), cons(Y, Z)) → sel(activate(X), activate(Z))
indx(nil, X) → nil
indx(cons(X, Y), Z) → cons(n__sel(activate(X), activate(Z)), n__indx(activate(Y), activate(Z)))
from(X) → cons(activate(X), n__from(n__s(activate(X))))
dbl1(0) → 01
dbl1(s(X)) → s1(s1(dbl1(activate(X))))
sel1(0, cons(X, Y)) → activate(X)
sel1(s(X), cons(Y, Z)) → sel1(activate(X), activate(Z))
quote(0) → 01
quote(s(X)) → s1(quote(activate(X)))
quote(dbl(X)) → dbl1(X)
quote(sel(X, Y)) → sel1(X, Y)
s(X) → n__s(X)
dbl(X) → n__dbl(X)
dbls(X) → n__dbls(X)
sel(X1, X2) → n__sel(X1, X2)
indx(X1, X2) → n__indx(X1, X2)
from(X) → n__from(X)
activate(n__s(X)) → s(X)
activate(n__dbl(X)) → dbl(X)
activate(n__dbls(X)) → dbls(X)
activate(n__sel(X1, X2)) → sel(X1, X2)
activate(n__indx(X1, X2)) → indx(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 9 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

Q DP problem:
The TRS P consists of the following rules:

DBL(s(X)) → ACTIVATE(X)
ACTIVATE(n__dbl(X)) → DBL(X)
ACTIVATE(n__dbls(X)) → DBLS(X)
DBLS(cons(X, Y)) → ACTIVATE(X)
ACTIVATE(n__sel(X1, X2)) → SEL(X1, X2)
SEL(0, cons(X, Y)) → ACTIVATE(X)
ACTIVATE(n__indx(X1, X2)) → INDX(X1, X2)
INDX(cons(X, Y), Z) → ACTIVATE(X)
ACTIVATE(n__from(X)) → FROM(X)
FROM(X) → ACTIVATE(X)
INDX(cons(X, Y), Z) → ACTIVATE(Z)
INDX(cons(X, Y), Z) → ACTIVATE(Y)
SEL(s(X), cons(Y, Z)) → SEL(activate(X), activate(Z))
SEL(s(X), cons(Y, Z)) → ACTIVATE(X)
SEL(s(X), cons(Y, Z)) → ACTIVATE(Z)
DBLS(cons(X, Y)) → ACTIVATE(Y)

The TRS R consists of the following rules:

dbl(0) → 0
dbl(s(X)) → s(n__s(n__dbl(activate(X))))
dbls(nil) → nil
dbls(cons(X, Y)) → cons(n__dbl(activate(X)), n__dbls(activate(Y)))
sel(0, cons(X, Y)) → activate(X)
sel(s(X), cons(Y, Z)) → sel(activate(X), activate(Z))
indx(nil, X) → nil
indx(cons(X, Y), Z) → cons(n__sel(activate(X), activate(Z)), n__indx(activate(Y), activate(Z)))
from(X) → cons(activate(X), n__from(n__s(activate(X))))
dbl1(0) → 01
dbl1(s(X)) → s1(s1(dbl1(activate(X))))
sel1(0, cons(X, Y)) → activate(X)
sel1(s(X), cons(Y, Z)) → sel1(activate(X), activate(Z))
quote(0) → 01
quote(s(X)) → s1(quote(activate(X)))
quote(dbl(X)) → dbl1(X)
quote(sel(X, Y)) → sel1(X, Y)
s(X) → n__s(X)
dbl(X) → n__dbl(X)
dbls(X) → n__dbls(X)
sel(X1, X2) → n__sel(X1, X2)
indx(X1, X2) → n__indx(X1, X2)
from(X) → n__from(X)
activate(n__s(X)) → s(X)
activate(n__dbl(X)) → dbl(X)
activate(n__dbls(X)) → dbls(X)
activate(n__sel(X1, X2)) → sel(X1, X2)
activate(n__indx(X1, X2)) → indx(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(6) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SEL1(s(X), cons(Y, Z)) → SEL1(activate(X), activate(Z))

The TRS R consists of the following rules:

dbl(0) → 0
dbl(s(X)) → s(n__s(n__dbl(activate(X))))
dbls(nil) → nil
dbls(cons(X, Y)) → cons(n__dbl(activate(X)), n__dbls(activate(Y)))
sel(0, cons(X, Y)) → activate(X)
sel(s(X), cons(Y, Z)) → sel(activate(X), activate(Z))
indx(nil, X) → nil
indx(cons(X, Y), Z) → cons(n__sel(activate(X), activate(Z)), n__indx(activate(Y), activate(Z)))
from(X) → cons(activate(X), n__from(n__s(activate(X))))
dbl1(0) → 01
dbl1(s(X)) → s1(s1(dbl1(activate(X))))
sel1(0, cons(X, Y)) → activate(X)
sel1(s(X), cons(Y, Z)) → sel1(activate(X), activate(Z))
quote(0) → 01
quote(s(X)) → s1(quote(activate(X)))
quote(dbl(X)) → dbl1(X)
quote(sel(X, Y)) → sel1(X, Y)
s(X) → n__s(X)
dbl(X) → n__dbl(X)
dbls(X) → n__dbls(X)
sel(X1, X2) → n__sel(X1, X2)
indx(X1, X2) → n__indx(X1, X2)
from(X) → n__from(X)
activate(n__s(X)) → s(X)
activate(n__dbl(X)) → dbl(X)
activate(n__dbls(X)) → dbls(X)
activate(n__sel(X1, X2)) → sel(X1, X2)
activate(n__indx(X1, X2)) → indx(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(7) Obligation:

Q DP problem:
The TRS P consists of the following rules:

DBL1(s(X)) → DBL1(activate(X))

The TRS R consists of the following rules:

dbl(0) → 0
dbl(s(X)) → s(n__s(n__dbl(activate(X))))
dbls(nil) → nil
dbls(cons(X, Y)) → cons(n__dbl(activate(X)), n__dbls(activate(Y)))
sel(0, cons(X, Y)) → activate(X)
sel(s(X), cons(Y, Z)) → sel(activate(X), activate(Z))
indx(nil, X) → nil
indx(cons(X, Y), Z) → cons(n__sel(activate(X), activate(Z)), n__indx(activate(Y), activate(Z)))
from(X) → cons(activate(X), n__from(n__s(activate(X))))
dbl1(0) → 01
dbl1(s(X)) → s1(s1(dbl1(activate(X))))
sel1(0, cons(X, Y)) → activate(X)
sel1(s(X), cons(Y, Z)) → sel1(activate(X), activate(Z))
quote(0) → 01
quote(s(X)) → s1(quote(activate(X)))
quote(dbl(X)) → dbl1(X)
quote(sel(X, Y)) → sel1(X, Y)
s(X) → n__s(X)
dbl(X) → n__dbl(X)
dbls(X) → n__dbls(X)
sel(X1, X2) → n__sel(X1, X2)
indx(X1, X2) → n__indx(X1, X2)
from(X) → n__from(X)
activate(n__s(X)) → s(X)
activate(n__dbl(X)) → dbl(X)
activate(n__dbls(X)) → dbls(X)
activate(n__sel(X1, X2)) → sel(X1, X2)
activate(n__indx(X1, X2)) → indx(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(8) Obligation:

Q DP problem:
The TRS P consists of the following rules:

QUOTE(s(X)) → QUOTE(activate(X))

The TRS R consists of the following rules:

dbl(0) → 0
dbl(s(X)) → s(n__s(n__dbl(activate(X))))
dbls(nil) → nil
dbls(cons(X, Y)) → cons(n__dbl(activate(X)), n__dbls(activate(Y)))
sel(0, cons(X, Y)) → activate(X)
sel(s(X), cons(Y, Z)) → sel(activate(X), activate(Z))
indx(nil, X) → nil
indx(cons(X, Y), Z) → cons(n__sel(activate(X), activate(Z)), n__indx(activate(Y), activate(Z)))
from(X) → cons(activate(X), n__from(n__s(activate(X))))
dbl1(0) → 01
dbl1(s(X)) → s1(s1(dbl1(activate(X))))
sel1(0, cons(X, Y)) → activate(X)
sel1(s(X), cons(Y, Z)) → sel1(activate(X), activate(Z))
quote(0) → 01
quote(s(X)) → s1(quote(activate(X)))
quote(dbl(X)) → dbl1(X)
quote(sel(X, Y)) → sel1(X, Y)
s(X) → n__s(X)
dbl(X) → n__dbl(X)
dbls(X) → n__dbls(X)
sel(X1, X2) → n__sel(X1, X2)
indx(X1, X2) → n__indx(X1, X2)
from(X) → n__from(X)
activate(n__s(X)) → s(X)
activate(n__dbl(X)) → dbl(X)
activate(n__dbls(X)) → dbls(X)
activate(n__sel(X1, X2)) → sel(X1, X2)
activate(n__indx(X1, X2)) → indx(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.