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: Sum. 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: Sum {left = someStrategy, right = someStrategy} + Details: () *** Step 1.a:1.a:1: Ara. MAYBE + 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: Ara {minDegree = 1, maxDegree = 3, araTimeout = 15, araRuleShifting = Just 1, isBestCase = True, mkCompletelyDefined = False, verboseOutput = False} + Details: Signatures used: ---------------- F (TrsFun "*") :: ["A"(0) x "A"(0)] -(0)-> "A"(0) F (TrsFun "+") :: ["A"(0) x "A"(0)] -(0)-> "A"(0) F (TrsFun "+Full") :: ["A"(0) x "A"(0)] -(1)-> "A"(0) F (TrsFun "0") :: [] -(0)-> "A"(0) F (TrsFun "Cons") :: ["A"(0) x "A"(1)] -(1)-> "A"(1) F (TrsFun "Cons") :: ["A"(0) x "A"(0)] -(0)-> "A"(0) F (TrsFun "Nil") :: [] -(0)-> "A"(1) F (TrsFun "Nil") :: [] -(0)-> "A"(0) F (TrsFun "S") :: ["A"(0)] -(0)-> "A"(0) F (TrsFun "f") :: ["A"(0)] -(1)-> "A"(0) F (TrsFun "goal") :: ["A"(1)] -(1)-> "A"(0) F (TrsFun "main") :: ["A"(1)] -(1)-> "A"(0) F (TrsFun "map") :: ["A"(1)] -(1)-> "A"(0) Cost-free Signatures used: -------------------------- Base Constructor Signatures used: --------------------------------- Following Still Strict Rules were Typed as: ------------------------------------------- 1. Strict: +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() main(x1) -> map(x1) 2. Weak: *** Step 1.a:1.b: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: Ara. 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: Ara {minDegree = 1, maxDegree = 1, araTimeout = 8, araRuleShifting = Just 1, isBestCase = False, mkCompletelyDefined = False, verboseOutput = False} + Details: Signatures used: ---------------- F (TrsFun "*") :: ["A"(0) x "A"(0)] -(0)-> "A"(0) F (TrsFun "+") :: ["A"(0) x "A"(0)] -(0)-> "A"(0) F (TrsFun "+Full") :: ["A"(1) x "A"(0)] -(1)-> "A"(0) F (TrsFun "0") :: [] -(0)-> "A"(1) F (TrsFun "0") :: [] -(0)-> "A"(0) F (TrsFun "Cons") :: ["A"(0) x "A"(0)] -(0)-> "A"(0) F (TrsFun "Nil") :: [] -(0)-> "A"(0) F (TrsFun "S") :: ["A"(1)] -(1)-> "A"(1) F (TrsFun "S") :: ["A"(0)] -(0)-> "A"(0) F (TrsFun "f") :: ["A"(0)] -(0)-> "A"(0) F (TrsFun "goal") :: ["A"(0)] -(2)-> "A"(0) F (TrsFun "map") :: ["A"(0)] -(1)-> "A"(0) Cost-free Signatures used: -------------------------- Base Constructor Signatures used: --------------------------------- Following Still Strict Rules were Typed as: ------------------------------------------- 1. Strict: +Full(0(),y) -> y +Full(S(x),y) -> +Full(x,S(y)) goal(xs) -> map(xs) map(Nil()) -> Nil() 2. Weak: f(x) -> *(x,x) map(Cons(x,xs)) -> Cons(f(x),map(xs)) ** Step 1.b:2: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: 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 +Full(S(x),y) -> +Full(x,S(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: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: 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: {*,+Full,f,goal,map} TcT has computed the following interpretation: p(*) = [6] x1 + [2] x2 + [2] p(+) = [1] x2 + [0] p(+Full) = [1] x2 + [0] p(0) = [4] p(Cons) = [1] x1 + [1] x2 + [2] p(Nil) = [0] p(S) = [0] p(f) = [8] x1 + [4] p(goal) = [8] x1 + [8] p(map) = [8] x1 + [2] Following rules are strictly oriented: f(x) = [8] x + [4] > [8] x + [2] = *(x,x) map(Cons(x,xs)) = [8] x + [8] xs + [18] > [8] x + [8] xs + [8] = Cons(f(x),map(xs)) Following rules are (at-least) weakly oriented: *(x,0()) = [6] x + [10] >= [4] = 0() *(x,S(0())) = [6] x + [2] >= [1] x + [0] = x *(x,S(S(y))) = [6] x + [2] >= [6] x + [2] = +(x,*(x,S(y))) *(0(),y) = [2] y + [26] >= [4] = 0() +Full(0(),y) = [1] y + [0] >= [1] y + [0] = y +Full(S(x),y) = [1] y + [0] >= [0] = +Full(x,S(y)) goal(xs) = [8] xs + [8] >= [8] xs + [2] = map(xs) map(Nil()) = [2] >= [0] = Nil() ** Step 1.b:3: 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))