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