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