MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: add0(x,0()) -> x add0(x',S(x)) -> +(S(0()),add0(x',x)) mult(x,0()) -> 0() mult(x',S(x)) -> add0(x',mult(x',x)) power(x,0()) -> S(0()) power(x',S(x)) -> mult(x',power(x',x)) - Weak TRS: +(x,S(0())) -> S(x) +(S(0()),y) -> S(y) - Signature: {+/2,add0/2,mult/2,power/2} / {0/0,S/1} - Obligation: innermost runtime complexity wrt. defined symbols {+,add0,mult,power} and constructors {0,S} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs add0#(x,0()) -> c_1() add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)) mult#(x,0()) -> c_3() mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) power#(x,0()) -> c_5() power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) Weak DPs +#(x,S(0())) -> c_7() +#(S(0()),y) -> c_8() and mark the set of starting terms. * Step 2: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: add0#(x,0()) -> c_1() add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)) mult#(x,0()) -> c_3() mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) power#(x,0()) -> c_5() power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) - Weak DPs: +#(x,S(0())) -> c_7() +#(S(0()),y) -> c_8() - Weak TRS: +(x,S(0())) -> S(x) +(S(0()),y) -> S(y) add0(x,0()) -> x add0(x',S(x)) -> +(S(0()),add0(x',x)) mult(x,0()) -> 0() mult(x',S(x)) -> add0(x',mult(x',x)) power(x,0()) -> S(0()) power(x',S(x)) -> mult(x',power(x',x)) - Signature: {+/2,add0/2,mult/2,power/2,+#/2,add0#/2,mult#/2,power#/2} / {0/0,S/1,c_1/0,c_2/2,c_3/0,c_4/2,c_5/0,c_6/2 ,c_7/0,c_8/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,add0#,mult#,power#} and constructors {0,S} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,3,5} by application of Pre({1,3,5}) = {2,4,6}. Here rules are labelled as follows: 1: add0#(x,0()) -> c_1() 2: add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)) 3: mult#(x,0()) -> c_3() 4: mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) 5: power#(x,0()) -> c_5() 6: power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) 7: +#(x,S(0())) -> c_7() 8: +#(S(0()),y) -> c_8() * Step 3: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)) mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) - Weak DPs: +#(x,S(0())) -> c_7() +#(S(0()),y) -> c_8() add0#(x,0()) -> c_1() mult#(x,0()) -> c_3() power#(x,0()) -> c_5() - Weak TRS: +(x,S(0())) -> S(x) +(S(0()),y) -> S(y) add0(x,0()) -> x add0(x',S(x)) -> +(S(0()),add0(x',x)) mult(x,0()) -> 0() mult(x',S(x)) -> add0(x',mult(x',x)) power(x,0()) -> S(0()) power(x',S(x)) -> mult(x',power(x',x)) - Signature: {+/2,add0/2,mult/2,power/2,+#/2,add0#/2,mult#/2,power#/2} / {0/0,S/1,c_1/0,c_2/2,c_3/0,c_4/2,c_5/0,c_6/2 ,c_7/0,c_8/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,add0#,mult#,power#} and constructors {0,S} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)) -->_2 add0#(x,0()) -> c_1():6 -->_1 +#(S(0()),y) -> c_8():5 -->_1 +#(x,S(0())) -> c_7():4 -->_2 add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)):1 2:S:mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) -->_2 mult#(x,0()) -> c_3():7 -->_1 add0#(x,0()) -> c_1():6 -->_2 mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)):2 -->_1 add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)):1 3:S:power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) -->_2 power#(x,0()) -> c_5():8 -->_1 mult#(x,0()) -> c_3():7 -->_2 power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)):3 -->_1 mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)):2 4:W:+#(x,S(0())) -> c_7() 5:W:+#(S(0()),y) -> c_8() 6:W:add0#(x,0()) -> c_1() 7:W:mult#(x,0()) -> c_3() 8:W:power#(x,0()) -> c_5() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 8: power#(x,0()) -> c_5() 7: mult#(x,0()) -> c_3() 4: +#(x,S(0())) -> c_7() 5: +#(S(0()),y) -> c_8() 6: add0#(x,0()) -> c_1() * Step 4: SimplifyRHS MAYBE + Considered Problem: - Strict DPs: add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)) mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) - Weak TRS: +(x,S(0())) -> S(x) +(S(0()),y) -> S(y) add0(x,0()) -> x add0(x',S(x)) -> +(S(0()),add0(x',x)) mult(x,0()) -> 0() mult(x',S(x)) -> add0(x',mult(x',x)) power(x,0()) -> S(0()) power(x',S(x)) -> mult(x',power(x',x)) - Signature: {+/2,add0/2,mult/2,power/2,+#/2,add0#/2,mult#/2,power#/2} / {0/0,S/1,c_1/0,c_2/2,c_3/0,c_4/2,c_5/0,c_6/2 ,c_7/0,c_8/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,add0#,mult#,power#} and constructors {0,S} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)) -->_2 add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)):1 2:S:mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) -->_2 mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)):2 -->_1 add0#(x',S(x)) -> c_2(+#(S(0()),add0(x',x)),add0#(x',x)):1 3:S:power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) -->_2 power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)):3 -->_1 mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)):2 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: add0#(x',S(x)) -> c_2(add0#(x',x)) * Step 5: Failure MAYBE + Considered Problem: - Strict DPs: add0#(x',S(x)) -> c_2(add0#(x',x)) mult#(x',S(x)) -> c_4(add0#(x',mult(x',x)),mult#(x',x)) power#(x',S(x)) -> c_6(mult#(x',power(x',x)),power#(x',x)) - Weak TRS: +(x,S(0())) -> S(x) +(S(0()),y) -> S(y) add0(x,0()) -> x add0(x',S(x)) -> +(S(0()),add0(x',x)) mult(x,0()) -> 0() mult(x',S(x)) -> add0(x',mult(x',x)) power(x,0()) -> S(0()) power(x',S(x)) -> mult(x',power(x',x)) - Signature: {+/2,add0/2,mult/2,power/2,+#/2,add0#/2,mult#/2,power#/2} / {0/0,S/1,c_1/0,c_2/1,c_3/0,c_4/2,c_5/0,c_6/2 ,c_7/0,c_8/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,add0#,mult#,power#} and constructors {0,S} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE