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

f(X) → if(X, c, n__f(n__true))
if(true, X, Y) → X
if(false, X, Y) → activate(Y)
f(X) → n__f(X)
truen__true
activate(n__f(X)) → f(activate(X))
activate(n__true) → true
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:


f'(X) → if'(X, c', n__f'(n__true'))
if'(true', X, Y) → X
if'(false', X, Y) → activate'(Y)
f'(X) → n__f'(X)
true'n__true'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__true') → true'
activate'(X) → X

Rewrite Strategy: INNERMOST


Infered types.


Rules:
f'(X) → if'(X, c', n__f'(n__true'))
if'(true', X, Y) → X
if'(false', X, Y) → activate'(Y)
f'(X) → n__f'(X)
true'n__true'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__true') → true'
activate'(X) → X

Types:
f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
if' :: c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false'
c' :: c':n__true':n__f':false'
n__f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
n__true' :: c':n__true':n__f':false'
true' :: c':n__true':n__f':false'
false' :: c':n__true':n__f':false'
activate' :: c':n__true':n__f':false' → c':n__true':n__f':false'
_hole_c':n__true':n__f':false'1 :: c':n__true':n__f':false'
_gen_c':n__true':n__f':false'2 :: Nat → c':n__true':n__f':false'


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

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


Rules:
f'(X) → if'(X, c', n__f'(n__true'))
if'(true', X, Y) → X
if'(false', X, Y) → activate'(Y)
f'(X) → n__f'(X)
true'n__true'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__true') → true'
activate'(X) → X

Types:
f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
if' :: c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false'
c' :: c':n__true':n__f':false'
n__f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
n__true' :: c':n__true':n__f':false'
true' :: c':n__true':n__f':false'
false' :: c':n__true':n__f':false'
activate' :: c':n__true':n__f':false' → c':n__true':n__f':false'
_hole_c':n__true':n__f':false'1 :: c':n__true':n__f':false'
_gen_c':n__true':n__f':false'2 :: Nat → c':n__true':n__f':false'

Generator Equations:
_gen_c':n__true':n__f':false'2(0) ⇔ n__true'
_gen_c':n__true':n__f':false'2(+(x, 1)) ⇔ n__f'(_gen_c':n__true':n__f':false'2(x))

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

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


Proved the following rewrite lemma:
activate'(_gen_c':n__true':n__f':false'2(+(1, _n4))) → _*3, rt ∈ Ω(n4)

Induction Base:
activate'(_gen_c':n__true':n__f':false'2(+(1, 0)))

Induction Step:
activate'(_gen_c':n__true':n__f':false'2(+(1, +(_$n5, 1)))) →RΩ(1)
f'(activate'(_gen_c':n__true':n__f':false'2(+(1, _$n5)))) →IH
f'(_*3)

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


Rules:
f'(X) → if'(X, c', n__f'(n__true'))
if'(true', X, Y) → X
if'(false', X, Y) → activate'(Y)
f'(X) → n__f'(X)
true'n__true'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__true') → true'
activate'(X) → X

Types:
f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
if' :: c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false'
c' :: c':n__true':n__f':false'
n__f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
n__true' :: c':n__true':n__f':false'
true' :: c':n__true':n__f':false'
false' :: c':n__true':n__f':false'
activate' :: c':n__true':n__f':false' → c':n__true':n__f':false'
_hole_c':n__true':n__f':false'1 :: c':n__true':n__f':false'
_gen_c':n__true':n__f':false'2 :: Nat → c':n__true':n__f':false'

Lemmas:
activate'(_gen_c':n__true':n__f':false'2(+(1, _n4))) → _*3, rt ∈ Ω(n4)

Generator Equations:
_gen_c':n__true':n__f':false'2(0) ⇔ n__true'
_gen_c':n__true':n__f':false'2(+(x, 1)) ⇔ n__f'(_gen_c':n__true':n__f':false'2(x))

The following defined symbols remain to be analysed:
f'

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


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


Rules:
f'(X) → if'(X, c', n__f'(n__true'))
if'(true', X, Y) → X
if'(false', X, Y) → activate'(Y)
f'(X) → n__f'(X)
true'n__true'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__true') → true'
activate'(X) → X

Types:
f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
if' :: c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false' → c':n__true':n__f':false'
c' :: c':n__true':n__f':false'
n__f' :: c':n__true':n__f':false' → c':n__true':n__f':false'
n__true' :: c':n__true':n__f':false'
true' :: c':n__true':n__f':false'
false' :: c':n__true':n__f':false'
activate' :: c':n__true':n__f':false' → c':n__true':n__f':false'
_hole_c':n__true':n__f':false'1 :: c':n__true':n__f':false'
_gen_c':n__true':n__f':false'2 :: Nat → c':n__true':n__f':false'

Lemmas:
activate'(_gen_c':n__true':n__f':false'2(+(1, _n4))) → _*3, rt ∈ Ω(n4)

Generator Equations:
_gen_c':n__true':n__f':false'2(0) ⇔ n__true'
_gen_c':n__true':n__f':false'2(+(x, 1)) ⇔ n__f'(_gen_c':n__true':n__f':false'2(x))

No more defined symbols left to analyse.


The lowerbound Ω(n) was proven with the following lemma:
activate'(_gen_c':n__true':n__f':false'2(+(1, _n4))) → _*3, rt ∈ Ω(n4)