WORST_CASE(?,O(n^1)) * Step 1: Sum WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: activate(X) -> X activate(n__from(X)) -> from(X) after(0(),XS) -> XS after(s(N),cons(X,XS)) -> after(N,activate(XS)) from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) - Signature: {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,after,from} and constructors {0,cons,n__from,s} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: activate(X) -> X activate(n__from(X)) -> from(X) after(0(),XS) -> XS after(s(N),cons(X,XS)) -> after(N,activate(XS)) from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) - Signature: {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,after,from} and constructors {0,cons,n__from,s} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(after) = {2} Following symbols are considered usable: {activate,after,from} TcT has computed the following interpretation: p(0) = 1 p(activate) = 1 + x1 p(after) = 4 + 9*x1 + 2*x2 p(cons) = x2 p(from) = 0 p(n__from) = 0 p(s) = 2 + x1 Following rules are strictly oriented: activate(X) = 1 + X > X = X activate(n__from(X)) = 1 > 0 = from(X) after(0(),XS) = 13 + 2*XS > XS = XS after(s(N),cons(X,XS)) = 22 + 9*N + 2*XS > 6 + 9*N + 2*XS = after(N,activate(XS)) Following rules are (at-least) weakly oriented: from(X) = 0 >= 0 = cons(X,n__from(s(X))) from(X) = 0 >= 0 = n__from(X) * Step 3: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) - Weak TRS: activate(X) -> X activate(n__from(X)) -> from(X) after(0(),XS) -> XS after(s(N),cons(X,XS)) -> after(N,activate(XS)) - Signature: {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,after,from} and constructors {0,cons,n__from,s} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(after) = {2} Following symbols are considered usable: {activate,after,from} TcT has computed the following interpretation: p(0) = 2 p(activate) = 7 + x1 p(after) = 3*x1 + 4*x2 p(cons) = 1 + x2 p(from) = 9 p(n__from) = 2 p(s) = 8 + x1 Following rules are strictly oriented: from(X) = 9 > 3 = cons(X,n__from(s(X))) from(X) = 9 > 2 = n__from(X) Following rules are (at-least) weakly oriented: activate(X) = 7 + X >= X = X activate(n__from(X)) = 9 >= 9 = from(X) after(0(),XS) = 6 + 4*XS >= XS = XS after(s(N),cons(X,XS)) = 28 + 3*N + 4*XS >= 28 + 3*N + 4*XS = after(N,activate(XS)) * Step 4: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: activate(X) -> X activate(n__from(X)) -> from(X) after(0(),XS) -> XS after(s(N),cons(X,XS)) -> after(N,activate(XS)) from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) - Signature: {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,after,from} and constructors {0,cons,n__from,s} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))