MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , times(x, y) -> timesIter(x, y, 0()) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { check^#(0()) -> c_1() , check^#(s(0())) -> c_2() , check^#(s(s(0()))) -> c_3() , check^#(s(s(s(x)))) -> c_4(check^#(s(x))) , half^#(0()) -> c_5() , half^#(s(0())) -> c_6() , half^#(s(s(x))) -> c_7(half^#(x)) , plus^#(0(), y) -> c_8() , plus^#(s(x), y) -> c_9(plus^#(x, y)) , times^#(x, y) -> c_10(timesIter^#(x, y, 0())) , timesIter^#(x, y, z) -> c_11(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , if^#(zero(), x, y, z, u) -> c_12() , if^#(odd(), x, y, z, u) -> c_13(timesIter^#(p(x), y, u), p^#(x)) , if^#(even(), x, y, z, u) -> c_14(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) , p^#(0()) -> c_15() , p^#(s(x)) -> c_16() } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { check^#(0()) -> c_1() , check^#(s(0())) -> c_2() , check^#(s(s(0()))) -> c_3() , check^#(s(s(s(x)))) -> c_4(check^#(s(x))) , half^#(0()) -> c_5() , half^#(s(0())) -> c_6() , half^#(s(s(x))) -> c_7(half^#(x)) , plus^#(0(), y) -> c_8() , plus^#(s(x), y) -> c_9(plus^#(x, y)) , times^#(x, y) -> c_10(timesIter^#(x, y, 0())) , timesIter^#(x, y, z) -> c_11(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , if^#(zero(), x, y, z, u) -> c_12() , if^#(odd(), x, y, z, u) -> c_13(timesIter^#(p(x), y, u), p^#(x)) , if^#(even(), x, y, z, u) -> c_14(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) , p^#(0()) -> c_15() , p^#(s(x)) -> c_16() } Weak Trs: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , times(x, y) -> timesIter(x, y, 0()) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,3,5,6,8,12,15,16} by applications of Pre({1,2,3,5,6,8,12,15,16}) = {4,7,9,11,13,14}. Here rules are labeled as follows: DPs: { 1: check^#(0()) -> c_1() , 2: check^#(s(0())) -> c_2() , 3: check^#(s(s(0()))) -> c_3() , 4: check^#(s(s(s(x)))) -> c_4(check^#(s(x))) , 5: half^#(0()) -> c_5() , 6: half^#(s(0())) -> c_6() , 7: half^#(s(s(x))) -> c_7(half^#(x)) , 8: plus^#(0(), y) -> c_8() , 9: plus^#(s(x), y) -> c_9(plus^#(x, y)) , 10: times^#(x, y) -> c_10(timesIter^#(x, y, 0())) , 11: timesIter^#(x, y, z) -> c_11(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , 12: if^#(zero(), x, y, z, u) -> c_12() , 13: if^#(odd(), x, y, z, u) -> c_13(timesIter^#(p(x), y, u), p^#(x)) , 14: if^#(even(), x, y, z, u) -> c_14(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) , 15: p^#(0()) -> c_15() , 16: p^#(s(x)) -> c_16() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { check^#(s(s(s(x)))) -> c_4(check^#(s(x))) , half^#(s(s(x))) -> c_7(half^#(x)) , plus^#(s(x), y) -> c_9(plus^#(x, y)) , times^#(x, y) -> c_10(timesIter^#(x, y, 0())) , timesIter^#(x, y, z) -> c_11(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , if^#(odd(), x, y, z, u) -> c_13(timesIter^#(p(x), y, u), p^#(x)) , if^#(even(), x, y, z, u) -> c_14(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) } Weak DPs: { check^#(0()) -> c_1() , check^#(s(0())) -> c_2() , check^#(s(s(0()))) -> c_3() , half^#(0()) -> c_5() , half^#(s(0())) -> c_6() , plus^#(0(), y) -> c_8() , if^#(zero(), x, y, z, u) -> c_12() , p^#(0()) -> c_15() , p^#(s(x)) -> c_16() } Weak Trs: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , times(x, y) -> timesIter(x, y, 0()) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } 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. { check^#(0()) -> c_1() , check^#(s(0())) -> c_2() , check^#(s(s(0()))) -> c_3() , half^#(0()) -> c_5() , half^#(s(0())) -> c_6() , plus^#(0(), y) -> c_8() , if^#(zero(), x, y, z, u) -> c_12() , p^#(0()) -> c_15() , p^#(s(x)) -> c_16() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { check^#(s(s(s(x)))) -> c_4(check^#(s(x))) , half^#(s(s(x))) -> c_7(half^#(x)) , plus^#(s(x), y) -> c_9(plus^#(x, y)) , times^#(x, y) -> c_10(timesIter^#(x, y, 0())) , timesIter^#(x, y, z) -> c_11(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , if^#(odd(), x, y, z, u) -> c_13(timesIter^#(p(x), y, u), p^#(x)) , if^#(even(), x, y, z, u) -> c_14(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) } Weak Trs: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , times(x, y) -> timesIter(x, y, 0()) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { if^#(odd(), x, y, z, u) -> c_13(timesIter^#(p(x), y, u), p^#(x)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { check^#(s(s(s(x)))) -> c_1(check^#(s(x))) , half^#(s(s(x))) -> c_2(half^#(x)) , plus^#(s(x), y) -> c_3(plus^#(x, y)) , times^#(x, y) -> c_4(timesIter^#(x, y, 0())) , timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , if^#(odd(), x, y, z, u) -> c_6(timesIter^#(p(x), y, u)) , if^#(even(), x, y, z, u) -> c_7(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) } Weak Trs: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , times(x, y) -> timesIter(x, y, 0()) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { check^#(s(s(s(x)))) -> c_1(check^#(s(x))) , half^#(s(s(x))) -> c_2(half^#(x)) , plus^#(s(x), y) -> c_3(plus^#(x, y)) , times^#(x, y) -> c_4(timesIter^#(x, y, 0())) , timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , if^#(odd(), x, y, z, u) -> c_6(timesIter^#(p(x), y, u)) , if^#(even(), x, y, z, u) -> c_7(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) } Weak Trs: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } Obligation: innermost runtime complexity Answer: MAYBE Consider the dependency graph 1: check^#(s(s(s(x)))) -> c_1(check^#(s(x))) -->_1 check^#(s(s(s(x)))) -> c_1(check^#(s(x))) :1 2: half^#(s(s(x))) -> c_2(half^#(x)) -->_1 half^#(s(s(x))) -> c_2(half^#(x)) :2 3: plus^#(s(x), y) -> c_3(plus^#(x, y)) -->_1 plus^#(s(x), y) -> c_3(plus^#(x, y)) :3 4: times^#(x, y) -> c_4(timesIter^#(x, y, 0())) -->_1 timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) :5 5: timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) -->_1 if^#(even(), x, y, z, u) -> c_7(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) :7 -->_1 if^#(odd(), x, y, z, u) -> c_6(timesIter^#(p(x), y, u)) :6 -->_3 plus^#(s(x), y) -> c_3(plus^#(x, y)) :3 -->_2 check^#(s(s(s(x)))) -> c_1(check^#(s(x))) :1 6: if^#(odd(), x, y, z, u) -> c_6(timesIter^#(p(x), y, u)) -->_1 timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) :5 7: if^#(even(), x, y, z, u) -> c_7(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) -->_5 timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) :5 -->_2 timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) :5 -->_1 plus^#(s(x), y) -> c_3(plus^#(x, y)) :3 -->_7 half^#(s(s(x))) -> c_2(half^#(x)) :2 -->_6 half^#(s(s(x))) -> c_2(half^#(x)) :2 -->_4 half^#(s(s(x))) -> c_2(half^#(x)) :2 -->_3 half^#(s(s(x))) -> c_2(half^#(x)) :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). { times^#(x, y) -> c_4(timesIter^#(x, y, 0())) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { check^#(s(s(s(x)))) -> c_1(check^#(s(x))) , half^#(s(s(x))) -> c_2(half^#(x)) , plus^#(s(x), y) -> c_3(plus^#(x, y)) , timesIter^#(x, y, z) -> c_5(if^#(check(x), x, y, z, plus(z, y)), check^#(x), plus^#(z, y)) , if^#(odd(), x, y, z, u) -> c_6(timesIter^#(p(x), y, u)) , if^#(even(), x, y, z, u) -> c_7(plus^#(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))), timesIter^#(half(x), y, half(z)), half^#(x), half^#(z), timesIter^#(half(x), y, half(s(z))), half^#(x), half^#(s(z))) } Weak Trs: { check(0()) -> zero() , check(s(0())) -> odd() , check(s(s(0()))) -> even() , check(s(s(s(x)))) -> check(s(x)) , half(0()) -> 0() , half(s(0())) -> 0() , half(s(s(x))) -> s(half(x)) , plus(0(), y) -> y , plus(s(x), y) -> s(plus(x, y)) , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y)) , if(zero(), x, y, z, u) -> z , if(odd(), x, y, z, u) -> timesIter(p(x), y, u) , if(even(), x, y, z, u) -> plus(timesIter(half(x), y, half(z)), timesIter(half(x), y, half(s(z)))) , p(0()) -> 0() , p(s(x)) -> x } Obligation: innermost runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'matrices' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'matrix interpretation of dimension 4' failed due to the following reason: Following exception was raised: stack overflow 2) 'matrix interpretation of dimension 3' failed due to the following reason: The input cannot be shown compatible 3) 'matrix interpretation of dimension 3' failed due to the following reason: The input cannot be shown compatible 4) 'matrix interpretation of dimension 2' failed due to the following reason: The input cannot be shown compatible 5) 'matrix interpretation of dimension 2' failed due to the following reason: The input cannot be shown compatible 6) 'matrix interpretation of dimension 1' failed due to the following reason: The input cannot be shown compatible 2) 'empty' failed due to the following reason: Empty strict component of the problem is NOT empty. Arrrr..