WORST_CASE(Omega(n^1),O(n^1)) * Step 1: Sum. WORST_CASE(Omega(n^1),O(n^1)) + Considered Problem: - Strict TRS: FIB(0()) -> c() FIB(s(0())) -> c1() FIB(s(s(z0))) -> c2(FIB(s(z0))) FIB(s(s(z0))) -> c3(FIB(z0)) - Weak TRS: fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(z0))) -> +(fib(s(z0)),fib(z0)) - Signature: {FIB/1,fib/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {FIB,fib} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () ** Step 1.a:1: Sum. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: FIB(0()) -> c() FIB(s(0())) -> c1() FIB(s(s(z0))) -> c2(FIB(s(z0))) FIB(s(s(z0))) -> c3(FIB(z0)) - Weak TRS: fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(z0))) -> +(fib(s(z0)),fib(z0)) - Signature: {FIB/1,fib/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {FIB,fib} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () ** Step 1.a:2: DecreasingLoops. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: FIB(0()) -> c() FIB(s(0())) -> c1() FIB(s(s(z0))) -> c2(FIB(s(z0))) FIB(s(s(z0))) -> c3(FIB(z0)) - Weak TRS: fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(z0))) -> +(fib(s(z0)),fib(z0)) - Signature: {FIB/1,fib/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {FIB,fib} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: FIB(s(x)){x -> s(x)} = FIB(s(s(x))) ->^+ c2(FIB(s(x))) = C[FIB(s(x)) = FIB(s(x)){}] ** Step 1.b:1: DependencyPairs. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: FIB(0()) -> c() FIB(s(0())) -> c1() FIB(s(s(z0))) -> c2(FIB(s(z0))) FIB(s(s(z0))) -> c3(FIB(z0)) - Weak TRS: fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(z0))) -> +(fib(s(z0)),fib(z0)) - Signature: {FIB/1,fib/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {FIB,fib} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs FIB#(0()) -> c_1() FIB#(s(0())) -> c_2() FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) FIB#(s(s(z0))) -> c_4(FIB#(z0)) Weak DPs fib#(0()) -> c_5() fib#(s(0())) -> c_6() fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)) and mark the set of starting terms. ** Step 1.b:2: PredecessorEstimation. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIB#(0()) -> c_1() FIB#(s(0())) -> c_2() FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) FIB#(s(s(z0))) -> c_4(FIB#(z0)) - Weak DPs: fib#(0()) -> c_5() fib#(s(0())) -> c_6() fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)) - Weak TRS: FIB(0()) -> c() FIB(s(0())) -> c1() FIB(s(s(z0))) -> c2(FIB(s(z0))) FIB(s(s(z0))) -> c3(FIB(z0)) fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(z0))) -> +(fib(s(z0)),fib(z0)) - Signature: {FIB/1,fib/1,FIB#/1,fib#/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1,c_1/0,c_2/0,c_3/1,c_4/1,c_5/0,c_6/0,c_7/2} - Obligation: innermost runtime complexity wrt. defined symbols {FIB#,fib#} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2} by application of Pre({1,2}) = {3,4}. Here rules are labelled as follows: 1: FIB#(0()) -> c_1() 2: FIB#(s(0())) -> c_2() 3: FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) 4: FIB#(s(s(z0))) -> c_4(FIB#(z0)) 5: fib#(0()) -> c_5() 6: fib#(s(0())) -> c_6() 7: fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)) ** Step 1.b:3: RemoveWeakSuffixes. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) FIB#(s(s(z0))) -> c_4(FIB#(z0)) - Weak DPs: FIB#(0()) -> c_1() FIB#(s(0())) -> c_2() fib#(0()) -> c_5() fib#(s(0())) -> c_6() fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)) - Weak TRS: FIB(0()) -> c() FIB(s(0())) -> c1() FIB(s(s(z0))) -> c2(FIB(s(z0))) FIB(s(s(z0))) -> c3(FIB(z0)) fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(z0))) -> +(fib(s(z0)),fib(z0)) - Signature: {FIB/1,fib/1,FIB#/1,fib#/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1,c_1/0,c_2/0,c_3/1,c_4/1,c_5/0,c_6/0,c_7/2} - Obligation: innermost runtime complexity wrt. defined symbols {FIB#,fib#} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) -->_1 FIB#(s(s(z0))) -> c_4(FIB#(z0)):2 -->_1 FIB#(s(0())) -> c_2():4 -->_1 FIB#(s(s(z0))) -> c_3(FIB#(s(z0))):1 2:S:FIB#(s(s(z0))) -> c_4(FIB#(z0)) -->_1 FIB#(s(0())) -> c_2():4 -->_1 FIB#(0()) -> c_1():3 -->_1 FIB#(s(s(z0))) -> c_4(FIB#(z0)):2 -->_1 FIB#(s(s(z0))) -> c_3(FIB#(s(z0))):1 3:W:FIB#(0()) -> c_1() 4:W:FIB#(s(0())) -> c_2() 5:W:fib#(0()) -> c_5() 6:W:fib#(s(0())) -> c_6() 7:W:fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)) -->_2 fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)):7 -->_1 fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)):7 -->_2 fib#(s(0())) -> c_6():6 -->_1 fib#(s(0())) -> c_6():6 -->_2 fib#(0()) -> c_5():5 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 7: fib#(s(s(z0))) -> c_7(fib#(s(z0)),fib#(z0)) 6: fib#(s(0())) -> c_6() 5: fib#(0()) -> c_5() 3: FIB#(0()) -> c_1() 4: FIB#(s(0())) -> c_2() ** Step 1.b:4: UsableRules. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) FIB#(s(s(z0))) -> c_4(FIB#(z0)) - Weak TRS: FIB(0()) -> c() FIB(s(0())) -> c1() FIB(s(s(z0))) -> c2(FIB(s(z0))) FIB(s(s(z0))) -> c3(FIB(z0)) fib(0()) -> 0() fib(s(0())) -> s(0()) fib(s(s(z0))) -> +(fib(s(z0)),fib(z0)) - Signature: {FIB/1,fib/1,FIB#/1,fib#/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1,c_1/0,c_2/0,c_3/1,c_4/1,c_5/0,c_6/0,c_7/2} - Obligation: innermost runtime complexity wrt. defined symbols {FIB#,fib#} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) FIB#(s(s(z0))) -> c_4(FIB#(z0)) ** Step 1.b:5: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) FIB#(s(s(z0))) -> c_4(FIB#(z0)) - Signature: {FIB/1,fib/1,FIB#/1,fib#/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1,c_1/0,c_2/0,c_3/1,c_4/1,c_5/0,c_6/0,c_7/2} - Obligation: innermost runtime complexity wrt. defined symbols {FIB#,fib#} and constructors {+,0,c,c1,c2,c3,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(c_3) = {1}, uargs(c_4) = {1} Following symbols are considered usable: {FIB#,fib#} TcT has computed the following interpretation: p(+) = [1] x1 + [0] p(0) = [0] p(FIB) = [2] x1 + [0] p(c) = [1] p(c1) = [4] p(c2) = [1] p(c3) = [2] p(fib) = [1] x1 + [1] p(s) = [1] x1 + [3] p(FIB#) = [4] x1 + [4] p(fib#) = [8] p(c_1) = [1] p(c_2) = [1] p(c_3) = [1] x1 + [10] p(c_4) = [1] x1 + [6] p(c_5) = [4] p(c_6) = [2] p(c_7) = [1] x2 + [0] Following rules are strictly oriented: FIB#(s(s(z0))) = [4] z0 + [28] > [4] z0 + [26] = c_3(FIB#(s(z0))) FIB#(s(s(z0))) = [4] z0 + [28] > [4] z0 + [10] = c_4(FIB#(z0)) Following rules are (at-least) weakly oriented: ** Step 1.b:6: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: FIB#(s(s(z0))) -> c_3(FIB#(s(z0))) FIB#(s(s(z0))) -> c_4(FIB#(z0)) - Signature: {FIB/1,fib/1,FIB#/1,fib#/1} / {+/2,0/0,c/0,c1/0,c2/1,c3/1,s/1,c_1/0,c_2/0,c_3/1,c_4/1,c_5/0,c_6/0,c_7/2} - Obligation: innermost runtime complexity wrt. defined symbols {FIB#,fib#} and constructors {+,0,c,c1,c2,c3,s} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(Omega(n^1),O(n^1))