WORST_CASE(Omega(n^1),O(n^1)) * Step 1: Sum WORST_CASE(Omega(n^1),O(n^1)) + Considered Problem: - Strict TRS: conv(0()) -> cons(nil(),0()) conv(s(x)) -> cons(conv(half(s(x))),lastbit(s(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) lastbit(0()) -> 0() lastbit(s(0())) -> s(0()) lastbit(s(s(x))) -> lastbit(x) - Signature: {conv/1,half/1,lastbit/1} / {0/0,cons/2,nil/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {conv,half,lastbit} and constructors {0,cons,nil,s} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () ** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: conv(0()) -> cons(nil(),0()) conv(s(x)) -> cons(conv(half(s(x))),lastbit(s(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) lastbit(0()) -> 0() lastbit(s(0())) -> s(0()) lastbit(s(s(x))) -> lastbit(x) - Signature: {conv/1,half/1,lastbit/1} / {0/0,cons/2,nil/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {conv,half,lastbit} and constructors {0,cons,nil,s} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: half(x){x -> s(s(x))} = half(s(s(x))) ->^+ s(half(x)) = C[half(x) = half(x){}] ** Step 1.b:1: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: conv(0()) -> cons(nil(),0()) conv(s(x)) -> cons(conv(half(s(x))),lastbit(s(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) lastbit(0()) -> 0() lastbit(s(0())) -> s(0()) lastbit(s(s(x))) -> lastbit(x) - Signature: {conv/1,half/1,lastbit/1} / {0/0,cons/2,nil/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {conv,half,lastbit} and constructors {0,cons,nil,s} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(cons) = {1,2}, uargs(conv) = {1}, uargs(s) = {1} Following symbols are considered usable: {conv,half,lastbit} TcT has computed the following interpretation: p(0) = 0 p(cons) = x1 + x2 p(conv) = 2 + 4*x1 p(half) = 0 p(lastbit) = 4*x1 p(nil) = 0 p(s) = x1 Following rules are strictly oriented: conv(0()) = 2 > 0 = cons(nil(),0()) Following rules are (at-least) weakly oriented: conv(s(x)) = 2 + 4*x >= 2 + 4*x = cons(conv(half(s(x))),lastbit(s(x))) half(0()) = 0 >= 0 = 0() half(s(0())) = 0 >= 0 = 0() half(s(s(x))) = 0 >= 0 = s(half(x)) lastbit(0()) = 0 >= 0 = 0() lastbit(s(0())) = 0 >= 0 = s(0()) lastbit(s(s(x))) = 4*x >= 4*x = lastbit(x) ** Step 1.b:2: Ara WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: conv(s(x)) -> cons(conv(half(s(x))),lastbit(s(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) lastbit(0()) -> 0() lastbit(s(0())) -> s(0()) lastbit(s(s(x))) -> lastbit(x) - Weak TRS: conv(0()) -> cons(nil(),0()) - Signature: {conv/1,half/1,lastbit/1} / {0/0,cons/2,nil/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {conv,half,lastbit} and constructors {0,cons,nil,s} + Applied Processor: Ara {araHeuristics = Heuristics, minDegree = 1, maxDegree = 1, araTimeout = 3, araRuleShifting = Nothing} + Details: Signatures used: ---------------- 0 :: [] -(0)-> "A"(5) 0 :: [] -(0)-> "A"(1) 0 :: [] -(0)-> "A"(9) 0 :: [] -(0)-> "A"(0) cons :: ["A"(0) x "A"(0)] -(0)-> "A"(0) conv :: ["A"(9)] -(0)-> "A"(0) half :: ["A"(5)] -(1)-> "A"(9) lastbit :: ["A"(1)] -(1)-> "A"(0) nil :: [] -(0)-> "A"(0) s :: ["A"(9)] -(9)-> "A"(9) s :: ["A"(5)] -(5)-> "A"(5) s :: ["A"(1)] -(1)-> "A"(1) s :: ["A"(0)] -(0)-> "A"(0) Cost-free Signatures used: -------------------------- Base Constructor Signatures used: --------------------------------- WORST_CASE(Omega(n^1),O(n^1))