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) , mod(x, 0()) -> modZeroErro() , mod(x, s(y)) -> modIter(x, s(y), 0(), 0()) , modIter(x, s(y), z, u) -> if(le(x, z), x, s(y), z, u) , if(true(), x, y, z, u) -> u , if(false(), x, y, z, u) -> if2(le(y, s(u)), x, y, s(z), s(u)) , if2(true(), x, y, z, u) -> modIter(x, y, z, 0()) , if2(false(), x, y, z, u) -> modIter(x, y, z, u) } 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)) , mod^#(x, 0()) -> c_4() , mod^#(x, s(y)) -> c_5(modIter^#(x, s(y), 0(), 0())) , modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) , if^#(true(), x, y, z, u) -> c_7() , if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) , if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) , if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) } 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)) , mod^#(x, 0()) -> c_4() , mod^#(x, s(y)) -> c_5(modIter^#(x, s(y), 0(), 0())) , modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) , if^#(true(), x, y, z, u) -> c_7() , if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) , if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) , if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , mod(x, 0()) -> modZeroErro() , mod(x, s(y)) -> modIter(x, s(y), 0(), 0()) , modIter(x, s(y), z, u) -> if(le(x, z), x, s(y), z, u) , if(true(), x, y, z, u) -> u , if(false(), x, y, z, u) -> if2(le(y, s(u)), x, y, s(z), s(u)) , if2(true(), x, y, z, u) -> modIter(x, y, z, 0()) , if2(false(), x, y, z, u) -> modIter(x, y, z, u) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,4,7} by applications of Pre({1,2,4,7}) = {3,6,8}. 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: mod^#(x, 0()) -> c_4() , 5: mod^#(x, s(y)) -> c_5(modIter^#(x, s(y), 0(), 0())) , 6: modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) , 7: if^#(true(), x, y, z, u) -> c_7() , 8: if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) , 9: if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) , 10: if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) } 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)) , mod^#(x, s(y)) -> c_5(modIter^#(x, s(y), 0(), 0())) , modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) , if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) , if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) , if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) } Weak DPs: { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , mod^#(x, 0()) -> c_4() , if^#(true(), x, y, z, u) -> c_7() } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , mod(x, 0()) -> modZeroErro() , mod(x, s(y)) -> modIter(x, s(y), 0(), 0()) , modIter(x, s(y), z, u) -> if(le(x, z), x, s(y), z, u) , if(true(), x, y, z, u) -> u , if(false(), x, y, z, u) -> if2(le(y, s(u)), x, y, s(z), s(u)) , if2(true(), x, y, z, u) -> modIter(x, y, z, 0()) , if2(false(), x, y, z, u) -> modIter(x, y, z, u) } 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() , mod^#(x, 0()) -> c_4() , if^#(true(), x, y, z, u) -> c_7() } 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)) , mod^#(x, s(y)) -> c_5(modIter^#(x, s(y), 0(), 0())) , modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) , if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) , if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) , if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , mod(x, 0()) -> modZeroErro() , mod(x, s(y)) -> modIter(x, s(y), 0(), 0()) , modIter(x, s(y), z, u) -> if(le(x, z), x, s(y), z, u) , if(true(), x, y, z, u) -> u , if(false(), x, y, z, u) -> if2(le(y, s(u)), x, y, s(z), s(u)) , if2(true(), x, y, z, u) -> modIter(x, y, z, 0()) , if2(false(), x, y, z, u) -> modIter(x, y, z, u) } Obligation: innermost runtime complexity Answer: MAYBE Consider the dependency graph 1: le^#(s(x), s(y)) -> c_3(le^#(x, y)) -->_1 le^#(s(x), s(y)) -> c_3(le^#(x, y)) :1 2: mod^#(x, s(y)) -> c_5(modIter^#(x, s(y), 0(), 0())) -->_1 modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) :3 3: modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) -->_1 if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) :4 -->_2 le^#(s(x), s(y)) -> c_3(le^#(x, y)) :1 4: if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) -->_1 if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) :6 -->_1 if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) :5 -->_2 le^#(s(x), s(y)) -> c_3(le^#(x, y)) :1 5: if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) -->_1 modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) :3 6: if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) -->_1 modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) :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). { mod^#(x, s(y)) -> c_5(modIter^#(x, s(y), 0(), 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)) , modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) , if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) , if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) , if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , mod(x, 0()) -> modZeroErro() , mod(x, s(y)) -> modIter(x, s(y), 0(), 0()) , modIter(x, s(y), z, u) -> if(le(x, z), x, s(y), z, u) , if(true(), x, y, z, u) -> u , if(false(), x, y, z, u) -> if2(le(y, s(u)), x, y, s(z), s(u)) , if2(true(), x, y, z, u) -> modIter(x, y, z, 0()) , if2(false(), x, y, z, u) -> modIter(x, y, z, u) } 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) } 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)) , modIter^#(x, s(y), z, u) -> c_6(if^#(le(x, z), x, s(y), z, u), le^#(x, z)) , if^#(false(), x, y, z, u) -> c_8(if2^#(le(y, s(u)), x, y, s(z), s(u)), le^#(y, s(u))) , if2^#(true(), x, y, z, u) -> c_9(modIter^#(x, y, z, 0())) , if2^#(false(), x, y, z, u) -> c_10(modIter^#(x, y, z, u)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..