WORST_CASE(Omega(n^1),O(n^1)) * Step 1: Sum WORST_CASE(Omega(n^1),O(n^1)) + Considered Problem: - Strict TRS: f(+(x,y)) -> *(f(x),f(y)) f(+(x,s(0()))) -> +(s(s(0())),f(x)) f(0()) -> s(0()) f(s(0())) -> *(s(s(0())),f(0())) f(s(0())) -> s(s(0())) - Signature: {f/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} 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: f(+(x,y)) -> *(f(x),f(y)) f(+(x,s(0()))) -> +(s(s(0())),f(x)) f(0()) -> s(0()) f(s(0())) -> *(s(s(0())),f(0())) f(s(0())) -> s(s(0())) - Signature: {f/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} and constructors {*,+,0,s} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: f(x){x -> +(x,y)} = f(+(x,y)) ->^+ *(f(x),f(y)) = C[f(x) = f(x){}] ** Step 1.b:1: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: f(+(x,y)) -> *(f(x),f(y)) f(+(x,s(0()))) -> +(s(s(0())),f(x)) f(0()) -> s(0()) f(s(0())) -> *(s(s(0())),f(0())) f(s(0())) -> s(s(0())) - Signature: {f/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} 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(*) = {1,2}, uargs(+) = {2} Following symbols are considered usable: {f} TcT has computed the following interpretation: p(*) = x1 + x2 p(+) = 4 + x1 + x2 p(0) = 0 p(f) = x1 p(s) = 0 Following rules are strictly oriented: f(+(x,y)) = 4 + x + y > x + y = *(f(x),f(y)) Following rules are (at-least) weakly oriented: f(+(x,s(0()))) = 4 + x >= 4 + x = +(s(s(0())),f(x)) f(0()) = 0 >= 0 = s(0()) f(s(0())) = 0 >= 0 = *(s(s(0())),f(0())) f(s(0())) = 0 >= 0 = s(s(0())) ** Step 1.b:2: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: f(+(x,s(0()))) -> +(s(s(0())),f(x)) f(0()) -> s(0()) f(s(0())) -> *(s(s(0())),f(0())) f(s(0())) -> s(s(0())) - Weak TRS: f(+(x,y)) -> *(f(x),f(y)) - Signature: {f/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} 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(*) = {1,2}, uargs(+) = {2} Following symbols are considered usable: {f} TcT has computed the following interpretation: p(*) = x1 + x2 p(+) = 1 + x1 + x2 p(0) = 0 p(f) = 8*x1 p(s) = 0 Following rules are strictly oriented: f(+(x,s(0()))) = 8 + 8*x > 1 + 8*x = +(s(s(0())),f(x)) Following rules are (at-least) weakly oriented: f(+(x,y)) = 8 + 8*x + 8*y >= 8*x + 8*y = *(f(x),f(y)) f(0()) = 0 >= 0 = s(0()) f(s(0())) = 0 >= 0 = *(s(s(0())),f(0())) f(s(0())) = 0 >= 0 = s(s(0())) ** Step 1.b:3: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: f(0()) -> s(0()) f(s(0())) -> *(s(s(0())),f(0())) f(s(0())) -> s(s(0())) - Weak TRS: f(+(x,y)) -> *(f(x),f(y)) f(+(x,s(0()))) -> +(s(s(0())),f(x)) - Signature: {f/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} 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(*) = {1,2}, uargs(+) = {2} Following symbols are considered usable: {f} TcT has computed the following interpretation: p(*) = 2 + x1 + x2 p(+) = 1 + x1 + x2 p(0) = 0 p(f) = 4 + 8*x1 p(s) = 2 Following rules are strictly oriented: f(0()) = 4 > 2 = s(0()) f(s(0())) = 20 > 8 = *(s(s(0())),f(0())) f(s(0())) = 20 > 2 = s(s(0())) Following rules are (at-least) weakly oriented: f(+(x,y)) = 12 + 8*x + 8*y >= 10 + 8*x + 8*y = *(f(x),f(y)) f(+(x,s(0()))) = 28 + 8*x >= 7 + 8*x = +(s(s(0())),f(x)) ** Step 1.b:4: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: f(+(x,y)) -> *(f(x),f(y)) f(+(x,s(0()))) -> +(s(s(0())),f(x)) f(0()) -> s(0()) f(s(0())) -> *(s(s(0())),f(0())) f(s(0())) -> s(s(0())) - Signature: {f/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} 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))