WORST_CASE(?,O(n^3)) * Step 1: DependencyPairs WORST_CASE(?,O(n^3)) + Considered Problem: - Strict TRS: choice(dd(u,S),K,E) -> choice(S,K,E) choice(dd(u,S),K,E) -> choice(S,dd(u,K),E) choice(nil(),K,E) -> ite(clique(K,E),K,nil()) clique(dd(u,K),E) -> ite(complete(u,K,E),clique(K,E),ff()) clique(nil(),E) -> tt() complete(u,dd(v,S),E) -> ite(find(u,v,E),complete(u,S,E),ff()) complete(u,nil(),E) -> tt() find(u,v,dd(dd(u,v),E)) -> tt() find(u,v,dd(dd(u2,v2),E)) -> find(u,v,E) find(u,v,nil()) -> ff() ite(ff(),u,v) -> v ite(tt(),u,v) -> u - Signature: {choice/3,clique/2,complete/3,find/3,ite/3} / {dd/2,ff/0,nil/0,tt/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice,clique,complete,find,ite} and constructors {dd,ff ,nil,tt} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) clique#(nil(),E) -> c_5() complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) complete#(u,nil(),E) -> c_7() find#(u,v,dd(dd(u,v),E)) -> c_8() find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) find#(u,v,nil()) -> c_10() ite#(ff(),u,v) -> c_11() ite#(tt(),u,v) -> c_12() Weak DPs and mark the set of starting terms. * Step 2: UsableRules WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) clique#(nil(),E) -> c_5() complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) complete#(u,nil(),E) -> c_7() find#(u,v,dd(dd(u,v),E)) -> c_8() find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) find#(u,v,nil()) -> c_10() ite#(ff(),u,v) -> c_11() ite#(tt(),u,v) -> c_12() - Weak TRS: choice(dd(u,S),K,E) -> choice(S,K,E) choice(dd(u,S),K,E) -> choice(S,dd(u,K),E) choice(nil(),K,E) -> ite(clique(K,E),K,nil()) clique(dd(u,K),E) -> ite(complete(u,K,E),clique(K,E),ff()) clique(nil(),E) -> tt() complete(u,dd(v,S),E) -> ite(find(u,v,E),complete(u,S,E),ff()) complete(u,nil(),E) -> tt() find(u,v,dd(dd(u,v),E)) -> tt() find(u,v,dd(dd(u2,v2),E)) -> find(u,v,E) find(u,v,nil()) -> ff() ite(ff(),u,v) -> v ite(tt(),u,v) -> u - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/2,c_4/3,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: clique(dd(u,K),E) -> ite(complete(u,K,E),clique(K,E),ff()) clique(nil(),E) -> tt() complete(u,dd(v,S),E) -> ite(find(u,v,E),complete(u,S,E),ff()) complete(u,nil(),E) -> tt() find(u,v,dd(dd(u,v),E)) -> tt() find(u,v,dd(dd(u2,v2),E)) -> find(u,v,E) find(u,v,nil()) -> ff() ite(ff(),u,v) -> v ite(tt(),u,v) -> u choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) clique#(nil(),E) -> c_5() complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) complete#(u,nil(),E) -> c_7() find#(u,v,dd(dd(u,v),E)) -> c_8() find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) find#(u,v,nil()) -> c_10() ite#(ff(),u,v) -> c_11() ite#(tt(),u,v) -> c_12() * Step 3: PredecessorEstimation WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) clique#(nil(),E) -> c_5() complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) complete#(u,nil(),E) -> c_7() find#(u,v,dd(dd(u,v),E)) -> c_8() find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) find#(u,v,nil()) -> c_10() ite#(ff(),u,v) -> c_11() ite#(tt(),u,v) -> c_12() - Weak TRS: clique(dd(u,K),E) -> ite(complete(u,K,E),clique(K,E),ff()) clique(nil(),E) -> tt() complete(u,dd(v,S),E) -> ite(find(u,v,E),complete(u,S,E),ff()) complete(u,nil(),E) -> tt() find(u,v,dd(dd(u,v),E)) -> tt() find(u,v,dd(dd(u2,v2),E)) -> find(u,v,E) find(u,v,nil()) -> ff() ite(ff(),u,v) -> v ite(tt(),u,v) -> u - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/2,c_4/3,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {5,7,8,10,11,12} by application of Pre({5,7,8,10,11,12}) = {3,4,6,9}. Here rules are labelled as follows: 1: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) 2: choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) 3: choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) 4: clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) 5: clique#(nil(),E) -> c_5() 6: complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) 7: complete#(u,nil(),E) -> c_7() 8: find#(u,v,dd(dd(u,v),E)) -> c_8() 9: find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) 10: find#(u,v,nil()) -> c_10() 11: ite#(ff(),u,v) -> c_11() 12: ite#(tt(),u,v) -> c_12() * Step 4: RemoveWeakSuffixes WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Weak DPs: clique#(nil(),E) -> c_5() complete#(u,nil(),E) -> c_7() find#(u,v,dd(dd(u,v),E)) -> c_8() find#(u,v,nil()) -> c_10() ite#(ff(),u,v) -> c_11() ite#(tt(),u,v) -> c_12() - Weak TRS: clique(dd(u,K),E) -> ite(complete(u,K,E),clique(K,E),ff()) clique(nil(),E) -> tt() complete(u,dd(v,S),E) -> ite(find(u,v,E),complete(u,S,E),ff()) complete(u,nil(),E) -> tt() find(u,v,dd(dd(u,v),E)) -> tt() find(u,v,dd(dd(u2,v2),E)) -> find(u,v,E) find(u,v,nil()) -> ff() ite(ff(),u,v) -> v ite(tt(),u,v) -> u - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/2,c_4/3,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) -->_1 choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)):3 -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):2 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):1 2:S:choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) -->_1 choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)):3 -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):2 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):1 3:S:choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) -->_2 clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)):4 -->_1 ite#(tt(),u,v) -> c_12():12 -->_1 ite#(ff(),u,v) -> c_11():11 -->_2 clique#(nil(),E) -> c_5():7 4:S:clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) -->_2 complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()) ,find#(u,v,E) ,complete#(u,S,E)):5 -->_1 ite#(tt(),u,v) -> c_12():12 -->_1 ite#(ff(),u,v) -> c_11():11 -->_2 complete#(u,nil(),E) -> c_7():8 -->_3 clique#(nil(),E) -> c_5():7 -->_3 clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)):4 5:S:complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) -->_2 find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)):6 -->_1 ite#(tt(),u,v) -> c_12():12 -->_1 ite#(ff(),u,v) -> c_11():11 -->_2 find#(u,v,nil()) -> c_10():10 -->_2 find#(u,v,dd(dd(u,v),E)) -> c_8():9 -->_3 complete#(u,nil(),E) -> c_7():8 -->_3 complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)):5 6:S:find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) -->_1 find#(u,v,nil()) -> c_10():10 -->_1 find#(u,v,dd(dd(u,v),E)) -> c_8():9 -->_1 find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)):6 7:W:clique#(nil(),E) -> c_5() 8:W:complete#(u,nil(),E) -> c_7() 9:W:find#(u,v,dd(dd(u,v),E)) -> c_8() 10:W:find#(u,v,nil()) -> c_10() 11:W:ite#(ff(),u,v) -> c_11() 12:W:ite#(tt(),u,v) -> c_12() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 7: clique#(nil(),E) -> c_5() 8: complete#(u,nil(),E) -> c_7() 11: ite#(ff(),u,v) -> c_11() 12: ite#(tt(),u,v) -> c_12() 9: find#(u,v,dd(dd(u,v),E)) -> c_8() 10: find#(u,v,nil()) -> c_10() * Step 5: SimplifyRHS WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Weak TRS: clique(dd(u,K),E) -> ite(complete(u,K,E),clique(K,E),ff()) clique(nil(),E) -> tt() complete(u,dd(v,S),E) -> ite(find(u,v,E),complete(u,S,E),ff()) complete(u,nil(),E) -> tt() find(u,v,dd(dd(u,v),E)) -> tt() find(u,v,dd(dd(u2,v2),E)) -> find(u,v,E) find(u,v,nil()) -> ff() ite(ff(),u,v) -> v ite(tt(),u,v) -> u - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/2,c_4/3,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) -->_1 choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)):3 -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):2 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):1 2:S:choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) -->_1 choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)):3 -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):2 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):1 3:S:choice#(nil(),K,E) -> c_3(ite#(clique(K,E),K,nil()),clique#(K,E)) -->_2 clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)):4 4:S:clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)) -->_2 complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()) ,find#(u,v,E) ,complete#(u,S,E)):5 -->_3 clique#(dd(u,K),E) -> c_4(ite#(complete(u,K,E),clique(K,E),ff()),complete#(u,K,E),clique#(K,E)):4 5:S:complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)) -->_2 find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)):6 -->_3 complete#(u,dd(v,S),E) -> c_6(ite#(find(u,v,E),complete(u,S,E),ff()),find#(u,v,E),complete#(u,S,E)):5 6:S:find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) -->_1 find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)):6 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) * Step 6: UsableRules WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Weak TRS: clique(dd(u,K),E) -> ite(complete(u,K,E),clique(K,E),ff()) clique(nil(),E) -> tt() complete(u,dd(v,S),E) -> ite(find(u,v,E),complete(u,S,E),ff()) complete(u,nil(),E) -> tt() find(u,v,dd(dd(u,v),E)) -> tt() find(u,v,dd(dd(u2,v2),E)) -> find(u,v,E) find(u,v,nil()) -> ff() ite(ff(),u,v) -> v ite(tt(),u,v) -> u - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) * Step 7: DecomposeDG WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: DecomposeDG {onSelection = all below first cut in WDG, onUpper = Just someStrategy, onLower = Nothing} + Details: We decompose the input problem according to the dependency graph into the upper component choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) and a lower component complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) Further, following extension rules are added to the lower component. choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) ** Step 7.a:1: PredecessorEstimationCP WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) 3: choice#(nil(),K,E) -> c_3(clique#(K,E)) 4: clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) The strictly oriented rules are moved into the weak component. *** Step 7.a:1.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_1) = {1}, uargs(c_2) = {1}, uargs(c_3) = {1}, uargs(c_4) = {2} Following symbols are considered usable: {choice#,clique#,complete#,find#,ite#} TcT has computed the following interpretation: p(choice) = [1] x1 + [1] x2 + [0] p(clique) = [1] p(complete) = [1] x1 + [1] x2 + [0] p(dd) = [1] x2 + [3] p(ff) = [1] p(find) = [2] x1 + [1] x3 + [2] p(ite) = [1] x1 + [2] x2 + [2] x3 + [1] p(nil) = [1] p(tt) = [2] p(choice#) = [8] x1 + [8] x2 + [0] p(clique#) = [2] x1 + [0] p(complete#) = [0] p(find#) = [2] x2 + [1] x3 + [4] p(ite#) = [1] x1 + [1] p(c_1) = [1] x1 + [6] p(c_2) = [1] x1 + [0] p(c_3) = [4] x1 + [0] p(c_4) = [2] x1 + [1] x2 + [0] p(c_5) = [1] p(c_6) = [1] x1 + [1] x2 + [0] p(c_7) = [1] p(c_8) = [1] p(c_9) = [0] p(c_10) = [2] p(c_11) = [2] p(c_12) = [1] Following rules are strictly oriented: choice#(dd(u,S),K,E) = [8] K + [8] S + [24] > [8] K + [8] S + [6] = c_1(choice#(S,K,E)) choice#(nil(),K,E) = [8] K + [8] > [8] K + [0] = c_3(clique#(K,E)) clique#(dd(u,K),E) = [2] K + [6] > [2] K + [0] = c_4(complete#(u,K,E),clique#(K,E)) Following rules are (at-least) weakly oriented: choice#(dd(u,S),K,E) = [8] K + [8] S + [24] >= [8] K + [8] S + [24] = c_2(choice#(S,dd(u,K),E)) *** Step 7.a:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) - Weak DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () *** Step 7.a:1.b:1: RemoveWeakSuffixes WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) - Weak DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(nil(),K,E) -> c_3(clique#(K,E)) clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) -->_1 choice#(nil(),K,E) -> c_3(clique#(K,E)):3 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):2 -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):1 2:W:choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) -->_1 choice#(nil(),K,E) -> c_3(clique#(K,E)):3 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):2 -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):1 3:W:choice#(nil(),K,E) -> c_3(clique#(K,E)) -->_1 clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)):4 4:W:clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) -->_2 clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)):4 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 3: choice#(nil(),K,E) -> c_3(clique#(K,E)) 4: clique#(dd(u,K),E) -> c_4(complete#(u,K,E),clique#(K,E)) *** Step 7.a:1.b:2: PredecessorEstimationCP WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) - Weak DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) The strictly oriented rules are moved into the weak component. **** Step 7.a:1.b:2.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) - Weak DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_1) = {1}, uargs(c_2) = {1} Following symbols are considered usable: {choice#,clique#,complete#,find#,ite#} TcT has computed the following interpretation: p(choice) = [0] p(clique) = [0] p(complete) = [0] p(dd) = [1] x2 + [5] p(ff) = [0] p(find) = [0] p(ite) = [0] p(nil) = [0] p(tt) = [2] p(choice#) = [2] x1 + [10] x3 + [0] p(clique#) = [1] x1 + [0] p(complete#) = [2] x3 + [1] p(find#) = [1] x1 + [1] x2 + [1] p(ite#) = [4] x1 + [1] x2 + [8] p(c_1) = [1] x1 + [4] p(c_2) = [1] x1 + [2] p(c_3) = [1] p(c_4) = [1] x1 + [1] x2 + [1] p(c_5) = [1] p(c_6) = [2] x1 + [1] x2 + [4] p(c_7) = [0] p(c_8) = [0] p(c_9) = [0] p(c_10) = [1] p(c_11) = [0] p(c_12) = [0] Following rules are strictly oriented: choice#(dd(u,S),K,E) = [10] E + [2] S + [10] > [10] E + [2] S + [2] = c_2(choice#(S,dd(u,K),E)) Following rules are (at-least) weakly oriented: choice#(dd(u,S),K,E) = [10] E + [2] S + [10] >= [10] E + [2] S + [4] = c_1(choice#(S,K,E)) **** Step 7.a:1.b:2.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () **** Step 7.a:1.b:2.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:W:choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):2 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):1 2:W:choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) -->_1 choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)):2 -->_1 choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)):1 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 1: choice#(dd(u,S),K,E) -> c_1(choice#(S,K,E)) 2: choice#(dd(u,S),K,E) -> c_2(choice#(S,dd(u,K),E)) **** Step 7.a:1.b:2.b:2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). ** Step 7.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 2: find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) The strictly oriented rules are moved into the weak component. *** Step 7.b:1.a:1: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(c_6) = {1,2}, uargs(c_9) = {1} Following symbols are considered usable: {choice#,clique#,complete#,find#,ite#} TcT has computed the following interpretation: p(choice) = 1 + x1 + 4*x1^2 + 2*x2^2 + x3 + x3^2 p(clique) = 2 + 2*x2 + 4*x2^2 p(complete) = x1 + x1*x2 + x1*x3 + 4*x1^2 + x2*x3 + 2*x2^2 + x3 p(dd) = 2 + x2 p(ff) = 4 p(find) = 4 + x1 + 4*x1*x2 + x1*x3 + 4*x2 + 4*x2*x3 + x2^2 + 4*x3 + 4*x3^2 p(ite) = 4*x1 + 4*x1*x3 + x1^2 p(nil) = 0 p(tt) = 2 p(choice#) = 2 + x1 + 4*x1*x3 + x2 + 4*x2*x3 + x3 + 6*x3^2 p(clique#) = 2 + x1 + 4*x1*x2 + 5*x2^2 p(complete#) = 4*x2*x3 + 2*x3 + 2*x3^2 p(find#) = 4*x3 p(ite#) = 1 + x2 + x2^2 + x3^2 p(c_1) = x1 p(c_2) = 4 p(c_3) = 1 p(c_4) = 0 p(c_5) = 0 p(c_6) = x1 + x2 p(c_7) = 4 p(c_8) = 0 p(c_9) = 1 + x1 p(c_10) = 1 p(c_11) = 1 p(c_12) = 4 Following rules are strictly oriented: find#(u,v,dd(dd(u2,v2),E)) = 8 + 4*E > 1 + 4*E = c_9(find#(u,v,E)) Following rules are (at-least) weakly oriented: choice#(dd(u,S),K,E) = 4 + 9*E + 4*E*K + 4*E*S + 6*E^2 + K + S >= 2 + E + 4*E*K + 4*E*S + 6*E^2 + K + S = choice#(S,K,E) choice#(dd(u,S),K,E) = 4 + 9*E + 4*E*K + 4*E*S + 6*E^2 + K + S >= 4 + 9*E + 4*E*K + 4*E*S + 6*E^2 + K + S = choice#(S,dd(u,K),E) choice#(nil(),K,E) = 2 + E + 4*E*K + 6*E^2 + K >= 2 + 4*E*K + 5*E^2 + K = clique#(K,E) clique#(dd(u,K),E) = 4 + 8*E + 4*E*K + 5*E^2 + K >= 2 + 4*E*K + 5*E^2 + K = clique#(K,E) clique#(dd(u,K),E) = 4 + 8*E + 4*E*K + 5*E^2 + K >= 2*E + 4*E*K + 2*E^2 = complete#(u,K,E) complete#(u,dd(v,S),E) = 10*E + 4*E*S + 2*E^2 >= 6*E + 4*E*S + 2*E^2 = c_6(find#(u,v,E),complete#(u,S,E)) *** Step 7.b:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () *** Step 7.b:1.b:1: RemoveWeakSuffixes WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) -->_1 find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)):7 -->_2 complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)):1 2:W:choice#(dd(u,S),K,E) -> choice#(S,K,E) -->_1 choice#(nil(),K,E) -> clique#(K,E):4 -->_1 choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E):3 -->_1 choice#(dd(u,S),K,E) -> choice#(S,K,E):2 3:W:choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) -->_1 choice#(nil(),K,E) -> clique#(K,E):4 -->_1 choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E):3 -->_1 choice#(dd(u,S),K,E) -> choice#(S,K,E):2 4:W:choice#(nil(),K,E) -> clique#(K,E) -->_1 clique#(dd(u,K),E) -> complete#(u,K,E):6 -->_1 clique#(dd(u,K),E) -> clique#(K,E):5 5:W:clique#(dd(u,K),E) -> clique#(K,E) -->_1 clique#(dd(u,K),E) -> complete#(u,K,E):6 -->_1 clique#(dd(u,K),E) -> clique#(K,E):5 6:W:clique#(dd(u,K),E) -> complete#(u,K,E) -->_1 complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)):1 7:W:find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) -->_1 find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)):7 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 7: find#(u,v,dd(dd(u2,v2),E)) -> c_9(find#(u,v,E)) *** Step 7.b:1.b:2: SimplifyRHS WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/2,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)) -->_2 complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)):1 2:W:choice#(dd(u,S),K,E) -> choice#(S,K,E) -->_1 choice#(nil(),K,E) -> clique#(K,E):4 -->_1 choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E):3 -->_1 choice#(dd(u,S),K,E) -> choice#(S,K,E):2 3:W:choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) -->_1 choice#(nil(),K,E) -> clique#(K,E):4 -->_1 choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E):3 -->_1 choice#(dd(u,S),K,E) -> choice#(S,K,E):2 4:W:choice#(nil(),K,E) -> clique#(K,E) -->_1 clique#(dd(u,K),E) -> complete#(u,K,E):6 -->_1 clique#(dd(u,K),E) -> clique#(K,E):5 5:W:clique#(dd(u,K),E) -> clique#(K,E) -->_1 clique#(dd(u,K),E) -> complete#(u,K,E):6 -->_1 clique#(dd(u,K),E) -> clique#(K,E):5 6:W:clique#(dd(u,K),E) -> complete#(u,K,E) -->_1 complete#(u,dd(v,S),E) -> c_6(find#(u,v,E),complete#(u,S,E)):1 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) *** Step 7.b:1.b:3: PredecessorEstimationCP WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) The strictly oriented rules are moved into the weak component. **** Step 7.b:1.b:3.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_6) = {1} Following symbols are considered usable: {choice#,clique#,complete#,find#,ite#} TcT has computed the following interpretation: p(choice) = [0] p(clique) = [0] p(complete) = [0] p(dd) = [1] x2 + [8] p(ff) = [0] p(find) = [0] p(ite) = [0] p(nil) = [0] p(tt) = [0] p(choice#) = [2] x1 + [2] x2 + [0] p(clique#) = [2] x1 + [0] p(complete#) = [2] x2 + [1] p(find#) = [1] x3 + [0] p(ite#) = [1] x1 + [1] x2 + [1] x3 + [0] p(c_1) = [0] p(c_2) = [2] x1 + [0] p(c_3) = [0] p(c_4) = [1] x1 + [0] p(c_5) = [0] p(c_6) = [1] x1 + [12] p(c_7) = [0] p(c_8) = [0] p(c_9) = [2] x1 + [1] p(c_10) = [0] p(c_11) = [2] p(c_12) = [2] Following rules are strictly oriented: complete#(u,dd(v,S),E) = [2] S + [17] > [2] S + [13] = c_6(complete#(u,S,E)) Following rules are (at-least) weakly oriented: choice#(dd(u,S),K,E) = [2] K + [2] S + [16] >= [2] K + [2] S + [0] = choice#(S,K,E) choice#(dd(u,S),K,E) = [2] K + [2] S + [16] >= [2] K + [2] S + [16] = choice#(S,dd(u,K),E) choice#(nil(),K,E) = [2] K + [0] >= [2] K + [0] = clique#(K,E) clique#(dd(u,K),E) = [2] K + [16] >= [2] K + [0] = clique#(K,E) clique#(dd(u,K),E) = [2] K + [16] >= [2] K + [1] = complete#(u,K,E) **** Step 7.b:1.b:3.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () **** Step 7.b:1.b:3.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: choice#(dd(u,S),K,E) -> choice#(S,K,E) choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) choice#(nil(),K,E) -> clique#(K,E) clique#(dd(u,K),E) -> clique#(K,E) clique#(dd(u,K),E) -> complete#(u,K,E) complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:W:choice#(dd(u,S),K,E) -> choice#(S,K,E) -->_1 choice#(nil(),K,E) -> clique#(K,E):3 -->_1 choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E):2 -->_1 choice#(dd(u,S),K,E) -> choice#(S,K,E):1 2:W:choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) -->_1 choice#(nil(),K,E) -> clique#(K,E):3 -->_1 choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E):2 -->_1 choice#(dd(u,S),K,E) -> choice#(S,K,E):1 3:W:choice#(nil(),K,E) -> clique#(K,E) -->_1 clique#(dd(u,K),E) -> complete#(u,K,E):5 -->_1 clique#(dd(u,K),E) -> clique#(K,E):4 4:W:clique#(dd(u,K),E) -> clique#(K,E) -->_1 clique#(dd(u,K),E) -> complete#(u,K,E):5 -->_1 clique#(dd(u,K),E) -> clique#(K,E):4 5:W:clique#(dd(u,K),E) -> complete#(u,K,E) -->_1 complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)):6 6:W:complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) -->_1 complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)):6 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 1: choice#(dd(u,S),K,E) -> choice#(S,K,E) 2: choice#(dd(u,S),K,E) -> choice#(S,dd(u,K),E) 3: choice#(nil(),K,E) -> clique#(K,E) 4: clique#(dd(u,K),E) -> clique#(K,E) 5: clique#(dd(u,K),E) -> complete#(u,K,E) 6: complete#(u,dd(v,S),E) -> c_6(complete#(u,S,E)) **** Step 7.b:1.b:3.b:2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Signature: {choice/3,clique/2,complete/3,find/3,ite/3,choice#/3,clique#/2,complete#/3,find#/3,ite#/3} / {dd/2,ff/0 ,nil/0,tt/0,c_1/1,c_2/1,c_3/1,c_4/2,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {choice#,clique#,complete#,find# ,ite#} and constructors {dd,ff,nil,tt} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^3))