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