MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> s(0()) , inc(s(x)) -> s(inc(x)) , logarithm(x) -> logIter(x, 0()) , logIter(x, y) -> if(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)) , if(true(), true(), x, y) -> logIter(x, y) , if(true(), false(), x, s(y)) -> y , if(false(), b, x, y) -> logZeroError() , f() -> g() , f() -> h() } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { half^#(0()) -> c_1() , half^#(s(0())) -> c_2() , half^#(s(s(x))) -> c_3(half^#(x)) , le^#(0(), y) -> c_4() , le^#(s(x), 0()) -> c_5() , le^#(s(x), s(y)) -> c_6(le^#(x, y)) , inc^#(0()) -> c_7() , inc^#(s(x)) -> c_8(inc^#(x)) , logarithm^#(x) -> c_9(logIter^#(x, 0())) , logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) , if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) , if^#(true(), false(), x, s(y)) -> c_12() , if^#(false(), b, x, y) -> c_13() , f^#() -> c_14() , f^#() -> c_15() } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(0()) -> c_1() , half^#(s(0())) -> c_2() , half^#(s(s(x))) -> c_3(half^#(x)) , le^#(0(), y) -> c_4() , le^#(s(x), 0()) -> c_5() , le^#(s(x), s(y)) -> c_6(le^#(x, y)) , inc^#(0()) -> c_7() , inc^#(s(x)) -> c_8(inc^#(x)) , logarithm^#(x) -> c_9(logIter^#(x, 0())) , logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) , if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) , if^#(true(), false(), x, s(y)) -> c_12() , if^#(false(), b, x, y) -> c_13() , f^#() -> c_14() , f^#() -> c_15() } Weak Trs: { half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> s(0()) , inc(s(x)) -> s(inc(x)) , logarithm(x) -> logIter(x, 0()) , logIter(x, y) -> if(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)) , if(true(), true(), x, y) -> logIter(x, y) , if(true(), false(), x, s(y)) -> y , if(false(), b, x, y) -> logZeroError() , f() -> g() , f() -> h() } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,4,5,7,12,13,14,15} by applications of Pre({1,2,4,5,7,12,13,14,15}) = {3,6,8,10}. Here rules are labeled as follows: DPs: { 1: half^#(0()) -> c_1() , 2: half^#(s(0())) -> c_2() , 3: half^#(s(s(x))) -> c_3(half^#(x)) , 4: le^#(0(), y) -> c_4() , 5: le^#(s(x), 0()) -> c_5() , 6: le^#(s(x), s(y)) -> c_6(le^#(x, y)) , 7: inc^#(0()) -> c_7() , 8: inc^#(s(x)) -> c_8(inc^#(x)) , 9: logarithm^#(x) -> c_9(logIter^#(x, 0())) , 10: logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) , 11: if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) , 12: if^#(true(), false(), x, s(y)) -> c_12() , 13: if^#(false(), b, x, y) -> c_13() , 14: f^#() -> c_14() , 15: f^#() -> c_15() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(s(s(x))) -> c_3(half^#(x)) , le^#(s(x), s(y)) -> c_6(le^#(x, y)) , inc^#(s(x)) -> c_8(inc^#(x)) , logarithm^#(x) -> c_9(logIter^#(x, 0())) , logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) , if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) } Weak DPs: { half^#(0()) -> c_1() , half^#(s(0())) -> c_2() , le^#(0(), y) -> c_4() , le^#(s(x), 0()) -> c_5() , inc^#(0()) -> c_7() , if^#(true(), false(), x, s(y)) -> c_12() , if^#(false(), b, x, y) -> c_13() , f^#() -> c_14() , f^#() -> c_15() } Weak Trs: { half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> s(0()) , inc(s(x)) -> s(inc(x)) , logarithm(x) -> logIter(x, 0()) , logIter(x, y) -> if(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)) , if(true(), true(), x, y) -> logIter(x, y) , if(true(), false(), x, s(y)) -> y , if(false(), b, x, y) -> logZeroError() , f() -> g() , f() -> h() } 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. { half^#(0()) -> c_1() , half^#(s(0())) -> c_2() , le^#(0(), y) -> c_4() , le^#(s(x), 0()) -> c_5() , inc^#(0()) -> c_7() , if^#(true(), false(), x, s(y)) -> c_12() , if^#(false(), b, x, y) -> c_13() , f^#() -> c_14() , f^#() -> c_15() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(s(s(x))) -> c_3(half^#(x)) , le^#(s(x), s(y)) -> c_6(le^#(x, y)) , inc^#(s(x)) -> c_8(inc^#(x)) , logarithm^#(x) -> c_9(logIter^#(x, 0())) , logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) , if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) } Weak Trs: { half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> s(0()) , inc(s(x)) -> s(inc(x)) , logarithm(x) -> logIter(x, 0()) , logIter(x, y) -> if(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)) , if(true(), true(), x, y) -> logIter(x, y) , if(true(), false(), x, s(y)) -> y , if(false(), b, x, y) -> logZeroError() , f() -> g() , f() -> h() } Obligation: innermost runtime complexity Answer: MAYBE Consider the dependency graph 1: half^#(s(s(x))) -> c_3(half^#(x)) -->_1 half^#(s(s(x))) -> c_3(half^#(x)) :1 2: le^#(s(x), s(y)) -> c_6(le^#(x, y)) -->_1 le^#(s(x), s(y)) -> c_6(le^#(x, y)) :2 3: inc^#(s(x)) -> c_8(inc^#(x)) -->_1 inc^#(s(x)) -> c_8(inc^#(x)) :3 4: logarithm^#(x) -> c_9(logIter^#(x, 0())) -->_1 logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) :5 5: logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) -->_1 if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) :6 -->_5 inc^#(s(x)) -> c_8(inc^#(x)) :3 -->_3 le^#(s(x), s(y)) -> c_6(le^#(x, y)) :2 -->_2 le^#(s(x), s(y)) -> c_6(le^#(x, y)) :2 -->_4 half^#(s(s(x))) -> c_3(half^#(x)) :1 6: if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) -->_1 logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) :5 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). { logarithm^#(x) -> c_9(logIter^#(x, 0())) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(s(s(x))) -> c_3(half^#(x)) , le^#(s(x), s(y)) -> c_6(le^#(x, y)) , inc^#(s(x)) -> c_8(inc^#(x)) , logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) , if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) } Weak Trs: { half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> s(0()) , inc(s(x)) -> s(inc(x)) , logarithm(x) -> logIter(x, 0()) , logIter(x, y) -> if(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)) , if(true(), true(), x, y) -> logIter(x, y) , if(true(), false(), x, s(y)) -> y , if(false(), b, x, y) -> logZeroError() , f() -> g() , f() -> h() } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> s(0()) , inc(s(x)) -> s(inc(x)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { half^#(s(s(x))) -> c_3(half^#(x)) , le^#(s(x), s(y)) -> c_6(le^#(x, y)) , inc^#(s(x)) -> c_8(inc^#(x)) , logIter^#(x, y) -> c_10(if^#(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), le^#(s(0()), x), le^#(s(s(0())), x), half^#(x), inc^#(y)) , if^#(true(), true(), x, y) -> c_11(logIter^#(x, y)) } Weak Trs: { half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> s(0()) , inc(s(x)) -> s(inc(x)) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..