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

fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, n__fib1(Y, n__add(X, Y)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
fib1(X1, X2) → n__fib1(X1, X2)
activate(n__fib1(X1, X2)) → fib1(activate(X1), activate(X2))
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:

fib'(N) → sel'(N, fib1'(s'(0'), s'(0')))
fib1'(X, Y) → cons'(X, n__fib1'(Y, n__add'(X, Y)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
fib1'(X1, X2) → n__fib1'(X1, X2)
activate'(n__fib1'(X1, X2)) → fib1'(activate'(X1), activate'(X2))
activate'(X) → X

Rewrite Strategy: INNERMOST

Infered types.

Rules:
fib'(N) → sel'(N, fib1'(s'(0'), s'(0')))
fib1'(X, Y) → cons'(X, n__fib1'(Y, n__add'(X, Y)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
fib1'(X1, X2) → n__fib1'(X1, X2)
activate'(n__fib1'(X1, X2)) → fib1'(activate'(X1), activate'(X2))
activate'(X) → X

Types:

Heuristically decided to analyse the following defined symbols:

They will be analysed ascendingly in the following order:
activate' < sel'

Rules:
fib'(N) → sel'(N, fib1'(s'(0'), s'(0')))
fib1'(X, Y) → cons'(X, n__fib1'(Y, n__add'(X, Y)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
fib1'(X1, X2) → n__fib1'(X1, X2)
activate'(n__fib1'(X1, X2)) → fib1'(activate'(X1), activate'(X2))
activate'(X) → X

Types:

Generator Equations:

The following defined symbols remain to be analysed:

They will be analysed ascendingly in the following order:
activate' < sel'

Proved the following rewrite lemma:

Induction Base:

Induction Step:

We have rt ∈ Ω(n) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

Rules:
fib'(N) → sel'(N, fib1'(s'(0'), s'(0')))
fib1'(X, Y) → cons'(X, n__fib1'(Y, n__add'(X, Y)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
fib1'(X1, X2) → n__fib1'(X1, X2)
activate'(n__fib1'(X1, X2)) → fib1'(activate'(X1), activate'(X2))
activate'(X) → X

Types:

Lemmas:

Generator Equations:

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

They will be analysed ascendingly in the following order:
activate' < sel'

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

Rules:
fib'(N) → sel'(N, fib1'(s'(0'), s'(0')))
fib1'(X, Y) → cons'(X, n__fib1'(Y, n__add'(X, Y)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
fib1'(X1, X2) → n__fib1'(X1, X2)
activate'(n__fib1'(X1, X2)) → fib1'(activate'(X1), activate'(X2))
activate'(X) → X

Types:

Lemmas:

Generator Equations:

The following defined symbols remain to be analysed:
sel'

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

Rules:
fib'(N) → sel'(N, fib1'(s'(0'), s'(0')))
fib1'(X, Y) → cons'(X, n__fib1'(Y, n__add'(X, Y)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
fib1'(X1, X2) → n__fib1'(X1, X2)
activate'(n__fib1'(X1, X2)) → fib1'(activate'(X1), activate'(X2))
activate'(X) → X

Types: