MAYBE

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict Trs:
  { rev1(X, cons(Y, L)) -> rev1(Y, L)
  , rev1(0(), nil()) -> 0()
  , rev1(s(X), nil()) -> s(X)
  , rev(nil()) -> nil()
  , rev(cons(X, L)) -> cons(rev1(X, L), rev2(X, L))
  , rev2(X, nil()) -> nil()
  , rev2(X, cons(Y, L)) -> rev(cons(X, rev(rev2(Y, L)))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We add following dependency tuples:

Strict DPs:
  { rev1^#(X, cons(Y, L)) -> c_1(rev1^#(Y, L))
  , rev1^#(0(), nil()) -> c_2()
  , rev1^#(s(X), nil()) -> c_3()
  , rev^#(nil()) -> c_4()
  , rev^#(cons(X, L)) -> c_5(rev1^#(X, L), rev2^#(X, L))
  , rev2^#(X, nil()) -> c_6()
  , rev2^#(X, cons(Y, L)) ->
    c_7(rev^#(cons(X, rev(rev2(Y, L)))),
        rev^#(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:
  { rev1^#(X, cons(Y, L)) -> c_1(rev1^#(Y, L))
  , rev1^#(0(), nil()) -> c_2()
  , rev1^#(s(X), nil()) -> c_3()
  , rev^#(nil()) -> c_4()
  , rev^#(cons(X, L)) -> c_5(rev1^#(X, L), rev2^#(X, L))
  , rev2^#(X, nil()) -> c_6()
  , rev2^#(X, cons(Y, L)) ->
    c_7(rev^#(cons(X, rev(rev2(Y, L)))),
        rev^#(rev2(Y, L)),
        rev2^#(Y, L)) }
Weak Trs:
  { rev1(X, cons(Y, L)) -> rev1(Y, L)
  , rev1(0(), nil()) -> 0()
  , rev1(s(X), nil()) -> s(X)
  , rev(nil()) -> nil()
  , rev(cons(X, L)) -> cons(rev1(X, L), rev2(X, L))
  , rev2(X, nil()) -> nil()
  , rev2(X, cons(Y, L)) -> rev(cons(X, rev(rev2(Y, L)))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We estimate the number of application of {2,3,4,6} by applications
of Pre({2,3,4,6}) = {1,5,7}. Here rules are labeled as follows:

  DPs:
    { 1: rev1^#(X, cons(Y, L)) -> c_1(rev1^#(Y, L))
    , 2: rev1^#(0(), nil()) -> c_2()
    , 3: rev1^#(s(X), nil()) -> c_3()
    , 4: rev^#(nil()) -> c_4()
    , 5: rev^#(cons(X, L)) -> c_5(rev1^#(X, L), rev2^#(X, L))
    , 6: rev2^#(X, nil()) -> c_6()
    , 7: rev2^#(X, cons(Y, L)) ->
         c_7(rev^#(cons(X, rev(rev2(Y, L)))),
             rev^#(rev2(Y, L)),
             rev2^#(Y, L)) }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { rev1^#(X, cons(Y, L)) -> c_1(rev1^#(Y, L))
  , rev^#(cons(X, L)) -> c_5(rev1^#(X, L), rev2^#(X, L))
  , rev2^#(X, cons(Y, L)) ->
    c_7(rev^#(cons(X, rev(rev2(Y, L)))),
        rev^#(rev2(Y, L)),
        rev2^#(Y, L)) }
Weak DPs:
  { rev1^#(0(), nil()) -> c_2()
  , rev1^#(s(X), nil()) -> c_3()
  , rev^#(nil()) -> c_4()
  , rev2^#(X, nil()) -> c_6() }
Weak Trs:
  { rev1(X, cons(Y, L)) -> rev1(Y, L)
  , rev1(0(), nil()) -> 0()
  , rev1(s(X), nil()) -> s(X)
  , rev(nil()) -> nil()
  , rev(cons(X, L)) -> cons(rev1(X, L), rev2(X, L))
  , rev2(X, nil()) -> nil()
  , rev2(X, cons(Y, L)) -> rev(cons(X, rev(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.

{ rev1^#(0(), nil()) -> c_2()
, rev1^#(s(X), nil()) -> c_3()
, rev^#(nil()) -> c_4()
, rev2^#(X, nil()) -> c_6() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { rev1^#(X, cons(Y, L)) -> c_1(rev1^#(Y, L))
  , rev^#(cons(X, L)) -> c_5(rev1^#(X, L), rev2^#(X, L))
  , rev2^#(X, cons(Y, L)) ->
    c_7(rev^#(cons(X, rev(rev2(Y, L)))),
        rev^#(rev2(Y, L)),
        rev2^#(Y, L)) }
Weak Trs:
  { rev1(X, cons(Y, L)) -> rev1(Y, L)
  , rev1(0(), nil()) -> 0()
  , rev1(s(X), nil()) -> s(X)
  , rev(nil()) -> nil()
  , rev(cons(X, L)) -> cons(rev1(X, L), rev2(X, L))
  , rev2(X, nil()) -> nil()
  , rev2(X, cons(Y, L)) -> rev(cons(X, rev(rev2(Y, L)))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The input cannot be shown compatible

Arrrr..