MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) goal(x,y) -> binom(x,y) - Signature: {@/2,binom/2,goal/2} / {Cons/2,Nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {@,binom,goal} and constructors {Cons,Nil} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) @#(Nil(),ys) -> c_2() binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) binom#(Cons(x,xs),Nil()) -> c_4() binom#(Nil(),k) -> c_5() goal#(x,y) -> c_6(binom#(x,y)) Weak DPs and mark the set of starting terms. * Step 2: UsableRules MAYBE + Considered Problem: - Strict DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) @#(Nil(),ys) -> c_2() binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) binom#(Cons(x,xs),Nil()) -> c_4() binom#(Nil(),k) -> c_5() goal#(x,y) -> c_6(binom#(x,y)) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) goal(x,y) -> binom(x,y) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) @#(Nil(),ys) -> c_2() binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) binom#(Cons(x,xs),Nil()) -> c_4() binom#(Nil(),k) -> c_5() goal#(x,y) -> c_6(binom#(x,y)) * Step 3: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) @#(Nil(),ys) -> c_2() binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) binom#(Cons(x,xs),Nil()) -> c_4() binom#(Nil(),k) -> c_5() goal#(x,y) -> c_6(binom#(x,y)) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {2,4,5} by application of Pre({2,4,5}) = {1,3,6}. Here rules are labelled as follows: 1: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) 2: @#(Nil(),ys) -> c_2() 3: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) 4: binom#(Cons(x,xs),Nil()) -> c_4() 5: binom#(Nil(),k) -> c_5() 6: goal#(x,y) -> c_6(binom#(x,y)) * Step 4: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) goal#(x,y) -> c_6(binom#(x,y)) - Weak DPs: @#(Nil(),ys) -> c_2() binom#(Cons(x,xs),Nil()) -> c_4() binom#(Nil(),k) -> c_5() - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:@#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) -->_1 @#(Nil(),ys) -> c_2():4 -->_1 @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)):1 2:S:binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) -->_3 binom#(Nil(),k) -> c_5():6 -->_2 binom#(Nil(),k) -> c_5():6 -->_2 binom#(Cons(x,xs),Nil()) -> c_4():5 -->_1 @#(Nil(),ys) -> c_2():4 -->_3 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):2 -->_2 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):2 -->_1 @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)):1 3:S:goal#(x,y) -> c_6(binom#(x,y)) -->_1 binom#(Nil(),k) -> c_5():6 -->_1 binom#(Cons(x,xs),Nil()) -> c_4():5 -->_1 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):2 4:W:@#(Nil(),ys) -> c_2() 5:W:binom#(Cons(x,xs),Nil()) -> c_4() 6:W:binom#(Nil(),k) -> c_5() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 5: binom#(Cons(x,xs),Nil()) -> c_4() 6: binom#(Nil(),k) -> c_5() 4: @#(Nil(),ys) -> c_2() * Step 5: RemoveHeads MAYBE + Considered Problem: - Strict DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) goal#(x,y) -> c_6(binom#(x,y)) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: RemoveHeads + Details: Consider the dependency graph 1:S:@#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) -->_1 @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)):1 2:S:binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) -->_3 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):2 -->_2 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):2 -->_1 @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)):1 3:S:goal#(x,y) -> c_6(binom#(x,y)) -->_1 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):2 Following roots of the dependency graph are removed, as the considered set of starting terms is closed under reduction with respect to these rules (modulo compound contexts). [(3,goal#(x,y) -> c_6(binom#(x,y)))] * Step 6: Decompose MAYBE + Considered Problem: - Strict DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd} + Details: We analyse the complexity of following sub-problems (R) and (S). Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component. Problem (R) - Strict DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) - Weak DPs: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} Problem (S) - Strict DPs: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) - Weak DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} ** Step 6.a:1: Failure MAYBE + Considered Problem: - Strict DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) - Weak DPs: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: EmptyProcessor + Details: The problem is still open. ** Step 6.b:1: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) - Weak DPs: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) -->_1 @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)):2 -->_3 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):1 -->_2 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):1 2:W:@#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) -->_1 @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)):2 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 2: @#(Cons(x,xs),ys) -> c_1(@#(xs,ys)) ** Step 6.b:2: SimplifyRHS MAYBE + Considered Problem: - Strict DPs: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/3,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))) -->_3 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):1 -->_2 binom#(Cons(x,xs),Cons(x',xs')) -> c_3(@#(binom(xs,xs'),binom(xs,Cons(x',xs'))) ,binom#(xs,xs') ,binom#(xs,Cons(x',xs'))):1 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(binom#(xs,xs'),binom#(xs,Cons(x',xs'))) ** Step 6.b:3: UsableRules MAYBE + Considered Problem: - Strict DPs: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(binom#(xs,xs'),binom#(xs,Cons(x',xs'))) - Weak TRS: @(Cons(x,xs),ys) -> Cons(x,@(xs,ys)) @(Nil(),ys) -> ys binom(Cons(x,xs),Cons(x',xs')) -> @(binom(xs,xs'),binom(xs,Cons(x',xs'))) binom(Cons(x,xs),Nil()) -> Cons(Nil(),Nil()) binom(Nil(),k) -> Cons(Nil(),Nil()) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/2,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(binom#(xs,xs'),binom#(xs,Cons(x',xs'))) ** Step 6.b:4: Failure MAYBE + Considered Problem: - Strict DPs: binom#(Cons(x,xs),Cons(x',xs')) -> c_3(binom#(xs,xs'),binom#(xs,Cons(x',xs'))) - Signature: {@/2,binom/2,goal/2,@#/2,binom#/2,goal#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/2,c_4/0,c_5/0,c_6/1} - Obligation: innermost runtime complexity wrt. defined symbols {@#,binom#,goal#} and constructors {Cons,Nil} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE