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() , plus(s(x), y) -> s(plus(x, y)) , plus(0(), y) -> y , times(s(x), y) -> plus(y, times(x, y)) , times(0(), y) -> 0() , log(x, s(0())) -> baseError() , log(x, 0()) -> baseError() , log(s(x), s(s(b))) -> loop(s(x), s(s(b)), s(0()), 0()) , log(0(), s(s(b))) -> logZeroError() , loop(x, s(s(b)), s(y), z) -> if(le(x, s(y)), x, s(s(b)), s(y), z) , if(false(), x, b, y, z) -> loop(x, b, times(b, y), s(z)) , if(true(), x, b, 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() , plus^#(s(x), y) -> c_4(plus^#(x, y)) , plus^#(0(), y) -> c_5() , times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) , times^#(0(), y) -> c_7() , log^#(x, s(0())) -> c_8() , log^#(x, 0()) -> c_9() , log^#(s(x), s(s(b))) -> c_10(loop^#(s(x), s(s(b)), s(0()), 0())) , log^#(0(), s(s(b))) -> c_11() , loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) , if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) , if^#(true(), x, b, y, z) -> c_14() } 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() , plus^#(s(x), y) -> c_4(plus^#(x, y)) , plus^#(0(), y) -> c_5() , times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) , times^#(0(), y) -> c_7() , log^#(x, s(0())) -> c_8() , log^#(x, 0()) -> c_9() , log^#(s(x), s(s(b))) -> c_10(loop^#(s(x), s(s(b)), s(0()), 0())) , log^#(0(), s(s(b))) -> c_11() , loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) , if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) , if^#(true(), x, b, y, z) -> c_14() } Weak Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , plus(s(x), y) -> s(plus(x, y)) , plus(0(), y) -> y , times(s(x), y) -> plus(y, times(x, y)) , times(0(), y) -> 0() , log(x, s(0())) -> baseError() , log(x, 0()) -> baseError() , log(s(x), s(s(b))) -> loop(s(x), s(s(b)), s(0()), 0()) , log(0(), s(s(b))) -> logZeroError() , loop(x, s(s(b)), s(y), z) -> if(le(x, s(y)), x, s(s(b)), s(y), z) , if(false(), x, b, y, z) -> loop(x, b, times(b, y), s(z)) , if(true(), x, b, y, z) -> z } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {2,3,5,7,8,9,11,14} by applications of Pre({2,3,5,7,8,9,11,14}) = {1,4,6,12,13}. 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: plus^#(s(x), y) -> c_4(plus^#(x, y)) , 5: plus^#(0(), y) -> c_5() , 6: times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) , 7: times^#(0(), y) -> c_7() , 8: log^#(x, s(0())) -> c_8() , 9: log^#(x, 0()) -> c_9() , 10: log^#(s(x), s(s(b))) -> c_10(loop^#(s(x), s(s(b)), s(0()), 0())) , 11: log^#(0(), s(s(b))) -> c_11() , 12: loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) , 13: if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) , 14: if^#(true(), x, b, y, z) -> c_14() } 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)) , plus^#(s(x), y) -> c_4(plus^#(x, y)) , times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) , log^#(s(x), s(s(b))) -> c_10(loop^#(s(x), s(s(b)), s(0()), 0())) , loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) , if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) } Weak DPs: { le^#(s(x), 0()) -> c_2() , le^#(0(), y) -> c_3() , plus^#(0(), y) -> c_5() , times^#(0(), y) -> c_7() , log^#(x, s(0())) -> c_8() , log^#(x, 0()) -> c_9() , log^#(0(), s(s(b))) -> c_11() , if^#(true(), x, b, y, z) -> c_14() } Weak Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , plus(s(x), y) -> s(plus(x, y)) , plus(0(), y) -> y , times(s(x), y) -> plus(y, times(x, y)) , times(0(), y) -> 0() , log(x, s(0())) -> baseError() , log(x, 0()) -> baseError() , log(s(x), s(s(b))) -> loop(s(x), s(s(b)), s(0()), 0()) , log(0(), s(s(b))) -> logZeroError() , loop(x, s(s(b)), s(y), z) -> if(le(x, s(y)), x, s(s(b)), s(y), z) , if(false(), x, b, y, z) -> loop(x, b, times(b, y), s(z)) , if(true(), x, b, 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() , plus^#(0(), y) -> c_5() , times^#(0(), y) -> c_7() , log^#(x, s(0())) -> c_8() , log^#(x, 0()) -> c_9() , log^#(0(), s(s(b))) -> c_11() , if^#(true(), x, b, y, z) -> c_14() } 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)) , plus^#(s(x), y) -> c_4(plus^#(x, y)) , times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) , log^#(s(x), s(s(b))) -> c_10(loop^#(s(x), s(s(b)), s(0()), 0())) , loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) , if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) } Weak Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , plus(s(x), y) -> s(plus(x, y)) , plus(0(), y) -> y , times(s(x), y) -> plus(y, times(x, y)) , times(0(), y) -> 0() , log(x, s(0())) -> baseError() , log(x, 0()) -> baseError() , log(s(x), s(s(b))) -> loop(s(x), s(s(b)), s(0()), 0()) , log(0(), s(s(b))) -> logZeroError() , loop(x, s(s(b)), s(y), z) -> if(le(x, s(y)), x, s(s(b)), s(y), z) , if(false(), x, b, y, z) -> loop(x, b, times(b, y), s(z)) , if(true(), x, b, 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: plus^#(s(x), y) -> c_4(plus^#(x, y)) -->_1 plus^#(s(x), y) -> c_4(plus^#(x, y)) :2 3: times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) -->_2 times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) :3 -->_1 plus^#(s(x), y) -> c_4(plus^#(x, y)) :2 4: log^#(s(x), s(s(b))) -> c_10(loop^#(s(x), s(s(b)), s(0()), 0())) -->_1 loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) :5 5: loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) -->_1 if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) :6 -->_2 le^#(s(x), s(y)) -> c_1(le^#(x, y)) :1 6: if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) -->_1 loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) :5 -->_2 times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) :3 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), s(s(b))) -> c_10(loop^#(s(x), s(s(b)), 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)) , plus^#(s(x), y) -> c_4(plus^#(x, y)) , times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) , loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) , if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) } Weak Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , plus(s(x), y) -> s(plus(x, y)) , plus(0(), y) -> y , times(s(x), y) -> plus(y, times(x, y)) , times(0(), y) -> 0() , log(x, s(0())) -> baseError() , log(x, 0()) -> baseError() , log(s(x), s(s(b))) -> loop(s(x), s(s(b)), s(0()), 0()) , log(0(), s(s(b))) -> logZeroError() , loop(x, s(s(b)), s(y), z) -> if(le(x, s(y)), x, s(s(b)), s(y), z) , if(false(), x, b, y, z) -> loop(x, b, times(b, y), s(z)) , if(true(), x, b, 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() , plus(s(x), y) -> s(plus(x, y)) , plus(0(), y) -> y , times(s(x), y) -> plus(y, times(x, y)) , times(0(), y) -> 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)) , plus^#(s(x), y) -> c_4(plus^#(x, y)) , times^#(s(x), y) -> c_6(plus^#(y, times(x, y)), times^#(x, y)) , loop^#(x, s(s(b)), s(y), z) -> c_12(if^#(le(x, s(y)), x, s(s(b)), s(y), z), le^#(x, s(y))) , if^#(false(), x, b, y, z) -> c_13(loop^#(x, b, times(b, y), s(z)), times^#(b, y)) } Weak Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , plus(s(x), y) -> s(plus(x, y)) , plus(0(), y) -> y , times(s(x), y) -> plus(y, times(x, y)) , times(0(), y) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..