WORST_CASE(?,O(n^1)) * Step 1: WeightGap 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: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(+) = {2}, uargs(Cons) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(*) = [8] x1 + [4] x2 + [8] p(+) = [1] x2 + [0] p(+Full) = [4] x2 + [14] p(0) = [1] p(Cons) = [1] x1 + [1] x2 + [0] p(Nil) = [0] p(S) = [4] p(f) = [13] x1 + [0] p(goal) = [14] x1 + [8] p(map) = [14] x1 + [5] Following rules are strictly oriented: +Full(0(),y) = [4] y + [14] > [1] y + [0] = y goal(xs) = [14] xs + [8] > [14] xs + [5] = map(xs) map(Nil()) = [5] > [0] = Nil() Following rules are (at-least) weakly oriented: *(x,0()) = [8] x + [12] >= [1] = 0() *(x,S(0())) = [8] x + [24] >= [1] x + [0] = x *(x,S(S(y))) = [8] x + [24] >= [8] x + [24] = +(x,*(x,S(y))) *(0(),y) = [4] y + [16] >= [1] = 0() +Full(S(x),y) = [4] y + [14] >= [30] = +Full(x,S(y)) f(x) = [13] x + [0] >= [12] x + [8] = *(x,x) map(Cons(x,xs)) = [14] x + [14] xs + [5] >= [13] x + [14] xs + [5] = Cons(f(x),map(xs)) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 2: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: +Full(S(x),y) -> +Full(x,S(y)) f(x) -> *(x,x) map(Cons(x,xs)) -> Cons(f(x),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 goal(xs) -> 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: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(+) = {2}, uargs(Cons) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(*) = [14] x1 + [0] p(+) = [1] x2 + [0] p(+Full) = [6] x2 + [0] p(0) = [0] p(Cons) = [1] x1 + [1] x2 + [1] p(Nil) = [0] p(S) = [1] x1 + [4] p(f) = [14] x1 + [3] p(goal) = [14] x1 + [2] p(map) = [14] x1 + [2] Following rules are strictly oriented: f(x) = [14] x + [3] > [14] x + [0] = *(x,x) map(Cons(x,xs)) = [14] x + [14] xs + [16] > [14] x + [14] xs + [6] = Cons(f(x),map(xs)) Following rules are (at-least) weakly oriented: *(x,0()) = [14] x + [0] >= [0] = 0() *(x,S(0())) = [14] x + [0] >= [1] x + [0] = x *(x,S(S(y))) = [14] x + [0] >= [14] x + [0] = +(x,*(x,S(y))) *(0(),y) = [0] >= [0] = 0() +Full(0(),y) = [6] y + [0] >= [1] y + [0] = y +Full(S(x),y) = [6] y + [0] >= [6] y + [24] = +Full(x,S(y)) goal(xs) = [14] xs + [2] >= [14] xs + [2] = map(xs) map(Nil()) = [2] >= [0] = Nil() Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 3: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: +Full(S(x),y) -> +Full(x,S(y)) - Weak TRS: *(x,0()) -> 0() *(x,S(0())) -> x *(x,S(S(y))) -> +(x,*(x,S(y))) *(0(),y) -> 0() +Full(0(),y) -> 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: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(+) = {2}, uargs(Cons) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(*) = [2] x1 + [0] p(+) = [1] x2 + [0] p(+Full) = [8] x1 + [2] x2 + [0] p(0) = [0] p(Cons) = [1] x1 + [1] x2 + [0] p(Nil) = [0] p(S) = [1] x1 + [2] p(f) = [3] x1 + [0] p(goal) = [3] x1 + [0] p(map) = [3] x1 + [0] Following rules are strictly oriented: +Full(S(x),y) = [8] x + [2] y + [16] > [8] x + [2] y + [4] = +Full(x,S(y)) Following rules are (at-least) weakly oriented: *(x,0()) = [2] x + [0] >= [0] = 0() *(x,S(0())) = [2] x + [0] >= [1] x + [0] = x *(x,S(S(y))) = [2] x + [0] >= [2] x + [0] = +(x,*(x,S(y))) *(0(),y) = [0] >= [0] = 0() +Full(0(),y) = [2] y + [0] >= [1] y + [0] = y f(x) = [3] x + [0] >= [2] x + [0] = *(x,x) goal(xs) = [3] xs + [0] >= [3] xs + [0] = map(xs) map(Cons(x,xs)) = [3] x + [3] xs + [0] >= [3] x + [3] xs + [0] = Cons(f(x),map(xs)) map(Nil()) = [0] >= [0] = Nil() Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 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(?,O(n^1))