MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { p(s(x)) -> x , fact(s(x)) -> *(s(x), fact(p(s(x)))) , fact(0()) -> s(0()) , *(s(x), y) -> +(*(x, y), y) , *(0(), y) -> 0() , +(x, s(y)) -> s(+(x, y)) , +(x, 0()) -> x } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { p^#(s(x)) -> c_1() , fact^#(s(x)) -> c_2(*^#(s(x), fact(p(s(x)))), fact^#(p(s(x))), p^#(s(x))) , fact^#(0()) -> c_3() , *^#(s(x), y) -> c_4(+^#(*(x, y), y), *^#(x, y)) , *^#(0(), y) -> c_5() , +^#(x, s(y)) -> c_6(+^#(x, y)) , +^#(x, 0()) -> c_7() } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { p^#(s(x)) -> c_1() , fact^#(s(x)) -> c_2(*^#(s(x), fact(p(s(x)))), fact^#(p(s(x))), p^#(s(x))) , fact^#(0()) -> c_3() , *^#(s(x), y) -> c_4(+^#(*(x, y), y), *^#(x, y)) , *^#(0(), y) -> c_5() , +^#(x, s(y)) -> c_6(+^#(x, y)) , +^#(x, 0()) -> c_7() } Weak Trs: { p(s(x)) -> x , fact(s(x)) -> *(s(x), fact(p(s(x)))) , fact(0()) -> s(0()) , *(s(x), y) -> +(*(x, y), y) , *(0(), y) -> 0() , +(x, s(y)) -> s(+(x, y)) , +(x, 0()) -> x } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,3,5,7} by applications of Pre({1,3,5,7}) = {2,4,6}. Here rules are labeled as follows: DPs: { 1: p^#(s(x)) -> c_1() , 2: fact^#(s(x)) -> c_2(*^#(s(x), fact(p(s(x)))), fact^#(p(s(x))), p^#(s(x))) , 3: fact^#(0()) -> c_3() , 4: *^#(s(x), y) -> c_4(+^#(*(x, y), y), *^#(x, y)) , 5: *^#(0(), y) -> c_5() , 6: +^#(x, s(y)) -> c_6(+^#(x, y)) , 7: +^#(x, 0()) -> c_7() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { fact^#(s(x)) -> c_2(*^#(s(x), fact(p(s(x)))), fact^#(p(s(x))), p^#(s(x))) , *^#(s(x), y) -> c_4(+^#(*(x, y), y), *^#(x, y)) , +^#(x, s(y)) -> c_6(+^#(x, y)) } Weak DPs: { p^#(s(x)) -> c_1() , fact^#(0()) -> c_3() , *^#(0(), y) -> c_5() , +^#(x, 0()) -> c_7() } Weak Trs: { p(s(x)) -> x , fact(s(x)) -> *(s(x), fact(p(s(x)))) , fact(0()) -> s(0()) , *(s(x), y) -> +(*(x, y), y) , *(0(), y) -> 0() , +(x, s(y)) -> s(+(x, y)) , +(x, 0()) -> 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. { p^#(s(x)) -> c_1() , fact^#(0()) -> c_3() , *^#(0(), y) -> c_5() , +^#(x, 0()) -> c_7() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { fact^#(s(x)) -> c_2(*^#(s(x), fact(p(s(x)))), fact^#(p(s(x))), p^#(s(x))) , *^#(s(x), y) -> c_4(+^#(*(x, y), y), *^#(x, y)) , +^#(x, s(y)) -> c_6(+^#(x, y)) } Weak Trs: { p(s(x)) -> x , fact(s(x)) -> *(s(x), fact(p(s(x)))) , fact(0()) -> s(0()) , *(s(x), y) -> +(*(x, y), y) , *(0(), y) -> 0() , +(x, s(y)) -> s(+(x, y)) , +(x, 0()) -> 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: { fact^#(s(x)) -> c_2(*^#(s(x), fact(p(s(x)))), fact^#(p(s(x))), p^#(s(x))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { fact^#(s(x)) -> c_1(*^#(s(x), fact(p(s(x)))), fact^#(p(s(x)))) , *^#(s(x), y) -> c_2(+^#(*(x, y), y), *^#(x, y)) , +^#(x, s(y)) -> c_3(+^#(x, y)) } Weak Trs: { p(s(x)) -> x , fact(s(x)) -> *(s(x), fact(p(s(x)))) , fact(0()) -> s(0()) , *(s(x), y) -> +(*(x, y), y) , *(0(), y) -> 0() , +(x, s(y)) -> s(+(x, y)) , +(x, 0()) -> x } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..