* Step 1: DependencyPairs WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
2nd(cons(X,X1)) -> 2nd(cons1(X,activate(X1)))
2nd(cons1(X,cons(Y,Z))) -> Y
activate(X) -> X
activate(n__from(X)) -> from(X)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
- Signature:
{2nd/1,activate/1,from/1} / {cons/2,cons1/2,n__from/1,s/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {2nd,activate,from} and constructors {cons,cons1,n__from
,s}
+ Applied Processor:
DependencyPairs {dpKind_ = DT}
+ Details:
We add the following dependency tuples:
Strict DPs
2nd#(cons(X,X1)) -> c_1(2nd#(cons1(X,activate(X1))),activate#(X1))
2nd#(cons1(X,cons(Y,Z))) -> c_2()
activate#(X) -> c_3()
activate#(n__from(X)) -> c_4(from#(X))
from#(X) -> c_5()
from#(X) -> c_6()
Weak DPs
and mark the set of starting terms.
* Step 2: UsableRules WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
2nd#(cons(X,X1)) -> c_1(2nd#(cons1(X,activate(X1))),activate#(X1))
2nd#(cons1(X,cons(Y,Z))) -> c_2()
activate#(X) -> c_3()
activate#(n__from(X)) -> c_4(from#(X))
from#(X) -> c_5()
from#(X) -> c_6()
- Weak TRS:
2nd(cons(X,X1)) -> 2nd(cons1(X,activate(X1)))
2nd(cons1(X,cons(Y,Z))) -> Y
activate(X) -> X
activate(n__from(X)) -> from(X)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
- Signature:
{2nd/1,activate/1,from/1,2nd#/1,activate#/1,from#/1} / {cons/2,cons1/2,n__from/1,s/1,c_1/2,c_2/0,c_3/0,c_4/1
,c_5/0,c_6/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {2nd#,activate#,from#} and constructors {cons,cons1
,n__from,s}
+ Applied Processor:
UsableRules
+ Details:
We replace rewrite rules by usable rules:
activate(X) -> X
activate(n__from(X)) -> from(X)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
2nd#(cons(X,X1)) -> c_1(2nd#(cons1(X,activate(X1))),activate#(X1))
2nd#(cons1(X,cons(Y,Z))) -> c_2()
activate#(X) -> c_3()
activate#(n__from(X)) -> c_4(from#(X))
from#(X) -> c_5()
from#(X) -> c_6()
* Step 3: Trivial WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
2nd#(cons(X,X1)) -> c_1(2nd#(cons1(X,activate(X1))),activate#(X1))
2nd#(cons1(X,cons(Y,Z))) -> c_2()
activate#(X) -> c_3()
activate#(n__from(X)) -> c_4(from#(X))
from#(X) -> c_5()
from#(X) -> c_6()
- Weak TRS:
activate(X) -> X
activate(n__from(X)) -> from(X)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
- Signature:
{2nd/1,activate/1,from/1,2nd#/1,activate#/1,from#/1} / {cons/2,cons1/2,n__from/1,s/1,c_1/2,c_2/0,c_3/0,c_4/1
,c_5/0,c_6/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {2nd#,activate#,from#} and constructors {cons,cons1
,n__from,s}
+ Applied Processor:
Trivial
+ Details:
Consider the dependency graph
1:S:2nd#(cons(X,X1)) -> c_1(2nd#(cons1(X,activate(X1))),activate#(X1))
-->_2 activate#(n__from(X)) -> c_4(from#(X)):4
-->_2 activate#(X) -> c_3():3
-->_1 2nd#(cons1(X,cons(Y,Z))) -> c_2():2
2:S:2nd#(cons1(X,cons(Y,Z))) -> c_2()
3:S:activate#(X) -> c_3()
4:S:activate#(n__from(X)) -> c_4(from#(X))
-->_1 from#(X) -> c_6():6
-->_1 from#(X) -> c_5():5
5:S:from#(X) -> c_5()
6:S:from#(X) -> c_6()
The dependency graph contains no loops, we remove all dependency pairs.
* Step 4: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
activate(X) -> X
activate(n__from(X)) -> from(X)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
- Signature:
{2nd/1,activate/1,from/1,2nd#/1,activate#/1,from#/1} / {cons/2,cons1/2,n__from/1,s/1,c_1/2,c_2/0,c_3/0,c_4/1
,c_5/0,c_6/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {2nd#,activate#,from#} and constructors {cons,cons1
,n__from,s}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(1))