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