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