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