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) , minus(x, x) -> 0() , minus(x, 0()) -> x , minus(0(), x) -> 0() , minus(s(x), s(y)) -> minus(x, y) , isZero(0()) -> true() , isZero(s(x)) -> false() , mod(x, y) -> if_mod(isZero(y), le(y, x), x, y, minus(x, y)) , if_mod(true(), b, x, y, z) -> divByZeroError() , if_mod(false(), true(), x, y, z) -> mod(z, y) , if_mod(false(), false(), x, y, z) -> x } 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)) , minus^#(x, x) -> c_4() , minus^#(x, 0()) -> c_5() , minus^#(0(), x) -> c_6() , minus^#(s(x), s(y)) -> c_7(minus^#(x, y)) , isZero^#(0()) -> c_8() , isZero^#(s(x)) -> c_9() , mod^#(x, y) -> c_10(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), isZero^#(y), le^#(y, x), minus^#(x, y)) , if_mod^#(true(), b, x, y, z) -> c_11() , if_mod^#(false(), true(), x, y, z) -> c_12(mod^#(z, y)) , if_mod^#(false(), false(), x, y, z) -> c_13() } 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)) , minus^#(x, x) -> c_4() , minus^#(x, 0()) -> c_5() , minus^#(0(), x) -> c_6() , minus^#(s(x), s(y)) -> c_7(minus^#(x, y)) , isZero^#(0()) -> c_8() , isZero^#(s(x)) -> c_9() , mod^#(x, y) -> c_10(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), isZero^#(y), le^#(y, x), minus^#(x, y)) , if_mod^#(true(), b, x, y, z) -> c_11() , if_mod^#(false(), true(), x, y, z) -> c_12(mod^#(z, y)) , if_mod^#(false(), false(), x, y, z) -> c_13() } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , minus(x, x) -> 0() , minus(x, 0()) -> x , minus(0(), x) -> 0() , minus(s(x), s(y)) -> minus(x, y) , isZero(0()) -> true() , isZero(s(x)) -> false() , mod(x, y) -> if_mod(isZero(y), le(y, x), x, y, minus(x, y)) , if_mod(true(), b, x, y, z) -> divByZeroError() , if_mod(false(), true(), x, y, z) -> mod(z, y) , if_mod(false(), false(), x, y, z) -> x } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,4,5,6,8,9,11,13} by applications of Pre({1,2,4,5,6,8,9,11,13}) = {3,7,10}. 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: minus^#(x, x) -> c_4() , 5: minus^#(x, 0()) -> c_5() , 6: minus^#(0(), x) -> c_6() , 7: minus^#(s(x), s(y)) -> c_7(minus^#(x, y)) , 8: isZero^#(0()) -> c_8() , 9: isZero^#(s(x)) -> c_9() , 10: mod^#(x, y) -> c_10(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), isZero^#(y), le^#(y, x), minus^#(x, y)) , 11: if_mod^#(true(), b, x, y, z) -> c_11() , 12: if_mod^#(false(), true(), x, y, z) -> c_12(mod^#(z, y)) , 13: if_mod^#(false(), false(), x, y, z) -> c_13() } 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)) , minus^#(s(x), s(y)) -> c_7(minus^#(x, y)) , mod^#(x, y) -> c_10(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), isZero^#(y), le^#(y, x), minus^#(x, y)) , if_mod^#(false(), true(), x, y, z) -> c_12(mod^#(z, y)) } Weak DPs: { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , minus^#(x, x) -> c_4() , minus^#(x, 0()) -> c_5() , minus^#(0(), x) -> c_6() , isZero^#(0()) -> c_8() , isZero^#(s(x)) -> c_9() , if_mod^#(true(), b, x, y, z) -> c_11() , if_mod^#(false(), false(), x, y, z) -> c_13() } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , minus(x, x) -> 0() , minus(x, 0()) -> x , minus(0(), x) -> 0() , minus(s(x), s(y)) -> minus(x, y) , isZero(0()) -> true() , isZero(s(x)) -> false() , mod(x, y) -> if_mod(isZero(y), le(y, x), x, y, minus(x, y)) , if_mod(true(), b, x, y, z) -> divByZeroError() , if_mod(false(), true(), x, y, z) -> mod(z, y) , if_mod(false(), false(), x, y, z) -> 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. { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , minus^#(x, x) -> c_4() , minus^#(x, 0()) -> c_5() , minus^#(0(), x) -> c_6() , isZero^#(0()) -> c_8() , isZero^#(s(x)) -> c_9() , if_mod^#(true(), b, x, y, z) -> c_11() , if_mod^#(false(), false(), x, y, z) -> c_13() } 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)) , minus^#(s(x), s(y)) -> c_7(minus^#(x, y)) , mod^#(x, y) -> c_10(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), isZero^#(y), le^#(y, x), minus^#(x, y)) , if_mod^#(false(), true(), x, y, z) -> c_12(mod^#(z, y)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , minus(x, x) -> 0() , minus(x, 0()) -> x , minus(0(), x) -> 0() , minus(s(x), s(y)) -> minus(x, y) , isZero(0()) -> true() , isZero(s(x)) -> false() , mod(x, y) -> if_mod(isZero(y), le(y, x), x, y, minus(x, y)) , if_mod(true(), b, x, y, z) -> divByZeroError() , if_mod(false(), true(), x, y, z) -> mod(z, y) , if_mod(false(), false(), x, y, z) -> 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: { mod^#(x, y) -> c_10(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), isZero^#(y), le^#(y, x), minus^#(x, y)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { le^#(s(x), s(y)) -> c_1(le^#(x, y)) , minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) , mod^#(x, y) -> c_3(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), le^#(y, x), minus^#(x, y)) , if_mod^#(false(), true(), x, y, z) -> c_4(mod^#(z, y)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , minus(x, x) -> 0() , minus(x, 0()) -> x , minus(0(), x) -> 0() , minus(s(x), s(y)) -> minus(x, y) , isZero(0()) -> true() , isZero(s(x)) -> false() , mod(x, y) -> if_mod(isZero(y), le(y, x), x, y, minus(x, y)) , if_mod(true(), b, x, y, z) -> divByZeroError() , if_mod(false(), true(), x, y, z) -> mod(z, y) , if_mod(false(), false(), x, y, z) -> x } 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) , minus(x, x) -> 0() , minus(x, 0()) -> x , minus(0(), x) -> 0() , minus(s(x), s(y)) -> minus(x, y) , isZero(0()) -> true() , isZero(s(x)) -> false() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { le^#(s(x), s(y)) -> c_1(le^#(x, y)) , minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) , mod^#(x, y) -> c_3(if_mod^#(isZero(y), le(y, x), x, y, minus(x, y)), le^#(y, x), minus^#(x, y)) , if_mod^#(false(), true(), x, y, z) -> c_4(mod^#(z, y)) } Weak Trs: { le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , minus(x, x) -> 0() , minus(x, 0()) -> x , minus(0(), x) -> 0() , minus(s(x), s(y)) -> minus(x, y) , isZero(0()) -> true() , isZero(s(x)) -> false() } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..