* Step 1: Sum WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
activate(X) -> X
activate(n__f(X)) -> f(X)
f(X) -> n__f(X)
f(f(a())) -> f(g(n__f(a())))
- Signature:
{activate/1,f/1} / {a/0,g/1,n__f/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {activate,f} and constructors {a,g,n__f}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: InnermostRuleRemoval WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
activate(X) -> X
activate(n__f(X)) -> f(X)
f(X) -> n__f(X)
f(f(a())) -> f(g(n__f(a())))
- Signature:
{activate/1,f/1} / {a/0,g/1,n__f/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {activate,f} and constructors {a,g,n__f}
+ Applied Processor:
InnermostRuleRemoval
+ Details:
Arguments of following rules are not normal-forms.
f(f(a())) -> f(g(n__f(a())))
All above mentioned rules can be savely removed.
* Step 3: DependencyPairs WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
activate(X) -> X
activate(n__f(X)) -> f(X)
f(X) -> n__f(X)
- Signature:
{activate/1,f/1} / {a/0,g/1,n__f/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {activate,f} and constructors {a,g,n__f}
+ Applied Processor:
DependencyPairs {dpKind_ = DT}
+ Details:
We add the following dependency tuples:
Strict DPs
activate#(X) -> c_1()
activate#(n__f(X)) -> c_2(f#(X))
f#(X) -> c_3()
Weak DPs
and mark the set of starting terms.
* Step 4: UsableRules WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
activate#(X) -> c_1()
activate#(n__f(X)) -> c_2(f#(X))
f#(X) -> c_3()
- Weak TRS:
activate(X) -> X
activate(n__f(X)) -> f(X)
f(X) -> n__f(X)
- Signature:
{activate/1,f/1,activate#/1,f#/1} / {a/0,g/1,n__f/1,c_1/0,c_2/1,c_3/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {activate#,f#} and constructors {a,g,n__f}
+ Applied Processor:
UsableRules
+ Details:
We replace rewrite rules by usable rules:
activate#(X) -> c_1()
activate#(n__f(X)) -> c_2(f#(X))
f#(X) -> c_3()
* Step 5: Trivial WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
activate#(X) -> c_1()
activate#(n__f(X)) -> c_2(f#(X))
f#(X) -> c_3()
- Signature:
{activate/1,f/1,activate#/1,f#/1} / {a/0,g/1,n__f/1,c_1/0,c_2/1,c_3/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {activate#,f#} and constructors {a,g,n__f}
+ Applied Processor:
Trivial
+ Details:
Consider the dependency graph
1:S:activate#(X) -> c_1()
2:S:activate#(n__f(X)) -> c_2(f#(X))
-->_1 f#(X) -> c_3():3
3:S:f#(X) -> c_3()
The dependency graph contains no loops, we remove all dependency pairs.
* Step 6: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Signature:
{activate/1,f/1,activate#/1,f#/1} / {a/0,g/1,n__f/1,c_1/0,c_2/1,c_3/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {activate#,f#} and constructors {a,g,n__f}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(1))