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

from(X) → cons(X, n__from(n__s(X)))
2ndspos(0, Z) → rnil
2ndspos(s(N), cons(X, n__cons(Y, Z))) → rcons(posrecip(activate(Y)), 2ndsneg(N, activate(Z)))
2ndsneg(0, Z) → rnil
2ndsneg(s(N), cons(X, n__cons(Y, Z))) → rcons(negrecip(activate(Y)), 2ndspos(N, activate(Z)))
pi(X) → 2ndspos(X, from(0))
plus(0, Y) → Y
plus(s(X), Y) → s(plus(X, Y))
times(0, Y) → 0
times(s(X), Y) → plus(Y, times(X, Y))
square(X) → times(X, X)
from(X) → n__from(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__cons(X1, X2)) → cons(activate(X1), 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:


from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Rewrite Strategy: INNERMOST


Infered types.


Rules:
from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Types:
from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndspos' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
0' :: n__s':n__from':0':n__cons'
rnil' :: rnil':rcons'
s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndsneg' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: n__s':n__from':0':n__cons' → rnil':rcons'
plus' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
times' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
square' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
_hole_n__s':n__from':0':n__cons'1 :: n__s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_n__s':n__from':0':n__cons'4 :: Nat → n__s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'


Heuristically decided to analyse the following defined symbols:
2ndspos', activate', 2ndsneg', plus', times'

They will be analysed ascendingly in the following order:
activate' < 2ndspos'
2ndspos' = 2ndsneg'
activate' < 2ndsneg'
plus' < times'


Rules:
from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Types:
from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndspos' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
0' :: n__s':n__from':0':n__cons'
rnil' :: rnil':rcons'
s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndsneg' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: n__s':n__from':0':n__cons' → rnil':rcons'
plus' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
times' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
square' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
_hole_n__s':n__from':0':n__cons'1 :: n__s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_n__s':n__from':0':n__cons'4 :: Nat → n__s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'

Generator Equations:
_gen_n__s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_n__s':n__from':0':n__cons'4(+(x, 1)) ⇔ n__from'(_gen_n__s':n__from':0':n__cons'4(x))
_gen_rnil':rcons'5(0) ⇔ rnil'
_gen_rnil':rcons'5(+(x, 1)) ⇔ rcons'(posrecip'(0'), _gen_rnil':rcons'5(x))

The following defined symbols remain to be analysed:
activate', 2ndspos', 2ndsneg', plus', times'

They will be analysed ascendingly in the following order:
activate' < 2ndspos'
2ndspos' = 2ndsneg'
activate' < 2ndsneg'
plus' < times'


Proved the following rewrite lemma:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _n7))) → _*6, rt ∈ Ω(n7)

Induction Base:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, 0)))

Induction Step:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, +(_$n8, 1)))) →RΩ(1)
from'(activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _$n8)))) →IH
from'(_*6)

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


Rules:
from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Types:
from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndspos' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
0' :: n__s':n__from':0':n__cons'
rnil' :: rnil':rcons'
s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndsneg' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: n__s':n__from':0':n__cons' → rnil':rcons'
plus' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
times' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
square' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
_hole_n__s':n__from':0':n__cons'1 :: n__s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_n__s':n__from':0':n__cons'4 :: Nat → n__s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'

Lemmas:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _n7))) → _*6, rt ∈ Ω(n7)

Generator Equations:
_gen_n__s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_n__s':n__from':0':n__cons'4(+(x, 1)) ⇔ n__from'(_gen_n__s':n__from':0':n__cons'4(x))
_gen_rnil':rcons'5(0) ⇔ rnil'
_gen_rnil':rcons'5(+(x, 1)) ⇔ rcons'(posrecip'(0'), _gen_rnil':rcons'5(x))

The following defined symbols remain to be analysed:
plus', 2ndspos', 2ndsneg', times'

They will be analysed ascendingly in the following order:
2ndspos' = 2ndsneg'
plus' < times'


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


Rules:
from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Types:
from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndspos' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
0' :: n__s':n__from':0':n__cons'
rnil' :: rnil':rcons'
s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndsneg' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: n__s':n__from':0':n__cons' → rnil':rcons'
plus' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
times' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
square' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
_hole_n__s':n__from':0':n__cons'1 :: n__s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_n__s':n__from':0':n__cons'4 :: Nat → n__s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'

Lemmas:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _n7))) → _*6, rt ∈ Ω(n7)

Generator Equations:
_gen_n__s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_n__s':n__from':0':n__cons'4(+(x, 1)) ⇔ n__from'(_gen_n__s':n__from':0':n__cons'4(x))
_gen_rnil':rcons'5(0) ⇔ rnil'
_gen_rnil':rcons'5(+(x, 1)) ⇔ rcons'(posrecip'(0'), _gen_rnil':rcons'5(x))

The following defined symbols remain to be analysed:
times', 2ndspos', 2ndsneg'

They will be analysed ascendingly in the following order:
2ndspos' = 2ndsneg'


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


Rules:
from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Types:
from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndspos' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
0' :: n__s':n__from':0':n__cons'
rnil' :: rnil':rcons'
s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndsneg' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: n__s':n__from':0':n__cons' → rnil':rcons'
plus' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
times' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
square' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
_hole_n__s':n__from':0':n__cons'1 :: n__s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_n__s':n__from':0':n__cons'4 :: Nat → n__s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'

Lemmas:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _n7))) → _*6, rt ∈ Ω(n7)

Generator Equations:
_gen_n__s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_n__s':n__from':0':n__cons'4(+(x, 1)) ⇔ n__from'(_gen_n__s':n__from':0':n__cons'4(x))
_gen_rnil':rcons'5(0) ⇔ rnil'
_gen_rnil':rcons'5(+(x, 1)) ⇔ rcons'(posrecip'(0'), _gen_rnil':rcons'5(x))

The following defined symbols remain to be analysed:
2ndsneg', 2ndspos'

They will be analysed ascendingly in the following order:
2ndspos' = 2ndsneg'


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


Rules:
from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Types:
from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndspos' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
0' :: n__s':n__from':0':n__cons'
rnil' :: rnil':rcons'
s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndsneg' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: n__s':n__from':0':n__cons' → rnil':rcons'
plus' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
times' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
square' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
_hole_n__s':n__from':0':n__cons'1 :: n__s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_n__s':n__from':0':n__cons'4 :: Nat → n__s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'

Lemmas:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _n7))) → _*6, rt ∈ Ω(n7)

Generator Equations:
_gen_n__s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_n__s':n__from':0':n__cons'4(+(x, 1)) ⇔ n__from'(_gen_n__s':n__from':0':n__cons'4(x))
_gen_rnil':rcons'5(0) ⇔ rnil'
_gen_rnil':rcons'5(+(x, 1)) ⇔ rcons'(posrecip'(0'), _gen_rnil':rcons'5(x))

The following defined symbols remain to be analysed:
2ndspos'

They will be analysed ascendingly in the following order:
2ndspos' = 2ndsneg'


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


Rules:
from'(X) → cons'(X, n__from'(n__s'(X)))
2ndspos'(0', Z) → rnil'
2ndspos'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(posrecip'(activate'(Y)), 2ndsneg'(N, activate'(Z)))
2ndsneg'(0', Z) → rnil'
2ndsneg'(s'(N), cons'(X, n__cons'(Y, Z))) → rcons'(negrecip'(activate'(Y)), 2ndspos'(N, activate'(Z)))
pi'(X) → 2ndspos'(X, from'(0'))
plus'(0', Y) → Y
plus'(s'(X), Y) → s'(plus'(X, Y))
times'(0', Y) → 0'
times'(s'(X), Y) → plus'(Y, times'(X, Y))
square'(X) → times'(X, X)
from'(X) → n__from'(X)
s'(X) → n__s'(X)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(activate'(X))
activate'(n__s'(X)) → s'(activate'(X))
activate'(n__cons'(X1, X2)) → cons'(activate'(X1), X2)
activate'(X) → X

Types:
from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__from' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndspos' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
0' :: n__s':n__from':0':n__cons'
rnil' :: rnil':rcons'
s' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
n__cons' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
2ndsneg' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: n__s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: n__s':n__from':0':n__cons' → rnil':rcons'
plus' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
times' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
square' :: n__s':n__from':0':n__cons' → n__s':n__from':0':n__cons'
_hole_n__s':n__from':0':n__cons'1 :: n__s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_n__s':n__from':0':n__cons'4 :: Nat → n__s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'

Lemmas:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _n7))) → _*6, rt ∈ Ω(n7)

Generator Equations:
_gen_n__s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_n__s':n__from':0':n__cons'4(+(x, 1)) ⇔ n__from'(_gen_n__s':n__from':0':n__cons'4(x))
_gen_rnil':rcons'5(0) ⇔ rnil'
_gen_rnil':rcons'5(+(x, 1)) ⇔ rcons'(posrecip'(0'), _gen_rnil':rcons'5(x))

No more defined symbols left to analyse.


The lowerbound Ω(n) was proven with the following lemma:
activate'(_gen_n__s':n__from':0':n__cons'4(+(1, _n7))) → _*6, rt ∈ Ω(n7)