MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) hd(cons(X,Y)) -> activate(X) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) nats() -> adx(zeros()) s(X) -> n__s(X) tl(cons(X,Y)) -> activate(Y) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1 ,n__zeros/0} - Obligation: innermost runtime complexity wrt. defined symbols {0,activate,adx,hd,incr,nats,s,tl ,zeros} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs 0#() -> c_1() activate#(X) -> c_2() activate#(n__0()) -> c_3(0#()) activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) activate#(n__s(X)) -> c_6(s#(X)) activate#(n__zeros()) -> c_7(zeros#()) adx#(X) -> c_8() adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(X) -> c_11() incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros()),zeros#()) s#(X) -> c_14() tl#(cons(X,Y)) -> c_15(activate#(Y)) zeros#() -> c_16() zeros#() -> c_17() Weak DPs and mark the set of starting terms. * Step 2: UsableRules MAYBE + Considered Problem: - Strict DPs: 0#() -> c_1() activate#(X) -> c_2() activate#(n__0()) -> c_3(0#()) activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) activate#(n__s(X)) -> c_6(s#(X)) activate#(n__zeros()) -> c_7(zeros#()) adx#(X) -> c_8() adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(X) -> c_11() incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros()),zeros#()) s#(X) -> c_14() tl#(cons(X,Y)) -> c_15(activate#(Y)) zeros#() -> c_16() zeros#() -> c_17() - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) hd(cons(X,Y)) -> activate(X) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) nats() -> adx(zeros()) s(X) -> n__s(X) tl(cons(X,Y)) -> activate(Y) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/2,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() 0#() -> c_1() activate#(X) -> c_2() activate#(n__0()) -> c_3(0#()) activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) activate#(n__s(X)) -> c_6(s#(X)) activate#(n__zeros()) -> c_7(zeros#()) adx#(X) -> c_8() adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(X) -> c_11() incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros()),zeros#()) s#(X) -> c_14() tl#(cons(X,Y)) -> c_15(activate#(Y)) zeros#() -> c_16() zeros#() -> c_17() * Step 3: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: 0#() -> c_1() activate#(X) -> c_2() activate#(n__0()) -> c_3(0#()) activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) activate#(n__s(X)) -> c_6(s#(X)) activate#(n__zeros()) -> c_7(zeros#()) adx#(X) -> c_8() adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(X) -> c_11() incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros()),zeros#()) s#(X) -> c_14() tl#(cons(X,Y)) -> c_15(activate#(Y)) zeros#() -> c_16() zeros#() -> c_17() - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/2,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2,8,11,14,16,17} by application of Pre({1,2,8,11,14,16,17}) = {3,4,5,6,7,9,10,12,13,15}. Here rules are labelled as follows: 1: 0#() -> c_1() 2: activate#(X) -> c_2() 3: activate#(n__0()) -> c_3(0#()) 4: activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) 5: activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) 6: activate#(n__s(X)) -> c_6(s#(X)) 7: activate#(n__zeros()) -> c_7(zeros#()) 8: adx#(X) -> c_8() 9: adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) 10: hd#(cons(X,Y)) -> c_10(activate#(X)) 11: incr#(X) -> c_11() 12: incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) 13: nats#() -> c_13(adx#(zeros()),zeros#()) 14: s#(X) -> c_14() 15: tl#(cons(X,Y)) -> c_15(activate#(Y)) 16: zeros#() -> c_16() 17: zeros#() -> c_17() * Step 4: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: activate#(n__0()) -> c_3(0#()) activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) activate#(n__s(X)) -> c_6(s#(X)) activate#(n__zeros()) -> c_7(zeros#()) adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros()),zeros#()) tl#(cons(X,Y)) -> c_15(activate#(Y)) - Weak DPs: 0#() -> c_1() activate#(X) -> c_2() adx#(X) -> c_8() incr#(X) -> c_11() s#(X) -> c_14() zeros#() -> c_16() zeros#() -> c_17() - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/2,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,4,5} by application of Pre({1,4,5}) = {2,3,6,7,8,10}. Here rules are labelled as follows: 1: activate#(n__0()) -> c_3(0#()) 2: activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) 3: activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) 4: activate#(n__s(X)) -> c_6(s#(X)) 5: activate#(n__zeros()) -> c_7(zeros#()) 6: adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) 7: hd#(cons(X,Y)) -> c_10(activate#(X)) 8: incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) 9: nats#() -> c_13(adx#(zeros()),zeros#()) 10: tl#(cons(X,Y)) -> c_15(activate#(Y)) 11: 0#() -> c_1() 12: activate#(X) -> c_2() 13: adx#(X) -> c_8() 14: incr#(X) -> c_11() 15: s#(X) -> c_14() 16: zeros#() -> c_16() 17: zeros#() -> c_17() * Step 5: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros()),zeros#()) tl#(cons(X,Y)) -> c_15(activate#(Y)) - Weak DPs: 0#() -> c_1() activate#(X) -> c_2() activate#(n__0()) -> c_3(0#()) activate#(n__s(X)) -> c_6(s#(X)) activate#(n__zeros()) -> c_7(zeros#()) adx#(X) -> c_8() incr#(X) -> c_11() s#(X) -> c_14() zeros#() -> c_16() zeros#() -> c_17() - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/2,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) -->_2 activate#(n__zeros()) -> c_7(zeros#()):12 -->_2 activate#(n__s(X)) -> c_6(s#(X)):11 -->_2 activate#(n__0()) -> c_3(0#()):10 -->_1 adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)):3 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 adx#(X) -> c_8():13 -->_2 activate#(X) -> c_2():9 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 2:S:activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) -->_2 activate#(n__zeros()) -> c_7(zeros#()):12 -->_2 activate#(n__s(X)) -> c_6(s#(X)):11 -->_2 activate#(n__0()) -> c_3(0#()):10 -->_1 incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)):5 -->_1 incr#(X) -> c_11():14 -->_2 activate#(X) -> c_2():9 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 3:S:adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) -->_3 activate#(n__zeros()) -> c_7(zeros#()):12 -->_2 activate#(n__zeros()) -> c_7(zeros#()):12 -->_3 activate#(n__s(X)) -> c_6(s#(X)):11 -->_2 activate#(n__s(X)) -> c_6(s#(X)):11 -->_3 activate#(n__0()) -> c_3(0#()):10 -->_2 activate#(n__0()) -> c_3(0#()):10 -->_1 incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)):5 -->_1 incr#(X) -> c_11():14 -->_3 activate#(X) -> c_2():9 -->_2 activate#(X) -> c_2():9 -->_3 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_3 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 4:S:hd#(cons(X,Y)) -> c_10(activate#(X)) -->_1 activate#(n__zeros()) -> c_7(zeros#()):12 -->_1 activate#(n__s(X)) -> c_6(s#(X)):11 -->_1 activate#(n__0()) -> c_3(0#()):10 -->_1 activate#(X) -> c_2():9 -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 5:S:incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) -->_2 activate#(n__zeros()) -> c_7(zeros#()):12 -->_1 activate#(n__zeros()) -> c_7(zeros#()):12 -->_2 activate#(n__s(X)) -> c_6(s#(X)):11 -->_1 activate#(n__s(X)) -> c_6(s#(X)):11 -->_2 activate#(n__0()) -> c_3(0#()):10 -->_1 activate#(n__0()) -> c_3(0#()):10 -->_2 activate#(X) -> c_2():9 -->_1 activate#(X) -> c_2():9 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 6:S:nats#() -> c_13(adx#(zeros()),zeros#()) -->_2 zeros#() -> c_17():17 -->_2 zeros#() -> c_16():16 -->_1 adx#(X) -> c_8():13 -->_1 adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)):3 7:S:tl#(cons(X,Y)) -> c_15(activate#(Y)) -->_1 activate#(n__zeros()) -> c_7(zeros#()):12 -->_1 activate#(n__s(X)) -> c_6(s#(X)):11 -->_1 activate#(n__0()) -> c_3(0#()):10 -->_1 activate#(X) -> c_2():9 -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 8:W:0#() -> c_1() 9:W:activate#(X) -> c_2() 10:W:activate#(n__0()) -> c_3(0#()) -->_1 0#() -> c_1():8 11:W:activate#(n__s(X)) -> c_6(s#(X)) -->_1 s#(X) -> c_14():15 12:W:activate#(n__zeros()) -> c_7(zeros#()) -->_1 zeros#() -> c_17():17 -->_1 zeros#() -> c_16():16 13:W:adx#(X) -> c_8() 14:W:incr#(X) -> c_11() 15:W:s#(X) -> c_14() 16:W:zeros#() -> c_16() 17:W:zeros#() -> c_17() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 13: adx#(X) -> c_8() 14: incr#(X) -> c_11() 9: activate#(X) -> c_2() 10: activate#(n__0()) -> c_3(0#()) 8: 0#() -> c_1() 11: activate#(n__s(X)) -> c_6(s#(X)) 15: s#(X) -> c_14() 12: activate#(n__zeros()) -> c_7(zeros#()) 16: zeros#() -> c_16() 17: zeros#() -> c_17() * Step 6: SimplifyRHS MAYBE + Considered Problem: - Strict DPs: activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros()),zeros#()) tl#(cons(X,Y)) -> c_15(activate#(Y)) - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/2,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) -->_1 adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)):3 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 2:S:activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) -->_1 incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)):5 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 3:S:adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) -->_1 incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)):5 -->_3 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_3 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 4:S:hd#(cons(X,Y)) -> c_10(activate#(X)) -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 5:S:incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 6:S:nats#() -> c_13(adx#(zeros()),zeros#()) -->_1 adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)):3 7:S:tl#(cons(X,Y)) -> c_15(activate#(Y)) -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: nats#() -> c_13(adx#(zeros())) * Step 7: RemoveHeads MAYBE + Considered Problem: - Strict DPs: activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) hd#(cons(X,Y)) -> c_10(activate#(X)) incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros())) tl#(cons(X,Y)) -> c_15(activate#(Y)) - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/1,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: RemoveHeads + Details: Consider the dependency graph 1:S:activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) -->_1 adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)):3 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 2:S:activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) -->_1 incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)):5 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 3:S:adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) -->_1 incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)):5 -->_3 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_3 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 4:S:hd#(cons(X,Y)) -> c_10(activate#(X)) -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 5:S:incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) -->_2 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_2 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 6:S:nats#() -> c_13(adx#(zeros())) -->_1 adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)):3 7:S:tl#(cons(X,Y)) -> c_15(activate#(Y)) -->_1 activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)):2 -->_1 activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)):1 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). [(4,hd#(cons(X,Y)) -> c_10(activate#(X))),(7,tl#(cons(X,Y)) -> c_15(activate#(Y)))] * Step 8: NaturalMI MAYBE + Considered Problem: - Strict DPs: activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) nats#() -> c_13(adx#(zeros())) - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/1,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima): The following argument positions are considered usable: uargs(c_4) = {1,2}, uargs(c_5) = {1,2}, uargs(c_9) = {1,2,3}, uargs(c_12) = {1,2}, uargs(c_13) = {1} Following symbols are considered usable: {0#,activate#,adx#,hd#,incr#,nats#,s#,tl#,zeros#} TcT has computed the following interpretation: p(0) = [1] p(activate) = [8] p(adx) = [2] x1 + [2] p(cons) = [4] p(hd) = [1] p(incr) = [2] p(n__0) = [1] p(n__adx) = [1] p(n__incr) = [0] p(n__s) = [3] p(n__zeros) = [4] p(nats) = [4] p(s) = [1] x1 + [1] p(tl) = [4] x1 + [2] p(zeros) = [2] p(0#) = [1] p(activate#) = [0] p(adx#) = [0] p(hd#) = [1] x1 + [1] p(incr#) = [0] p(nats#) = [5] p(s#) = [8] p(tl#) = [8] x1 + [1] p(zeros#) = [2] p(c_1) = [4] p(c_2) = [1] p(c_3) = [2] x1 + [1] p(c_4) = [8] x1 + [4] x2 + [0] p(c_5) = [8] x1 + [8] x2 + [0] p(c_6) = [0] p(c_7) = [4] x1 + [0] p(c_8) = [0] p(c_9) = [8] x1 + [8] x2 + [4] x3 + [0] p(c_10) = [1] p(c_11) = [0] p(c_12) = [1] x1 + [8] x2 + [0] p(c_13) = [1] x1 + [0] p(c_14) = [1] p(c_15) = [1] p(c_16) = [2] p(c_17) = [1] Following rules are strictly oriented: nats#() = [5] > [0] = c_13(adx#(zeros())) Following rules are (at-least) weakly oriented: activate#(n__adx(X)) = [0] >= [0] = c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) = [0] >= [0] = c_5(incr#(activate(X)),activate#(X)) adx#(cons(X,Y)) = [0] >= [0] = c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) incr#(cons(X,Y)) = [0] >= [0] = c_12(activate#(X),activate#(Y)) * Step 9: Failure MAYBE + Considered Problem: - Strict DPs: activate#(n__adx(X)) -> c_4(adx#(activate(X)),activate#(X)) activate#(n__incr(X)) -> c_5(incr#(activate(X)),activate#(X)) adx#(cons(X,Y)) -> c_9(incr#(cons(activate(X),n__adx(activate(Y)))),activate#(X),activate#(Y)) incr#(cons(X,Y)) -> c_12(activate#(X),activate#(Y)) - Weak DPs: nats#() -> c_13(adx#(zeros())) - Weak TRS: 0() -> n__0() activate(X) -> X activate(n__0()) -> 0() activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(X)) activate(n__s(X)) -> s(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,Y)) -> incr(cons(activate(X),n__adx(activate(Y)))) incr(X) -> n__incr(X) incr(cons(X,Y)) -> cons(n__s(activate(X)),n__incr(activate(Y))) s(X) -> n__s(X) zeros() -> cons(n__0(),n__zeros()) zeros() -> n__zeros() - Signature: {0/0,activate/1,adx/1,hd/1,incr/1,nats/0,s/1,tl/1,zeros/0,0#/0,activate#/1,adx#/1,hd#/1,incr#/1,nats#/0,s#/1 ,tl#/1,zeros#/0} / {cons/2,n__0/0,n__adx/1,n__incr/1,n__s/1,n__zeros/0,c_1/0,c_2/0,c_3/1,c_4/2,c_5/2,c_6/1 ,c_7/1,c_8/0,c_9/3,c_10/1,c_11/0,c_12/2,c_13/1,c_14/0,c_15/1,c_16/0,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {0#,activate#,adx#,hd#,incr#,nats#,s#,tl# ,zeros#} and constructors {cons,n__0,n__adx,n__incr,n__s,n__zeros} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE