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