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