MAYBE

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

Strict Trs:
  { ge(x, 0()) -> true()
  , ge(0(), s(y)) -> false()
  , ge(s(x), s(y)) -> ge(x, y)
  , rev(x) -> if(x, eq(0(), length(x)), nil(), 0(), length(x))
  , if(x, true(), z, c, l) -> z
  , if(x, false(), z, c, l) -> help(s(c), l, x, z)
  , length(nil()) -> 0()
  , length(cons(x, y)) -> s(length(y))
  , help(c, l, cons(x, y), z) ->
    if(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l)
  , append(nil(), y) -> y
  , append(cons(x, y), z) -> cons(x, append(y, z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We add following dependency tuples:

Strict DPs:
  { ge^#(x, 0()) -> c_1()
  , ge^#(0(), s(y)) -> c_2()
  , ge^#(s(x), s(y)) -> c_3(ge^#(x, y))
  , rev^#(x) ->
    c_4(if^#(x, eq(0(), length(x)), nil(), 0(), length(x)),
        length^#(x),
        length^#(x))
  , if^#(x, true(), z, c, l) -> c_5()
  , if^#(x, false(), z, c, l) -> c_6(help^#(s(c), l, x, z))
  , length^#(nil()) -> c_7()
  , length^#(cons(x, y)) -> c_8(length^#(y))
  , help^#(c, l, cons(x, y), z) ->
    c_9(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
        append^#(y, cons(x, nil())),
        ge^#(c, l))
  , append^#(nil(), y) -> c_10()
  , append^#(cons(x, y), z) -> c_11(append^#(y, z)) }

and mark the set of starting terms.

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

Strict DPs:
  { ge^#(x, 0()) -> c_1()
  , ge^#(0(), s(y)) -> c_2()
  , ge^#(s(x), s(y)) -> c_3(ge^#(x, y))
  , rev^#(x) ->
    c_4(if^#(x, eq(0(), length(x)), nil(), 0(), length(x)),
        length^#(x),
        length^#(x))
  , if^#(x, true(), z, c, l) -> c_5()
  , if^#(x, false(), z, c, l) -> c_6(help^#(s(c), l, x, z))
  , length^#(nil()) -> c_7()
  , length^#(cons(x, y)) -> c_8(length^#(y))
  , help^#(c, l, cons(x, y), z) ->
    c_9(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
        append^#(y, cons(x, nil())),
        ge^#(c, l))
  , append^#(nil(), y) -> c_10()
  , append^#(cons(x, y), z) -> c_11(append^#(y, z)) }
Weak Trs:
  { ge(x, 0()) -> true()
  , ge(0(), s(y)) -> false()
  , ge(s(x), s(y)) -> ge(x, y)
  , rev(x) -> if(x, eq(0(), length(x)), nil(), 0(), length(x))
  , if(x, true(), z, c, l) -> z
  , if(x, false(), z, c, l) -> help(s(c), l, x, z)
  , length(nil()) -> 0()
  , length(cons(x, y)) -> s(length(y))
  , help(c, l, cons(x, y), z) ->
    if(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l)
  , append(nil(), y) -> y
  , append(cons(x, y), z) -> cons(x, append(y, z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

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

  DPs:
    { 1: ge^#(x, 0()) -> c_1()
    , 2: ge^#(0(), s(y)) -> c_2()
    , 3: ge^#(s(x), s(y)) -> c_3(ge^#(x, y))
    , 4: rev^#(x) ->
         c_4(if^#(x, eq(0(), length(x)), nil(), 0(), length(x)),
             length^#(x),
             length^#(x))
    , 5: if^#(x, true(), z, c, l) -> c_5()
    , 6: if^#(x, false(), z, c, l) -> c_6(help^#(s(c), l, x, z))
    , 7: length^#(nil()) -> c_7()
    , 8: length^#(cons(x, y)) -> c_8(length^#(y))
    , 9: help^#(c, l, cons(x, y), z) ->
         c_9(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
             append^#(y, cons(x, nil())),
             ge^#(c, l))
    , 10: append^#(nil(), y) -> c_10()
    , 11: append^#(cons(x, y), z) -> c_11(append^#(y, z)) }

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

Strict DPs:
  { ge^#(s(x), s(y)) -> c_3(ge^#(x, y))
  , rev^#(x) ->
    c_4(if^#(x, eq(0(), length(x)), nil(), 0(), length(x)),
        length^#(x),
        length^#(x))
  , if^#(x, false(), z, c, l) -> c_6(help^#(s(c), l, x, z))
  , length^#(cons(x, y)) -> c_8(length^#(y))
  , help^#(c, l, cons(x, y), z) ->
    c_9(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
        append^#(y, cons(x, nil())),
        ge^#(c, l))
  , append^#(cons(x, y), z) -> c_11(append^#(y, z)) }
Weak DPs:
  { ge^#(x, 0()) -> c_1()
  , ge^#(0(), s(y)) -> c_2()
  , if^#(x, true(), z, c, l) -> c_5()
  , length^#(nil()) -> c_7()
  , append^#(nil(), y) -> c_10() }
Weak Trs:
  { ge(x, 0()) -> true()
  , ge(0(), s(y)) -> false()
  , ge(s(x), s(y)) -> ge(x, y)
  , rev(x) -> if(x, eq(0(), length(x)), nil(), 0(), length(x))
  , if(x, true(), z, c, l) -> z
  , if(x, false(), z, c, l) -> help(s(c), l, x, z)
  , length(nil()) -> 0()
  , length(cons(x, y)) -> s(length(y))
  , help(c, l, cons(x, y), z) ->
    if(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l)
  , append(nil(), y) -> y
  , append(cons(x, y), z) -> cons(x, append(y, z)) }
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.

{ ge^#(x, 0()) -> c_1()
, ge^#(0(), s(y)) -> c_2()
, if^#(x, true(), z, c, l) -> c_5()
, length^#(nil()) -> c_7()
, append^#(nil(), y) -> c_10() }

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

Strict DPs:
  { ge^#(s(x), s(y)) -> c_3(ge^#(x, y))
  , rev^#(x) ->
    c_4(if^#(x, eq(0(), length(x)), nil(), 0(), length(x)),
        length^#(x),
        length^#(x))
  , if^#(x, false(), z, c, l) -> c_6(help^#(s(c), l, x, z))
  , length^#(cons(x, y)) -> c_8(length^#(y))
  , help^#(c, l, cons(x, y), z) ->
    c_9(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
        append^#(y, cons(x, nil())),
        ge^#(c, l))
  , append^#(cons(x, y), z) -> c_11(append^#(y, z)) }
Weak Trs:
  { ge(x, 0()) -> true()
  , ge(0(), s(y)) -> false()
  , ge(s(x), s(y)) -> ge(x, y)
  , rev(x) -> if(x, eq(0(), length(x)), nil(), 0(), length(x))
  , if(x, true(), z, c, l) -> z
  , if(x, false(), z, c, l) -> help(s(c), l, x, z)
  , length(nil()) -> 0()
  , length(cons(x, y)) -> s(length(y))
  , help(c, l, cons(x, y), z) ->
    if(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l)
  , append(nil(), y) -> y
  , append(cons(x, y), z) -> cons(x, append(y, z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

Due to missing edges in the dependency-graph, the right-hand sides
of following rules could be simplified:

  { rev^#(x) ->
    c_4(if^#(x, eq(0(), length(x)), nil(), 0(), length(x)),
        length^#(x),
        length^#(x)) }

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

Strict DPs:
  { ge^#(s(x), s(y)) -> c_1(ge^#(x, y))
  , rev^#(x) -> c_2(length^#(x), length^#(x))
  , if^#(x, false(), z, c, l) -> c_3(help^#(s(c), l, x, z))
  , length^#(cons(x, y)) -> c_4(length^#(y))
  , help^#(c, l, cons(x, y), z) ->
    c_5(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
        append^#(y, cons(x, nil())),
        ge^#(c, l))
  , append^#(cons(x, y), z) -> c_6(append^#(y, z)) }
Weak Trs:
  { ge(x, 0()) -> true()
  , ge(0(), s(y)) -> false()
  , ge(s(x), s(y)) -> ge(x, y)
  , rev(x) -> if(x, eq(0(), length(x)), nil(), 0(), length(x))
  , if(x, true(), z, c, l) -> z
  , if(x, false(), z, c, l) -> help(s(c), l, x, z)
  , length(nil()) -> 0()
  , length(cons(x, y)) -> s(length(y))
  , help(c, l, cons(x, y), z) ->
    if(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l)
  , append(nil(), y) -> y
  , append(cons(x, y), z) -> cons(x, append(y, z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We replace rewrite rules by usable rules:

  Weak Usable Rules:
    { ge(x, 0()) -> true()
    , ge(0(), s(y)) -> false()
    , ge(s(x), s(y)) -> ge(x, y)
    , append(nil(), y) -> y
    , append(cons(x, y), z) -> cons(x, append(y, z)) }

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

Strict DPs:
  { ge^#(s(x), s(y)) -> c_1(ge^#(x, y))
  , rev^#(x) -> c_2(length^#(x), length^#(x))
  , if^#(x, false(), z, c, l) -> c_3(help^#(s(c), l, x, z))
  , length^#(cons(x, y)) -> c_4(length^#(y))
  , help^#(c, l, cons(x, y), z) ->
    c_5(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
        append^#(y, cons(x, nil())),
        ge^#(c, l))
  , append^#(cons(x, y), z) -> c_6(append^#(y, z)) }
Weak Trs:
  { ge(x, 0()) -> true()
  , ge(0(), s(y)) -> false()
  , ge(s(x), s(y)) -> ge(x, y)
  , append(nil(), y) -> y
  , append(cons(x, y), z) -> cons(x, append(y, z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

Consider the dependency graph

  1: ge^#(s(x), s(y)) -> c_1(ge^#(x, y))
     -->_1 ge^#(s(x), s(y)) -> c_1(ge^#(x, y)) :1
  
  2: rev^#(x) -> c_2(length^#(x), length^#(x))
     -->_2 length^#(cons(x, y)) -> c_4(length^#(y)) :4
     -->_1 length^#(cons(x, y)) -> c_4(length^#(y)) :4
  
  3: if^#(x, false(), z, c, l) -> c_3(help^#(s(c), l, x, z))
     -->_1 help^#(c, l, cons(x, y), z) ->
           c_5(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
               append^#(y, cons(x, nil())),
               ge^#(c, l)) :5
  
  4: length^#(cons(x, y)) -> c_4(length^#(y))
     -->_1 length^#(cons(x, y)) -> c_4(length^#(y)) :4
  
  5: help^#(c, l, cons(x, y), z) ->
     c_5(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
         append^#(y, cons(x, nil())),
         ge^#(c, l))
     -->_2 append^#(cons(x, y), z) -> c_6(append^#(y, z)) :6
     -->_1 if^#(x, false(), z, c, l) -> c_3(help^#(s(c), l, x, z)) :3
     -->_3 ge^#(s(x), s(y)) -> c_1(ge^#(x, y)) :1
  
  6: append^#(cons(x, y), z) -> c_6(append^#(y, z))
     -->_1 append^#(cons(x, y), z) -> c_6(append^#(y, z)) :6
  

Following roots of the dependency graph are removed, as the
considered set of starting terms is closed under reduction with
respect to these rules (modulo compound contexts).

  { rev^#(x) -> c_2(length^#(x), length^#(x)) }


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

Strict DPs:
  { ge^#(s(x), s(y)) -> c_1(ge^#(x, y))
  , if^#(x, false(), z, c, l) -> c_3(help^#(s(c), l, x, z))
  , length^#(cons(x, y)) -> c_4(length^#(y))
  , help^#(c, l, cons(x, y), z) ->
    c_5(if^#(append(y, cons(x, nil())), ge(c, l), cons(x, z), c, l),
        append^#(y, cons(x, nil())),
        ge^#(c, l))
  , append^#(cons(x, y), z) -> c_6(append^#(y, z)) }
Weak Trs:
  { ge(x, 0()) -> true()
  , ge(0(), s(y)) -> false()
  , ge(s(x), s(y)) -> ge(x, y)
  , append(nil(), y) -> y
  , append(cons(x, y), z) -> cons(x, append(y, z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The input cannot be shown compatible

Arrrr..