Runtime Complexity TRS:
The TRS R consists of the following rules:

app(nil, YS) → YS
app(cons(X, XS), YS) → cons(X, n__app(activate(XS), YS))
from(X) → cons(X, n__from(n__s(X)))
zWadr(nil, YS) → nil
zWadr(XS, nil) → nil
zWadr(cons(X, XS), cons(Y, YS)) → cons(app(Y, cons(X, n__nil)), n__zWadr(activate(XS), activate(YS)))
prefix(L) → cons(nil, n__zWadr(L, n__prefix(L)))
app(X1, X2) → n__app(X1, X2)
from(X) → n__from(X)
s(X) → n__s(X)
niln__nil
zWadr(X1, X2) → n__zWadr(X1, X2)
prefix(X) → n__prefix(X)
activate(n__app(X1, X2)) → app(activate(X1), activate(X2))
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__nil) → nil
activate(n__zWadr(X1, X2)) → zWadr(activate(X1), activate(X2))
activate(n__prefix(X)) → prefix(activate(X))
activate(X) → X

Rewrite Strategy: INNERMOST


Renamed function symbols to avoid clashes with predefined symbol.


Runtime Complexity TRS:
The TRS R consists of the following rules:


app'(nil', YS) → YS
app'(cons'(X, XS), YS) → cons'(X, n__app'(activate'(XS), YS))
from'(X) → cons'(X, n__from'(n__s'(X)))
zWadr'(nil', YS) → nil'
zWadr'(XS, nil') → nil'
zWadr'(cons'(X, XS), cons'(Y, YS)) → cons'(app'(Y, cons'(X, n__nil')), n__zWadr'(activate'(XS), activate'(YS)))
prefix'(L) → cons'(nil', n__zWadr'(L, n__prefix'(L)))
app'(X1, X2) → n__app'(X1, X2)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
nil'n__nil'
zWadr'(X1, X2) → n__zWadr'(X1, X2)
prefix'(X) → n__prefix'(X)
activate'(n__app'(X1, X2)) → app'(activate'(X1), activate'(X2))
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__nil') → nil'
activate'(n__zWadr'(X1, X2)) → zWadr'(activate'(X1), activate'(X2))
activate'(n__prefix'(X)) → prefix'(activate'(X))
activate'(X) → X

Rewrite Strategy: INNERMOST


Infered types.


Rules:
app'(nil', YS) → YS
app'(cons'(X, XS), YS) → cons'(X, n__app'(activate'(XS), YS))
from'(X) → cons'(X, n__from'(n__s'(X)))
zWadr'(nil', YS) → nil'
zWadr'(XS, nil') → nil'
zWadr'(cons'(X, XS), cons'(Y, YS)) → cons'(app'(Y, cons'(X, n__nil')), n__zWadr'(activate'(XS), activate'(YS)))
prefix'(L) → cons'(nil', n__zWadr'(L, n__prefix'(L)))
app'(X1, X2) → n__app'(X1, X2)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
nil'n__nil'
zWadr'(X1, X2) → n__zWadr'(X1, X2)
prefix'(X) → n__prefix'(X)
activate'(n__app'(X1, X2)) → app'(activate'(X1), activate'(X2))
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__nil') → nil'
activate'(n__zWadr'(X1, X2)) → zWadr'(activate'(X1), activate'(X2))
activate'(n__prefix'(X)) → prefix'(activate'(X))
activate'(X) → X

Types:
app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
cons' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
activate' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_hole_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'1 :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2 :: Nat → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'


Heuristically decided to analyse the following defined symbols:
app', activate'

They will be analysed ascendingly in the following order:
app' = activate'


Rules:
app'(nil', YS) → YS
app'(cons'(X, XS), YS) → cons'(X, n__app'(activate'(XS), YS))
from'(X) → cons'(X, n__from'(n__s'(X)))
zWadr'(nil', YS) → nil'
zWadr'(XS, nil') → nil'
zWadr'(cons'(X, XS), cons'(Y, YS)) → cons'(app'(Y, cons'(X, n__nil')), n__zWadr'(activate'(XS), activate'(YS)))
prefix'(L) → cons'(nil', n__zWadr'(L, n__prefix'(L)))
app'(X1, X2) → n__app'(X1, X2)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
nil'n__nil'
zWadr'(X1, X2) → n__zWadr'(X1, X2)
prefix'(X) → n__prefix'(X)
activate'(n__app'(X1, X2)) → app'(activate'(X1), activate'(X2))
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__nil') → nil'
activate'(n__zWadr'(X1, X2)) → zWadr'(activate'(X1), activate'(X2))
activate'(n__prefix'(X)) → prefix'(activate'(X))
activate'(X) → X

Types:
app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
cons' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
activate' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_hole_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'1 :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2 :: Nat → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'

Generator Equations:
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(0) ⇔ n__nil'
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(+(x, 1)) ⇔ cons'(n__nil', _gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(x))

The following defined symbols remain to be analysed:
activate', app'

They will be analysed ascendingly in the following order:
app' = activate'


Could not prove a rewrite lemma for the defined symbol activate'.


Rules:
app'(nil', YS) → YS
app'(cons'(X, XS), YS) → cons'(X, n__app'(activate'(XS), YS))
from'(X) → cons'(X, n__from'(n__s'(X)))
zWadr'(nil', YS) → nil'
zWadr'(XS, nil') → nil'
zWadr'(cons'(X, XS), cons'(Y, YS)) → cons'(app'(Y, cons'(X, n__nil')), n__zWadr'(activate'(XS), activate'(YS)))
prefix'(L) → cons'(nil', n__zWadr'(L, n__prefix'(L)))
app'(X1, X2) → n__app'(X1, X2)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
nil'n__nil'
zWadr'(X1, X2) → n__zWadr'(X1, X2)
prefix'(X) → n__prefix'(X)
activate'(n__app'(X1, X2)) → app'(activate'(X1), activate'(X2))
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__nil') → nil'
activate'(n__zWadr'(X1, X2)) → zWadr'(activate'(X1), activate'(X2))
activate'(n__prefix'(X)) → prefix'(activate'(X))
activate'(X) → X

Types:
app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
cons' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
activate' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_hole_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'1 :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2 :: Nat → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'

Generator Equations:
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(0) ⇔ n__nil'
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(+(x, 1)) ⇔ cons'(n__nil', _gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(x))

The following defined symbols remain to be analysed:
app'

They will be analysed ascendingly in the following order:
app' = activate'


Could not prove a rewrite lemma for the defined symbol app'.


Rules:
app'(nil', YS) → YS
app'(cons'(X, XS), YS) → cons'(X, n__app'(activate'(XS), YS))
from'(X) → cons'(X, n__from'(n__s'(X)))
zWadr'(nil', YS) → nil'
zWadr'(XS, nil') → nil'
zWadr'(cons'(X, XS), cons'(Y, YS)) → cons'(app'(Y, cons'(X, n__nil')), n__zWadr'(activate'(XS), activate'(YS)))
prefix'(L) → cons'(nil', n__zWadr'(L, n__prefix'(L)))
app'(X1, X2) → n__app'(X1, X2)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
nil'n__nil'
zWadr'(X1, X2) → n__zWadr'(X1, X2)
prefix'(X) → n__prefix'(X)
activate'(n__app'(X1, X2)) → app'(activate'(X1), activate'(X2))
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__nil') → nil'
activate'(n__zWadr'(X1, X2)) → zWadr'(activate'(X1), activate'(X2))
activate'(n__prefix'(X)) → prefix'(activate'(X))
activate'(X) → X

Types:
app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
cons' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__app' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
activate' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__from' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__nil' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__zWadr' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
n__prefix' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
s' :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix' → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_hole_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'1 :: cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2 :: Nat → cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'

Generator Equations:
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(0) ⇔ n__nil'
_gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(+(x, 1)) ⇔ cons'(n__nil', _gen_cons':n__app':n__s':n__from':n__nil':n__zWadr':n__prefix'2(x))

No more defined symbols left to analyse.