WORST_CASE(Omega(n^1),O(n^1)) * Step 1: Sum WORST_CASE(Omega(n^1),O(n^1)) + Considered Problem: - Strict TRS: dbl(0(),y) -> y dbl(S(0()),S(0())) -> S(S(S(S(0())))) save(0()) -> 0() save(S(x)) -> dbl(0(),save(x)) - Signature: {dbl/2,save/1} / {0/0,S/1} - Obligation: innermost runtime complexity wrt. defined symbols {dbl,save} and constructors {0,S} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () ** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: dbl(0(),y) -> y dbl(S(0()),S(0())) -> S(S(S(S(0())))) save(0()) -> 0() save(S(x)) -> dbl(0(),save(x)) - Signature: {dbl/2,save/1} / {0/0,S/1} - Obligation: innermost runtime complexity wrt. defined symbols {dbl,save} and constructors {0,S} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: save(x){x -> S(x)} = save(S(x)) ->^+ dbl(0(),save(x)) = C[save(x) = save(x){}] ** Step 1.b:1: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: dbl(0(),y) -> y dbl(S(0()),S(0())) -> S(S(S(S(0())))) save(0()) -> 0() save(S(x)) -> dbl(0(),save(x)) - Signature: {dbl/2,save/1} / {0/0,S/1} - Obligation: innermost runtime complexity wrt. defined symbols {dbl,save} and constructors {0,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(dbl) = {2} Following symbols are considered usable: {dbl,save} TcT has computed the following interpretation: p(0) = 0 p(S) = 1 p(dbl) = 2*x2 p(save) = 0 Following rules are strictly oriented: dbl(S(0()),S(0())) = 2 > 1 = S(S(S(S(0())))) Following rules are (at-least) weakly oriented: dbl(0(),y) = 2*y >= y = y save(0()) = 0 >= 0 = 0() save(S(x)) = 0 >= 0 = dbl(0(),save(x)) ** Step 1.b:2: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: dbl(0(),y) -> y save(0()) -> 0() save(S(x)) -> dbl(0(),save(x)) - Weak TRS: dbl(S(0()),S(0())) -> S(S(S(S(0())))) - Signature: {dbl/2,save/1} / {0/0,S/1} - Obligation: innermost runtime complexity wrt. defined symbols {dbl,save} and constructors {0,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(dbl) = {2} Following symbols are considered usable: {dbl,save} TcT has computed the following interpretation: p(0) = 0 p(S) = 4 p(dbl) = x2 p(save) = 9 Following rules are strictly oriented: save(0()) = 9 > 0 = 0() Following rules are (at-least) weakly oriented: dbl(0(),y) = y >= y = y dbl(S(0()),S(0())) = 4 >= 4 = S(S(S(S(0())))) save(S(x)) = 9 >= 9 = dbl(0(),save(x)) ** Step 1.b:3: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: dbl(0(),y) -> y save(S(x)) -> dbl(0(),save(x)) - Weak TRS: dbl(S(0()),S(0())) -> S(S(S(S(0())))) save(0()) -> 0() - Signature: {dbl/2,save/1} / {0/0,S/1} - Obligation: innermost runtime complexity wrt. defined symbols {dbl,save} and constructors {0,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(dbl) = {2} Following symbols are considered usable: {dbl,save} TcT has computed the following interpretation: p(0) = 6 p(S) = 2 + x1 p(dbl) = 1 + x1 + x2 p(save) = 4*x1 Following rules are strictly oriented: dbl(0(),y) = 7 + y > y = y save(S(x)) = 8 + 4*x > 7 + 4*x = dbl(0(),save(x)) Following rules are (at-least) weakly oriented: dbl(S(0()),S(0())) = 17 >= 14 = S(S(S(S(0())))) save(0()) = 24 >= 6 = 0() ** Step 1.b:4: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: dbl(0(),y) -> y dbl(S(0()),S(0())) -> S(S(S(S(0())))) save(0()) -> 0() save(S(x)) -> dbl(0(),save(x)) - Signature: {dbl/2,save/1} / {0/0,S/1} - Obligation: innermost runtime complexity wrt. defined symbols {dbl,save} and constructors {0,S} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(Omega(n^1),O(n^1))