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