MAYBE

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

Strict Trs:
  { a__fst(X1, X2) -> fst(X1, X2)
  , a__fst(0(), Z) -> nil()
  , a__fst(s(X), cons(Y, Z)) -> cons(mark(Y), fst(X, Z))
  , mark(0()) -> 0()
  , mark(nil()) -> nil()
  , mark(s(X)) -> s(X)
  , mark(cons(X1, X2)) -> cons(mark(X1), X2)
  , mark(fst(X1, X2)) -> a__fst(mark(X1), mark(X2))
  , mark(from(X)) -> a__from(mark(X))
  , mark(add(X1, X2)) -> a__add(mark(X1), mark(X2))
  , mark(len(X)) -> a__len(mark(X))
  , a__from(X) -> cons(mark(X), from(s(X)))
  , a__from(X) -> from(X)
  , a__add(X1, X2) -> add(X1, X2)
  , a__add(0(), X) -> mark(X)
  , a__add(s(X), Y) -> s(add(X, Y))
  , a__len(X) -> len(X)
  , a__len(nil()) -> 0()
  , a__len(cons(X, Z)) -> s(len(Z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We add following dependency tuples:

Strict DPs:
  { a__fst^#(X1, X2) -> c_1()
  , a__fst^#(0(), Z) -> c_2()
  , a__fst^#(s(X), cons(Y, Z)) -> c_3(mark^#(Y))
  , mark^#(0()) -> c_4()
  , mark^#(nil()) -> c_5()
  , mark^#(s(X)) -> c_6()
  , mark^#(cons(X1, X2)) -> c_7(mark^#(X1))
  , mark^#(fst(X1, X2)) ->
    c_8(a__fst^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(from(X)) -> c_9(a__from^#(mark(X)), mark^#(X))
  , mark^#(add(X1, X2)) ->
    c_10(a__add^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(len(X)) -> c_11(a__len^#(mark(X)), mark^#(X))
  , a__from^#(X) -> c_12(mark^#(X))
  , a__from^#(X) -> c_13()
  , a__add^#(X1, X2) -> c_14()
  , a__add^#(0(), X) -> c_15(mark^#(X))
  , a__add^#(s(X), Y) -> c_16()
  , a__len^#(X) -> c_17()
  , a__len^#(nil()) -> c_18()
  , a__len^#(cons(X, Z)) -> c_19() }

and mark the set of starting terms.

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

Strict DPs:
  { a__fst^#(X1, X2) -> c_1()
  , a__fst^#(0(), Z) -> c_2()
  , a__fst^#(s(X), cons(Y, Z)) -> c_3(mark^#(Y))
  , mark^#(0()) -> c_4()
  , mark^#(nil()) -> c_5()
  , mark^#(s(X)) -> c_6()
  , mark^#(cons(X1, X2)) -> c_7(mark^#(X1))
  , mark^#(fst(X1, X2)) ->
    c_8(a__fst^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(from(X)) -> c_9(a__from^#(mark(X)), mark^#(X))
  , mark^#(add(X1, X2)) ->
    c_10(a__add^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(len(X)) -> c_11(a__len^#(mark(X)), mark^#(X))
  , a__from^#(X) -> c_12(mark^#(X))
  , a__from^#(X) -> c_13()
  , a__add^#(X1, X2) -> c_14()
  , a__add^#(0(), X) -> c_15(mark^#(X))
  , a__add^#(s(X), Y) -> c_16()
  , a__len^#(X) -> c_17()
  , a__len^#(nil()) -> c_18()
  , a__len^#(cons(X, Z)) -> c_19() }
Weak Trs:
  { a__fst(X1, X2) -> fst(X1, X2)
  , a__fst(0(), Z) -> nil()
  , a__fst(s(X), cons(Y, Z)) -> cons(mark(Y), fst(X, Z))
  , mark(0()) -> 0()
  , mark(nil()) -> nil()
  , mark(s(X)) -> s(X)
  , mark(cons(X1, X2)) -> cons(mark(X1), X2)
  , mark(fst(X1, X2)) -> a__fst(mark(X1), mark(X2))
  , mark(from(X)) -> a__from(mark(X))
  , mark(add(X1, X2)) -> a__add(mark(X1), mark(X2))
  , mark(len(X)) -> a__len(mark(X))
  , a__from(X) -> cons(mark(X), from(s(X)))
  , a__from(X) -> from(X)
  , a__add(X1, X2) -> add(X1, X2)
  , a__add(0(), X) -> mark(X)
  , a__add(s(X), Y) -> s(add(X, Y))
  , a__len(X) -> len(X)
  , a__len(nil()) -> 0()
  , a__len(cons(X, Z)) -> s(len(Z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We estimate the number of application of
{1,2,4,5,6,13,14,16,17,18,19} by applications of
Pre({1,2,4,5,6,13,14,16,17,18,19}) = {3,7,8,9,10,11,12,15}. Here
rules are labeled as follows:

  DPs:
    { 1: a__fst^#(X1, X2) -> c_1()
    , 2: a__fst^#(0(), Z) -> c_2()
    , 3: a__fst^#(s(X), cons(Y, Z)) -> c_3(mark^#(Y))
    , 4: mark^#(0()) -> c_4()
    , 5: mark^#(nil()) -> c_5()
    , 6: mark^#(s(X)) -> c_6()
    , 7: mark^#(cons(X1, X2)) -> c_7(mark^#(X1))
    , 8: mark^#(fst(X1, X2)) ->
         c_8(a__fst^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
    , 9: mark^#(from(X)) -> c_9(a__from^#(mark(X)), mark^#(X))
    , 10: mark^#(add(X1, X2)) ->
          c_10(a__add^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
    , 11: mark^#(len(X)) -> c_11(a__len^#(mark(X)), mark^#(X))
    , 12: a__from^#(X) -> c_12(mark^#(X))
    , 13: a__from^#(X) -> c_13()
    , 14: a__add^#(X1, X2) -> c_14()
    , 15: a__add^#(0(), X) -> c_15(mark^#(X))
    , 16: a__add^#(s(X), Y) -> c_16()
    , 17: a__len^#(X) -> c_17()
    , 18: a__len^#(nil()) -> c_18()
    , 19: a__len^#(cons(X, Z)) -> c_19() }

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

Strict DPs:
  { a__fst^#(s(X), cons(Y, Z)) -> c_3(mark^#(Y))
  , mark^#(cons(X1, X2)) -> c_7(mark^#(X1))
  , mark^#(fst(X1, X2)) ->
    c_8(a__fst^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(from(X)) -> c_9(a__from^#(mark(X)), mark^#(X))
  , mark^#(add(X1, X2)) ->
    c_10(a__add^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(len(X)) -> c_11(a__len^#(mark(X)), mark^#(X))
  , a__from^#(X) -> c_12(mark^#(X))
  , a__add^#(0(), X) -> c_15(mark^#(X)) }
Weak DPs:
  { a__fst^#(X1, X2) -> c_1()
  , a__fst^#(0(), Z) -> c_2()
  , mark^#(0()) -> c_4()
  , mark^#(nil()) -> c_5()
  , mark^#(s(X)) -> c_6()
  , a__from^#(X) -> c_13()
  , a__add^#(X1, X2) -> c_14()
  , a__add^#(s(X), Y) -> c_16()
  , a__len^#(X) -> c_17()
  , a__len^#(nil()) -> c_18()
  , a__len^#(cons(X, Z)) -> c_19() }
Weak Trs:
  { a__fst(X1, X2) -> fst(X1, X2)
  , a__fst(0(), Z) -> nil()
  , a__fst(s(X), cons(Y, Z)) -> cons(mark(Y), fst(X, Z))
  , mark(0()) -> 0()
  , mark(nil()) -> nil()
  , mark(s(X)) -> s(X)
  , mark(cons(X1, X2)) -> cons(mark(X1), X2)
  , mark(fst(X1, X2)) -> a__fst(mark(X1), mark(X2))
  , mark(from(X)) -> a__from(mark(X))
  , mark(add(X1, X2)) -> a__add(mark(X1), mark(X2))
  , mark(len(X)) -> a__len(mark(X))
  , a__from(X) -> cons(mark(X), from(s(X)))
  , a__from(X) -> from(X)
  , a__add(X1, X2) -> add(X1, X2)
  , a__add(0(), X) -> mark(X)
  , a__add(s(X), Y) -> s(add(X, Y))
  , a__len(X) -> len(X)
  , a__len(nil()) -> 0()
  , a__len(cons(X, Z)) -> s(len(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.

{ a__fst^#(X1, X2) -> c_1()
, a__fst^#(0(), Z) -> c_2()
, mark^#(0()) -> c_4()
, mark^#(nil()) -> c_5()
, mark^#(s(X)) -> c_6()
, a__from^#(X) -> c_13()
, a__add^#(X1, X2) -> c_14()
, a__add^#(s(X), Y) -> c_16()
, a__len^#(X) -> c_17()
, a__len^#(nil()) -> c_18()
, a__len^#(cons(X, Z)) -> c_19() }

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

Strict DPs:
  { a__fst^#(s(X), cons(Y, Z)) -> c_3(mark^#(Y))
  , mark^#(cons(X1, X2)) -> c_7(mark^#(X1))
  , mark^#(fst(X1, X2)) ->
    c_8(a__fst^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(from(X)) -> c_9(a__from^#(mark(X)), mark^#(X))
  , mark^#(add(X1, X2)) ->
    c_10(a__add^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(len(X)) -> c_11(a__len^#(mark(X)), mark^#(X))
  , a__from^#(X) -> c_12(mark^#(X))
  , a__add^#(0(), X) -> c_15(mark^#(X)) }
Weak Trs:
  { a__fst(X1, X2) -> fst(X1, X2)
  , a__fst(0(), Z) -> nil()
  , a__fst(s(X), cons(Y, Z)) -> cons(mark(Y), fst(X, Z))
  , mark(0()) -> 0()
  , mark(nil()) -> nil()
  , mark(s(X)) -> s(X)
  , mark(cons(X1, X2)) -> cons(mark(X1), X2)
  , mark(fst(X1, X2)) -> a__fst(mark(X1), mark(X2))
  , mark(from(X)) -> a__from(mark(X))
  , mark(add(X1, X2)) -> a__add(mark(X1), mark(X2))
  , mark(len(X)) -> a__len(mark(X))
  , a__from(X) -> cons(mark(X), from(s(X)))
  , a__from(X) -> from(X)
  , a__add(X1, X2) -> add(X1, X2)
  , a__add(0(), X) -> mark(X)
  , a__add(s(X), Y) -> s(add(X, Y))
  , a__len(X) -> len(X)
  , a__len(nil()) -> 0()
  , a__len(cons(X, Z)) -> s(len(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:

  { mark^#(len(X)) -> c_11(a__len^#(mark(X)), mark^#(X)) }

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

Strict DPs:
  { a__fst^#(s(X), cons(Y, Z)) -> c_1(mark^#(Y))
  , mark^#(cons(X1, X2)) -> c_2(mark^#(X1))
  , mark^#(fst(X1, X2)) ->
    c_3(a__fst^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(from(X)) -> c_4(a__from^#(mark(X)), mark^#(X))
  , mark^#(add(X1, X2)) ->
    c_5(a__add^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2))
  , mark^#(len(X)) -> c_6(mark^#(X))
  , a__from^#(X) -> c_7(mark^#(X))
  , a__add^#(0(), X) -> c_8(mark^#(X)) }
Weak Trs:
  { a__fst(X1, X2) -> fst(X1, X2)
  , a__fst(0(), Z) -> nil()
  , a__fst(s(X), cons(Y, Z)) -> cons(mark(Y), fst(X, Z))
  , mark(0()) -> 0()
  , mark(nil()) -> nil()
  , mark(s(X)) -> s(X)
  , mark(cons(X1, X2)) -> cons(mark(X1), X2)
  , mark(fst(X1, X2)) -> a__fst(mark(X1), mark(X2))
  , mark(from(X)) -> a__from(mark(X))
  , mark(add(X1, X2)) -> a__add(mark(X1), mark(X2))
  , mark(len(X)) -> a__len(mark(X))
  , a__from(X) -> cons(mark(X), from(s(X)))
  , a__from(X) -> from(X)
  , a__add(X1, X2) -> add(X1, X2)
  , a__add(0(), X) -> mark(X)
  , a__add(s(X), Y) -> s(add(X, Y))
  , a__len(X) -> len(X)
  , a__len(nil()) -> 0()
  , a__len(cons(X, Z)) -> s(len(Z)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

None of the processors succeeded.

Details of failed attempt(s):
-----------------------------
1) 'matrices' failed due to the following reason:
   
   None of the processors succeeded.
   
   Details of failed attempt(s):
   -----------------------------
   1) 'matrix interpretation of dimension 4' failed due to the
      following reason:
      
      Following exception was raised:
        stack overflow
   
   2) 'matrix interpretation of dimension 3' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   3) 'matrix interpretation of dimension 3' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   4) 'matrix interpretation of dimension 2' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   5) 'matrix interpretation of dimension 2' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   6) 'matrix interpretation of dimension 1' failed due to the
      following reason:
      
      The input cannot be shown compatible
   

2) 'empty' failed due to the following reason:
   
   Empty strict component of the problem is NOT empty.


Arrrr..