Runtime Complexity TRS:
The TRS R consists of the following rules:
f(f(a)) → c(n__f(n__g(n__f(n__a))))
f(X) → n__f(X)
g(X) → n__g(X)
a → n__a
activate(n__f(X)) → f(activate(X))
activate(n__g(X)) → g(activate(X))
activate(n__a) → a
activate(X) → X
Renamed function symbols to avoid clashes with predefined symbol.
Runtime Complexity TRS:
The TRS R consists of the following rules:
f'(f'(a')) → c'(n__f'(n__g'(n__f'(n__a'))))
f'(X) → n__f'(X)
g'(X) → n__g'(X)
a' → n__a'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__g'(X)) → g'(activate'(X))
activate'(n__a') → a'
activate'(X) → X
Sliced the following arguments:
c'/0
Runtime Complexity TRS:
The TRS R consists of the following rules:
f'(f'(a')) → c'
f'(X) → n__f'(X)
g'(X) → n__g'(X)
a' → n__a'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__g'(X)) → g'(activate'(X))
activate'(n__a') → a'
activate'(X) → X
Infered types.
Rules:
f'(f'(a')) → c'
f'(X) → n__f'(X)
g'(X) → n__g'(X)
a' → n__a'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__g'(X)) → g'(activate'(X))
activate'(n__a') → a'
activate'(X) → X
Types:
f' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
a' :: c':n__f':n__g':n__a'
c' :: c':n__f':n__g':n__a'
n__f' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
g' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
n__g' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
n__a' :: c':n__f':n__g':n__a'
activate' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
_hole_c':n__f':n__g':n__a'1 :: c':n__f':n__g':n__a'
_gen_c':n__f':n__g':n__a'2 :: Nat → c':n__f':n__g':n__a'
Heuristically decided to analyse the following defined symbols:
activate'
Rules:
f'(f'(a')) → c'
f'(X) → n__f'(X)
g'(X) → n__g'(X)
a' → n__a'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__g'(X)) → g'(activate'(X))
activate'(n__a') → a'
activate'(X) → X
Types:
f' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
a' :: c':n__f':n__g':n__a'
c' :: c':n__f':n__g':n__a'
n__f' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
g' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
n__g' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
n__a' :: c':n__f':n__g':n__a'
activate' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
_hole_c':n__f':n__g':n__a'1 :: c':n__f':n__g':n__a'
_gen_c':n__f':n__g':n__a'2 :: Nat → c':n__f':n__g':n__a'
Generator Equations:
_gen_c':n__f':n__g':n__a'2(0) ⇔ n__a'
_gen_c':n__f':n__g':n__a'2(+(x, 1)) ⇔ n__f'(_gen_c':n__f':n__g':n__a'2(x))
The following defined symbols remain to be analysed:
activate'
Proved the following rewrite lemma:
activate'(_gen_c':n__f':n__g':n__a'2(_n4)) → _gen_c':n__f':n__g':n__a'2(_n4), rt ∈ Ω(1 + n4)
Induction Base:
activate'(_gen_c':n__f':n__g':n__a'2(0)) →RΩ(1)
_gen_c':n__f':n__g':n__a'2(0)
Induction Step:
activate'(_gen_c':n__f':n__g':n__a'2(+(_$n5, 1))) →RΩ(1)
f'(activate'(_gen_c':n__f':n__g':n__a'2(_$n5))) →IH
f'(_gen_c':n__f':n__g':n__a'2(_$n5)) →RΩ(1)
n__f'(_gen_c':n__f':n__g':n__a'2(_$n5))
We have rt ∈ Ω(n) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
Rules:
f'(f'(a')) → c'
f'(X) → n__f'(X)
g'(X) → n__g'(X)
a' → n__a'
activate'(n__f'(X)) → f'(activate'(X))
activate'(n__g'(X)) → g'(activate'(X))
activate'(n__a') → a'
activate'(X) → X
Types:
f' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
a' :: c':n__f':n__g':n__a'
c' :: c':n__f':n__g':n__a'
n__f' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
g' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
n__g' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
n__a' :: c':n__f':n__g':n__a'
activate' :: c':n__f':n__g':n__a' → c':n__f':n__g':n__a'
_hole_c':n__f':n__g':n__a'1 :: c':n__f':n__g':n__a'
_gen_c':n__f':n__g':n__a'2 :: Nat → c':n__f':n__g':n__a'
Lemmas:
activate'(_gen_c':n__f':n__g':n__a'2(_n4)) → _gen_c':n__f':n__g':n__a'2(_n4), rt ∈ Ω(1 + n4)
Generator Equations:
_gen_c':n__f':n__g':n__a'2(0) ⇔ n__a'
_gen_c':n__f':n__g':n__a'2(+(x, 1)) ⇔ n__f'(_gen_c':n__f':n__g':n__a'2(x))
No more defined symbols left to analyse.
The lowerbound Ω(n) was proven with the following lemma:
activate'(_gen_c':n__f':n__g':n__a'2(_n4)) → _gen_c':n__f':n__g':n__a'2(_n4), rt ∈ Ω(1 + n4)