Runtime Complexity TRS:
The TRS R consists of the following rules:
from(X) → cons(X, n__from(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)
cons(X1, X2) → n__cons(X1, X2)
activate(n__from(X)) → from(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(X) → X
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'(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)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__cons'(X1, X2)) → cons'(X1, X2)
activate'(X) → X
Infered types.
Rules:
from'(X) → cons'(X, n__from'(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)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__cons'(X1, X2)) → cons'(X1, X2)
activate'(X) → X
Types:
from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
n__from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
s' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndspos' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
0' :: s':n__from':0':n__cons'
rnil' :: rnil':rcons'
n__cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndsneg' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: s':n__from':0':n__cons' → rnil':rcons'
plus' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
times' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
square' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
_hole_s':n__from':0':n__cons'1 :: s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_s':n__from':0':n__cons'4 :: Nat → s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'
Heuristically decided to analyse the following defined symbols:
2ndspos', 2ndsneg', plus', times'
They will be analysed ascendingly in the following order:
2ndspos' = 2ndsneg'
plus' < times'
Rules:
from'(X) → cons'(X, n__from'(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)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__cons'(X1, X2)) → cons'(X1, X2)
activate'(X) → X
Types:
from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
n__from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
s' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndspos' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
0' :: s':n__from':0':n__cons'
rnil' :: rnil':rcons'
n__cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndsneg' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: s':n__from':0':n__cons' → rnil':rcons'
plus' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
times' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
square' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
_hole_s':n__from':0':n__cons'1 :: s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_s':n__from':0':n__cons'4 :: Nat → s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'
Generator Equations:
_gen_s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_s':n__from':0':n__cons'4(+(x, 1)) ⇔ s'(_gen_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'
Proved the following rewrite lemma:
plus'(_gen_s':n__from':0':n__cons'4(_n7), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(+(_n7, b)), rt ∈ Ω(1 + n7)
Induction Base:
plus'(_gen_s':n__from':0':n__cons'4(0), _gen_s':n__from':0':n__cons'4(b)) →RΩ(1)
_gen_s':n__from':0':n__cons'4(b)
Induction Step:
plus'(_gen_s':n__from':0':n__cons'4(+(_$n8, 1)), _gen_s':n__from':0':n__cons'4(_b176)) →RΩ(1)
s'(plus'(_gen_s':n__from':0':n__cons'4(_$n8), _gen_s':n__from':0':n__cons'4(_b176))) →IH
s'(_gen_s':n__from':0':n__cons'4(+(_$n8, _b176)))
We have rt ∈ Ω(n) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
Rules:
from'(X) → cons'(X, n__from'(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)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__cons'(X1, X2)) → cons'(X1, X2)
activate'(X) → X
Types:
from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
n__from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
s' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndspos' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
0' :: s':n__from':0':n__cons'
rnil' :: rnil':rcons'
n__cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndsneg' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: s':n__from':0':n__cons' → rnil':rcons'
plus' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
times' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
square' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
_hole_s':n__from':0':n__cons'1 :: s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_s':n__from':0':n__cons'4 :: Nat → s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'
Lemmas:
plus'(_gen_s':n__from':0':n__cons'4(_n7), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(+(_n7, b)), rt ∈ Ω(1 + n7)
Generator Equations:
_gen_s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_s':n__from':0':n__cons'4(+(x, 1)) ⇔ s'(_gen_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'
Proved the following rewrite lemma:
times'(_gen_s':n__from':0':n__cons'4(_n1064), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(*(_n1064, b)), rt ∈ Ω(1 + b1468·n1064 + n1064)
Induction Base:
times'(_gen_s':n__from':0':n__cons'4(0), _gen_s':n__from':0':n__cons'4(b)) →RΩ(1)
0'
Induction Step:
times'(_gen_s':n__from':0':n__cons'4(+(_$n1065, 1)), _gen_s':n__from':0':n__cons'4(_b1468)) →RΩ(1)
plus'(_gen_s':n__from':0':n__cons'4(_b1468), times'(_gen_s':n__from':0':n__cons'4(_$n1065), _gen_s':n__from':0':n__cons'4(_b1468))) →IH
plus'(_gen_s':n__from':0':n__cons'4(_b1468), _gen_s':n__from':0':n__cons'4(*(_$n1065, _b1468))) →LΩ(1 + b1468)
_gen_s':n__from':0':n__cons'4(+(_b1468, *(_$n1065, _b1468)))
We have rt ∈ Ω(n2) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n2).
Rules:
from'(X) → cons'(X, n__from'(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)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__cons'(X1, X2)) → cons'(X1, X2)
activate'(X) → X
Types:
from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
n__from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
s' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndspos' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
0' :: s':n__from':0':n__cons'
rnil' :: rnil':rcons'
n__cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndsneg' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: s':n__from':0':n__cons' → rnil':rcons'
plus' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
times' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
square' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
_hole_s':n__from':0':n__cons'1 :: s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_s':n__from':0':n__cons'4 :: Nat → s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'
Lemmas:
plus'(_gen_s':n__from':0':n__cons'4(_n7), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(+(_n7, b)), rt ∈ Ω(1 + n7)
times'(_gen_s':n__from':0':n__cons'4(_n1064), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(*(_n1064, b)), rt ∈ Ω(1 + b1468·n1064 + n1064)
Generator Equations:
_gen_s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_s':n__from':0':n__cons'4(+(x, 1)) ⇔ s'(_gen_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'(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)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__cons'(X1, X2)) → cons'(X1, X2)
activate'(X) → X
Types:
from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
n__from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
s' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndspos' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
0' :: s':n__from':0':n__cons'
rnil' :: rnil':rcons'
n__cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndsneg' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: s':n__from':0':n__cons' → rnil':rcons'
plus' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
times' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
square' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
_hole_s':n__from':0':n__cons'1 :: s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_s':n__from':0':n__cons'4 :: Nat → s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'
Lemmas:
plus'(_gen_s':n__from':0':n__cons'4(_n7), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(+(_n7, b)), rt ∈ Ω(1 + n7)
times'(_gen_s':n__from':0':n__cons'4(_n1064), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(*(_n1064, b)), rt ∈ Ω(1 + b1468·n1064 + n1064)
Generator Equations:
_gen_s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_s':n__from':0':n__cons'4(+(x, 1)) ⇔ s'(_gen_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'(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)
cons'(X1, X2) → n__cons'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__cons'(X1, X2)) → cons'(X1, X2)
activate'(X) → X
Types:
from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
n__from' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
s' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndspos' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
0' :: s':n__from':0':n__cons'
rnil' :: rnil':rcons'
n__cons' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
rcons' :: posrecip':negrecip' → rnil':rcons' → rnil':rcons'
posrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
activate' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
2ndsneg' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → rnil':rcons'
negrecip' :: s':n__from':0':n__cons' → posrecip':negrecip'
pi' :: s':n__from':0':n__cons' → rnil':rcons'
plus' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
times' :: s':n__from':0':n__cons' → s':n__from':0':n__cons' → s':n__from':0':n__cons'
square' :: s':n__from':0':n__cons' → s':n__from':0':n__cons'
_hole_s':n__from':0':n__cons'1 :: s':n__from':0':n__cons'
_hole_rnil':rcons'2 :: rnil':rcons'
_hole_posrecip':negrecip'3 :: posrecip':negrecip'
_gen_s':n__from':0':n__cons'4 :: Nat → s':n__from':0':n__cons'
_gen_rnil':rcons'5 :: Nat → rnil':rcons'
Lemmas:
plus'(_gen_s':n__from':0':n__cons'4(_n7), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(+(_n7, b)), rt ∈ Ω(1 + n7)
times'(_gen_s':n__from':0':n__cons'4(_n1064), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(*(_n1064, b)), rt ∈ Ω(1 + b1468·n1064 + n1064)
Generator Equations:
_gen_s':n__from':0':n__cons'4(0) ⇔ 0'
_gen_s':n__from':0':n__cons'4(+(x, 1)) ⇔ s'(_gen_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 Ω(n2) was proven with the following lemma:
times'(_gen_s':n__from':0':n__cons'4(_n1064), _gen_s':n__from':0':n__cons'4(b)) → _gen_s':n__from':0':n__cons'4(*(_n1064, b)), rt ∈ Ω(1 + b1468·n1064 + n1064)