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