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