MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) , log(x) -> log2(x, 0()) , log2(x, y) -> if(le(x, 0()), le(x, s(0())), x, inc(y)) , if(true(), b, x, y) -> log_undefined() , if(false(), b, x, y) -> if2(b, x, y) , if2(true(), x, s(y)) -> y , if2(false(), x, y) -> log2(quot(x, s(s(0()))), y) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , le^#(s(x), s(y)) -> c_3(le^#(x, y)) , inc^#(0()) -> c_4() , inc^#(s(x)) -> c_5(inc^#(x)) , minus^#(x, 0()) -> c_6() , minus^#(0(), y) -> c_7() , minus^#(s(x), s(y)) -> c_8(minus^#(x, y)) , quot^#(0(), s(y)) -> c_9() , quot^#(s(x), s(y)) -> c_10(quot^#(minus(x, y), s(y)), minus^#(x, y)) , log^#(x) -> c_11(log2^#(x, 0())) , log2^#(x, y) -> c_12(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, 0()), le^#(x, s(0())), inc^#(y)) , if^#(true(), b, x, y) -> c_13() , if^#(false(), b, x, y) -> c_14(if2^#(b, x, y)) , if2^#(true(), x, s(y)) -> c_15() , if2^#(false(), x, y) -> c_16(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , le^#(s(x), s(y)) -> c_3(le^#(x, y)) , inc^#(0()) -> c_4() , inc^#(s(x)) -> c_5(inc^#(x)) , minus^#(x, 0()) -> c_6() , minus^#(0(), y) -> c_7() , minus^#(s(x), s(y)) -> c_8(minus^#(x, y)) , quot^#(0(), s(y)) -> c_9() , quot^#(s(x), s(y)) -> c_10(quot^#(minus(x, y), s(y)), minus^#(x, y)) , log^#(x) -> c_11(log2^#(x, 0())) , log2^#(x, y) -> c_12(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, 0()), le^#(x, s(0())), inc^#(y)) , if^#(true(), b, x, y) -> c_13() , if^#(false(), b, x, y) -> c_14(if2^#(b, x, y)) , if2^#(true(), x, s(y)) -> c_15() , if2^#(false(), x, y) -> c_16(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) , log(x) -> log2(x, 0()) , log2(x, y) -> if(le(x, 0()), le(x, s(0())), x, inc(y)) , if(true(), b, x, y) -> log_undefined() , if(false(), b, x, y) -> if2(b, x, y) , if2(true(), x, s(y)) -> y , if2(false(), x, y) -> log2(quot(x, s(s(0()))), y) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,4,6,7,9,13,15} by applications of Pre({1,2,4,6,7,9,13,15}) = {3,5,8,10,12,14,16}. Here rules are labeled as follows: DPs: { 1: le^#(0(), y) -> c_1() , 2: le^#(s(x), 0()) -> c_2() , 3: le^#(s(x), s(y)) -> c_3(le^#(x, y)) , 4: inc^#(0()) -> c_4() , 5: inc^#(s(x)) -> c_5(inc^#(x)) , 6: minus^#(x, 0()) -> c_6() , 7: minus^#(0(), y) -> c_7() , 8: minus^#(s(x), s(y)) -> c_8(minus^#(x, y)) , 9: quot^#(0(), s(y)) -> c_9() , 10: quot^#(s(x), s(y)) -> c_10(quot^#(minus(x, y), s(y)), minus^#(x, y)) , 11: log^#(x) -> c_11(log2^#(x, 0())) , 12: log2^#(x, y) -> c_12(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, 0()), le^#(x, s(0())), inc^#(y)) , 13: if^#(true(), b, x, y) -> c_13() , 14: if^#(false(), b, x, y) -> c_14(if2^#(b, x, y)) , 15: if2^#(true(), x, s(y)) -> c_15() , 16: if2^#(false(), x, y) -> c_16(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { le^#(s(x), s(y)) -> c_3(le^#(x, y)) , inc^#(s(x)) -> c_5(inc^#(x)) , minus^#(s(x), s(y)) -> c_8(minus^#(x, y)) , quot^#(s(x), s(y)) -> c_10(quot^#(minus(x, y), s(y)), minus^#(x, y)) , log^#(x) -> c_11(log2^#(x, 0())) , log2^#(x, y) -> c_12(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, 0()), le^#(x, s(0())), inc^#(y)) , if^#(false(), b, x, y) -> c_14(if2^#(b, x, y)) , if2^#(false(), x, y) -> c_16(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } Weak DPs: { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , inc^#(0()) -> c_4() , minus^#(x, 0()) -> c_6() , minus^#(0(), y) -> c_7() , quot^#(0(), s(y)) -> c_9() , if^#(true(), b, x, y) -> c_13() , if2^#(true(), x, s(y)) -> c_15() } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) , log(x) -> log2(x, 0()) , log2(x, y) -> if(le(x, 0()), le(x, s(0())), x, inc(y)) , if(true(), b, x, y) -> log_undefined() , if(false(), b, x, y) -> if2(b, x, y) , if2(true(), x, s(y)) -> y , if2(false(), x, y) -> log2(quot(x, s(s(0()))), 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. { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , inc^#(0()) -> c_4() , minus^#(x, 0()) -> c_6() , minus^#(0(), y) -> c_7() , quot^#(0(), s(y)) -> c_9() , if^#(true(), b, x, y) -> c_13() , if2^#(true(), x, s(y)) -> c_15() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { le^#(s(x), s(y)) -> c_3(le^#(x, y)) , inc^#(s(x)) -> c_5(inc^#(x)) , minus^#(s(x), s(y)) -> c_8(minus^#(x, y)) , quot^#(s(x), s(y)) -> c_10(quot^#(minus(x, y), s(y)), minus^#(x, y)) , log^#(x) -> c_11(log2^#(x, 0())) , log2^#(x, y) -> c_12(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, 0()), le^#(x, s(0())), inc^#(y)) , if^#(false(), b, x, y) -> c_14(if2^#(b, x, y)) , if2^#(false(), x, y) -> c_16(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) , log(x) -> log2(x, 0()) , log2(x, y) -> if(le(x, 0()), le(x, s(0())), x, inc(y)) , if(true(), b, x, y) -> log_undefined() , if(false(), b, x, y) -> if2(b, x, y) , if2(true(), x, s(y)) -> y , if2(false(), x, y) -> log2(quot(x, s(s(0()))), y) } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { log2^#(x, y) -> c_12(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, 0()), le^#(x, s(0())), inc^#(y)) } 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)) , inc^#(s(x)) -> c_2(inc^#(x)) , minus^#(s(x), s(y)) -> c_3(minus^#(x, y)) , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y)), minus^#(x, y)) , log^#(x) -> c_5(log2^#(x, 0())) , log2^#(x, y) -> c_6(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, s(0())), inc^#(y)) , if^#(false(), b, x, y) -> c_7(if2^#(b, x, y)) , if2^#(false(), x, y) -> c_8(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) , log(x) -> log2(x, 0()) , log2(x, y) -> if(le(x, 0()), le(x, s(0())), x, inc(y)) , if(true(), b, x, y) -> log_undefined() , if(false(), b, x, y) -> if2(b, x, y) , if2(true(), x, s(y)) -> y , if2(false(), x, y) -> log2(quot(x, s(s(0()))), 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) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) } 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)) , inc^#(s(x)) -> c_2(inc^#(x)) , minus^#(s(x), s(y)) -> c_3(minus^#(x, y)) , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y)), minus^#(x, y)) , log^#(x) -> c_5(log2^#(x, 0())) , log2^#(x, y) -> c_6(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, s(0())), inc^#(y)) , if^#(false(), b, x, y) -> c_7(if2^#(b, x, y)) , if2^#(false(), x, y) -> c_8(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) } 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: inc^#(s(x)) -> c_2(inc^#(x)) -->_1 inc^#(s(x)) -> c_2(inc^#(x)) :2 3: minus^#(s(x), s(y)) -> c_3(minus^#(x, y)) -->_1 minus^#(s(x), s(y)) -> c_3(minus^#(x, y)) :3 4: quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y)), minus^#(x, y)) -->_1 quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y)), minus^#(x, y)) :4 -->_2 minus^#(s(x), s(y)) -> c_3(minus^#(x, y)) :3 5: log^#(x) -> c_5(log2^#(x, 0())) -->_1 log2^#(x, y) -> c_6(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, s(0())), inc^#(y)) :6 6: log2^#(x, y) -> c_6(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, s(0())), inc^#(y)) -->_1 if^#(false(), b, x, y) -> c_7(if2^#(b, x, y)) :7 -->_3 inc^#(s(x)) -> c_2(inc^#(x)) :2 -->_2 le^#(s(x), s(y)) -> c_1(le^#(x, y)) :1 7: if^#(false(), b, x, y) -> c_7(if2^#(b, x, y)) -->_1 if2^#(false(), x, y) -> c_8(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) :8 8: if2^#(false(), x, y) -> c_8(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) -->_1 log2^#(x, y) -> c_6(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, s(0())), inc^#(y)) :6 -->_2 quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y)), minus^#(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). { log^#(x) -> c_5(log2^#(x, 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)) , inc^#(s(x)) -> c_2(inc^#(x)) , minus^#(s(x), s(y)) -> c_3(minus^#(x, y)) , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y)), minus^#(x, y)) , log2^#(x, y) -> c_6(if^#(le(x, 0()), le(x, s(0())), x, inc(y)), le^#(x, s(0())), inc^#(y)) , if^#(false(), b, x, y) -> c_7(if2^#(b, x, y)) , if2^#(false(), x, y) -> c_8(log2^#(quot(x, s(s(0()))), y), quot^#(x, s(s(0())))) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , inc(0()) -> 0() , inc(s(x)) -> s(inc(x)) , minus(x, 0()) -> x , minus(0(), y) -> 0() , minus(s(x), s(y)) -> minus(x, y) , quot(0(), s(y)) -> 0() , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..