MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { half(x) -> if(ge(x, s(s(0()))), x) , if(false(), x) -> 0() , if(true(), x) -> s(half(p(p(x)))) , ge(x, 0()) -> true() , ge(s(x), s(y)) -> ge(x, y) , ge(0(), s(x)) -> false() , p(s(x)) -> x , p(0()) -> 0() , log(s(x)) -> s(log(half(s(x)))) , log(0()) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { half^#(x) -> c_1(if^#(ge(x, s(s(0()))), x), ge^#(x, s(s(0())))) , if^#(false(), x) -> c_2() , if^#(true(), x) -> c_3(half^#(p(p(x))), p^#(p(x)), p^#(x)) , ge^#(x, 0()) -> c_4() , ge^#(s(x), s(y)) -> c_5(ge^#(x, y)) , ge^#(0(), s(x)) -> c_6() , p^#(s(x)) -> c_7() , p^#(0()) -> c_8() , log^#(s(x)) -> c_9(log^#(half(s(x))), half^#(s(x))) , log^#(0()) -> c_10() } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(x) -> c_1(if^#(ge(x, s(s(0()))), x), ge^#(x, s(s(0())))) , if^#(false(), x) -> c_2() , if^#(true(), x) -> c_3(half^#(p(p(x))), p^#(p(x)), p^#(x)) , ge^#(x, 0()) -> c_4() , ge^#(s(x), s(y)) -> c_5(ge^#(x, y)) , ge^#(0(), s(x)) -> c_6() , p^#(s(x)) -> c_7() , p^#(0()) -> c_8() , log^#(s(x)) -> c_9(log^#(half(s(x))), half^#(s(x))) , log^#(0()) -> c_10() } Weak Trs: { half(x) -> if(ge(x, s(s(0()))), x) , if(false(), x) -> 0() , if(true(), x) -> s(half(p(p(x)))) , ge(x, 0()) -> true() , ge(s(x), s(y)) -> ge(x, y) , ge(0(), s(x)) -> false() , p(s(x)) -> x , p(0()) -> 0() , log(s(x)) -> s(log(half(s(x)))) , log(0()) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {2,4,6,7,8,10} by applications of Pre({2,4,6,7,8,10}) = {1,3,5,9}. Here rules are labeled as follows: DPs: { 1: half^#(x) -> c_1(if^#(ge(x, s(s(0()))), x), ge^#(x, s(s(0())))) , 2: if^#(false(), x) -> c_2() , 3: if^#(true(), x) -> c_3(half^#(p(p(x))), p^#(p(x)), p^#(x)) , 4: ge^#(x, 0()) -> c_4() , 5: ge^#(s(x), s(y)) -> c_5(ge^#(x, y)) , 6: ge^#(0(), s(x)) -> c_6() , 7: p^#(s(x)) -> c_7() , 8: p^#(0()) -> c_8() , 9: log^#(s(x)) -> c_9(log^#(half(s(x))), half^#(s(x))) , 10: log^#(0()) -> c_10() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(x) -> c_1(if^#(ge(x, s(s(0()))), x), ge^#(x, s(s(0())))) , if^#(true(), x) -> c_3(half^#(p(p(x))), p^#(p(x)), p^#(x)) , ge^#(s(x), s(y)) -> c_5(ge^#(x, y)) , log^#(s(x)) -> c_9(log^#(half(s(x))), half^#(s(x))) } Weak DPs: { if^#(false(), x) -> c_2() , ge^#(x, 0()) -> c_4() , ge^#(0(), s(x)) -> c_6() , p^#(s(x)) -> c_7() , p^#(0()) -> c_8() , log^#(0()) -> c_10() } Weak Trs: { half(x) -> if(ge(x, s(s(0()))), x) , if(false(), x) -> 0() , if(true(), x) -> s(half(p(p(x)))) , ge(x, 0()) -> true() , ge(s(x), s(y)) -> ge(x, y) , ge(0(), s(x)) -> false() , p(s(x)) -> x , p(0()) -> 0() , log(s(x)) -> s(log(half(s(x)))) , log(0()) -> 0() } 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_2() , ge^#(x, 0()) -> c_4() , ge^#(0(), s(x)) -> c_6() , p^#(s(x)) -> c_7() , p^#(0()) -> c_8() , log^#(0()) -> c_10() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(x) -> c_1(if^#(ge(x, s(s(0()))), x), ge^#(x, s(s(0())))) , if^#(true(), x) -> c_3(half^#(p(p(x))), p^#(p(x)), p^#(x)) , ge^#(s(x), s(y)) -> c_5(ge^#(x, y)) , log^#(s(x)) -> c_9(log^#(half(s(x))), half^#(s(x))) } Weak Trs: { half(x) -> if(ge(x, s(s(0()))), x) , if(false(), x) -> 0() , if(true(), x) -> s(half(p(p(x)))) , ge(x, 0()) -> true() , ge(s(x), s(y)) -> ge(x, y) , ge(0(), s(x)) -> false() , p(s(x)) -> x , p(0()) -> 0() , log(s(x)) -> s(log(half(s(x)))) , log(0()) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { if^#(true(), x) -> c_3(half^#(p(p(x))), p^#(p(x)), p^#(x)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(x) -> c_1(if^#(ge(x, s(s(0()))), x), ge^#(x, s(s(0())))) , if^#(true(), x) -> c_2(half^#(p(p(x)))) , ge^#(s(x), s(y)) -> c_3(ge^#(x, y)) , log^#(s(x)) -> c_4(log^#(half(s(x))), half^#(s(x))) } Weak Trs: { half(x) -> if(ge(x, s(s(0()))), x) , if(false(), x) -> 0() , if(true(), x) -> s(half(p(p(x)))) , ge(x, 0()) -> true() , ge(s(x), s(y)) -> ge(x, y) , ge(0(), s(x)) -> false() , p(s(x)) -> x , p(0()) -> 0() , log(s(x)) -> s(log(half(s(x)))) , log(0()) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { half(x) -> if(ge(x, s(s(0()))), x) , if(false(), x) -> 0() , if(true(), x) -> s(half(p(p(x)))) , ge(x, 0()) -> true() , ge(s(x), s(y)) -> ge(x, y) , ge(0(), s(x)) -> false() , p(s(x)) -> x , p(0()) -> 0() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(x) -> c_1(if^#(ge(x, s(s(0()))), x), ge^#(x, s(s(0())))) , if^#(true(), x) -> c_2(half^#(p(p(x)))) , ge^#(s(x), s(y)) -> c_3(ge^#(x, y)) , log^#(s(x)) -> c_4(log^#(half(s(x))), half^#(s(x))) } Weak Trs: { half(x) -> if(ge(x, s(s(0()))), x) , if(false(), x) -> 0() , if(true(), x) -> s(half(p(p(x)))) , ge(x, 0()) -> true() , ge(s(x), s(y)) -> ge(x, y) , ge(0(), s(x)) -> false() , p(s(x)) -> x , p(0()) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..