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