MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: eq(X,Y) -> false() eq(0(),0()) -> true() eq(s(X),s(Y)) -> eq(X,Y) inf(X) -> cons(X,inf(s(X))) length(cons(X,L)) -> s(length(L)) length(nil()) -> 0() take(0(),X) -> nil() take(s(X),cons(Y,L)) -> cons(Y,take(X,L)) - Signature: {eq/2,inf/1,length/1,take/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {eq,inf,length,take} and constructors {0,cons,false,nil,s ,true} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs eq#(X,Y) -> c_1() eq#(0(),0()) -> c_2() eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) inf#(X) -> c_4(inf#(s(X))) length#(cons(X,L)) -> c_5(length#(L)) length#(nil()) -> c_6() take#(0(),X) -> c_7() take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) Weak DPs and mark the set of starting terms. * Step 2: UsableRules MAYBE + Considered Problem: - Strict DPs: eq#(X,Y) -> c_1() eq#(0(),0()) -> c_2() eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) inf#(X) -> c_4(inf#(s(X))) length#(cons(X,L)) -> c_5(length#(L)) length#(nil()) -> c_6() take#(0(),X) -> c_7() take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) - Weak TRS: eq(X,Y) -> false() eq(0(),0()) -> true() eq(s(X),s(Y)) -> eq(X,Y) inf(X) -> cons(X,inf(s(X))) length(cons(X,L)) -> s(length(L)) length(nil()) -> 0() take(0(),X) -> nil() take(s(X),cons(Y,L)) -> cons(Y,take(X,L)) - Signature: {eq/2,inf/1,length/1,take/2,eq#/2,inf#/1,length#/1,take#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/0 ,c_2/0,c_3/1,c_4/1,c_5/1,c_6/0,c_7/0,c_8/1} - Obligation: innermost runtime complexity wrt. defined symbols {eq#,inf#,length#,take#} and constructors {0,cons,false ,nil,s,true} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: eq#(X,Y) -> c_1() eq#(0(),0()) -> c_2() eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) inf#(X) -> c_4(inf#(s(X))) length#(cons(X,L)) -> c_5(length#(L)) length#(nil()) -> c_6() take#(0(),X) -> c_7() take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) * Step 3: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: eq#(X,Y) -> c_1() eq#(0(),0()) -> c_2() eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) inf#(X) -> c_4(inf#(s(X))) length#(cons(X,L)) -> c_5(length#(L)) length#(nil()) -> c_6() take#(0(),X) -> c_7() take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) - Signature: {eq/2,inf/1,length/1,take/2,eq#/2,inf#/1,length#/1,take#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/0 ,c_2/0,c_3/1,c_4/1,c_5/1,c_6/0,c_7/0,c_8/1} - Obligation: innermost runtime complexity wrt. defined symbols {eq#,inf#,length#,take#} and constructors {0,cons,false ,nil,s,true} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2,6,7} by application of Pre({1,2,6,7}) = {3,5,8}. Here rules are labelled as follows: 1: eq#(X,Y) -> c_1() 2: eq#(0(),0()) -> c_2() 3: eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) 4: inf#(X) -> c_4(inf#(s(X))) 5: length#(cons(X,L)) -> c_5(length#(L)) 6: length#(nil()) -> c_6() 7: take#(0(),X) -> c_7() 8: take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) * Step 4: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) inf#(X) -> c_4(inf#(s(X))) length#(cons(X,L)) -> c_5(length#(L)) take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) - Weak DPs: eq#(X,Y) -> c_1() eq#(0(),0()) -> c_2() length#(nil()) -> c_6() take#(0(),X) -> c_7() - Signature: {eq/2,inf/1,length/1,take/2,eq#/2,inf#/1,length#/1,take#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/0 ,c_2/0,c_3/1,c_4/1,c_5/1,c_6/0,c_7/0,c_8/1} - Obligation: innermost runtime complexity wrt. defined symbols {eq#,inf#,length#,take#} and constructors {0,cons,false ,nil,s,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) -->_1 eq#(0(),0()) -> c_2():6 -->_1 eq#(X,Y) -> c_1():5 -->_1 eq#(s(X),s(Y)) -> c_3(eq#(X,Y)):1 2:S:inf#(X) -> c_4(inf#(s(X))) -->_1 inf#(X) -> c_4(inf#(s(X))):2 3:S:length#(cons(X,L)) -> c_5(length#(L)) -->_1 length#(nil()) -> c_6():7 -->_1 length#(cons(X,L)) -> c_5(length#(L)):3 4:S:take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) -->_1 take#(0(),X) -> c_7():8 -->_1 take#(s(X),cons(Y,L)) -> c_8(take#(X,L)):4 5:W:eq#(X,Y) -> c_1() 6:W:eq#(0(),0()) -> c_2() 7:W:length#(nil()) -> c_6() 8:W:take#(0(),X) -> c_7() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 8: take#(0(),X) -> c_7() 7: length#(nil()) -> c_6() 5: eq#(X,Y) -> c_1() 6: eq#(0(),0()) -> c_2() * Step 5: Failure MAYBE + Considered Problem: - Strict DPs: eq#(s(X),s(Y)) -> c_3(eq#(X,Y)) inf#(X) -> c_4(inf#(s(X))) length#(cons(X,L)) -> c_5(length#(L)) take#(s(X),cons(Y,L)) -> c_8(take#(X,L)) - Signature: {eq/2,inf/1,length/1,take/2,eq#/2,inf#/1,length#/1,take#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/0 ,c_2/0,c_3/1,c_4/1,c_5/1,c_6/0,c_7/0,c_8/1} - Obligation: innermost runtime complexity wrt. defined symbols {eq#,inf#,length#,take#} and constructors {0,cons,false ,nil,s,true} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE