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