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