MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { digits() -> d(0()) , d(x) -> if(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x) , if(true(), x) -> cons(x, d(s(x))) , if(false(), x) -> nil() , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { digits^#() -> c_1(d^#(0())) , d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) , if^#(true(), x) -> c_3(d^#(s(x))) , if^#(false(), x) -> c_4() , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() , le^#(s(x), s(y)) -> c_7(le^#(x, y)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { digits^#() -> c_1(d^#(0())) , d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) , if^#(true(), x) -> c_3(d^#(s(x))) , if^#(false(), x) -> c_4() , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() , le^#(s(x), s(y)) -> c_7(le^#(x, y)) } Weak Trs: { digits() -> d(0()) , d(x) -> if(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x) , if(true(), x) -> cons(x, d(s(x))) , if(false(), x) -> nil() , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {4,5,6} by applications of Pre({4,5,6}) = {2,7}. Here rules are labeled as follows: DPs: { 1: digits^#() -> c_1(d^#(0())) , 2: d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) , 3: if^#(true(), x) -> c_3(d^#(s(x))) , 4: if^#(false(), x) -> c_4() , 5: le^#(0(), y) -> c_5() , 6: le^#(s(x), 0()) -> c_6() , 7: le^#(s(x), s(y)) -> c_7(le^#(x, y)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { digits^#() -> c_1(d^#(0())) , d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) , if^#(true(), x) -> c_3(d^#(s(x))) , le^#(s(x), s(y)) -> c_7(le^#(x, y)) } Weak DPs: { if^#(false(), x) -> c_4() , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() } Weak Trs: { digits() -> d(0()) , d(x) -> if(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x) , if(true(), x) -> cons(x, d(s(x))) , if(false(), x) -> nil() , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } Obligation: innermost runtime complexity Answer: MAYBE The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. { if^#(false(), x) -> c_4() , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { digits^#() -> c_1(d^#(0())) , d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) , if^#(true(), x) -> c_3(d^#(s(x))) , le^#(s(x), s(y)) -> c_7(le^#(x, y)) } Weak Trs: { digits() -> d(0()) , d(x) -> if(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x) , if(true(), x) -> cons(x, d(s(x))) , if(false(), x) -> nil() , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } Obligation: innermost runtime complexity Answer: MAYBE Consider the dependency graph 1: digits^#() -> c_1(d^#(0())) -->_1 d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) :2 2: d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) -->_2 le^#(s(x), s(y)) -> c_7(le^#(x, y)) :4 -->_1 if^#(true(), x) -> c_3(d^#(s(x))) :3 3: if^#(true(), x) -> c_3(d^#(s(x))) -->_1 d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) :2 4: le^#(s(x), s(y)) -> c_7(le^#(x, y)) -->_1 le^#(s(x), s(y)) -> c_7(le^#(x, y)) :4 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). { digits^#() -> c_1(d^#(0())) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) , if^#(true(), x) -> c_3(d^#(s(x))) , le^#(s(x), s(y)) -> c_7(le^#(x, y)) } Weak Trs: { digits() -> d(0()) , d(x) -> if(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x) , if(true(), x) -> cons(x, d(s(x))) , if(false(), x) -> nil() , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { d^#(x) -> c_2(if^#(le(x, s(s(s(s(s(s(s(s(s(0())))))))))), x), le^#(x, s(s(s(s(s(s(s(s(s(0()))))))))))) , if^#(true(), x) -> c_3(d^#(s(x))) , le^#(s(x), s(y)) -> c_7(le^#(x, y)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..