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