We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Strict Trs:
  { first(0(), X) -> nil()
  , first(s(X), cons(Y)) -> cons(Y)
  , from(X) -> cons(X) }
Obligation:
  runtime complexity
Answer:
  YES(O(1),O(1))

The input is overlay and right-linear. Switching to innermost
rewriting.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Strict Trs:
  { first(0(), X) -> nil()
  , first(s(X), cons(Y)) -> cons(Y)
  , from(X) -> cons(X) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

We add the following weak dependency pairs:

Strict DPs:
  { first^#(0(), X) -> c_1()
  , first^#(s(X), cons(Y)) -> c_2()
  , from^#(X) -> c_3() }

and mark the set of starting terms.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Strict DPs:
  { first^#(0(), X) -> c_1()
  , first^#(s(X), cons(Y)) -> c_2()
  , from^#(X) -> c_3() }
Strict Trs:
  { first(0(), X) -> nil()
  , first(s(X), cons(Y)) -> cons(Y)
  , from(X) -> cons(X) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

No rule is usable, rules are removed from the input problem.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Strict DPs:
  { first^#(0(), X) -> c_1()
  , first^#(s(X), cons(Y)) -> c_2()
  , from^#(X) -> c_3() }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

The weightgap principle applies (using the following constant
growth matrix-interpretation)

The following argument positions are usable:
  none

TcT has computed the following constructor-restricted matrix
interpretation.

                [0] = [1]           
                      [0]           
                                    
            [s](x1) = [0]           
                      [0]           
                                    
         [cons](x1) = [1]           
                      [1]           
                                    
  [first^#](x1, x2) = [1 1] x2 + [0]
                      [1 1]      [0]
                                    
              [c_1] = [0]           
                      [0]           
                                    
              [c_2] = [0]           
                      [0]           
                                    
       [from^#](x1) = [0]           
                      [0]           
                                    
              [c_3] = [0]           
                      [0]           

The order satisfies the following ordering constraints:

         [first^#(0(), X)] =  [1 1] X + [0]
                              [1 1]     [0]
                           >= [0]          
                              [0]          
                           =  [c_1()]      
                                           
  [first^#(s(X), cons(Y))] =  [2]          
                              [2]          
                           >  [0]          
                              [0]          
                           =  [c_2()]      
                                           
               [from^#(X)] =  [0]          
                              [0]          
                           >= [0]          
                              [0]          
                           =  [c_3()]      
                                           

Further, it can be verified that all rules not oriented are covered by the weightgap condition.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Strict DPs:
  { first^#(0(), X) -> c_1()
  , from^#(X) -> c_3() }
Weak DPs: { first^#(s(X), cons(Y)) -> c_2() }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

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

  DPs:
    { 1: first^#(0(), X) -> c_1()
    , 2: from^#(X) -> c_3()
    , 3: first^#(s(X), cons(Y)) -> c_2() }

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Weak DPs:
  { first^#(0(), X) -> c_1()
  , first^#(s(X), cons(Y)) -> c_2()
  , from^#(X) -> c_3() }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

The following weak DPs constitute a sub-graph of the DG that is
closed under successors. The DPs are removed.

{ first^#(0(), X) -> c_1()
, first^#(s(X), cons(Y)) -> c_2()
, from^#(X) -> c_3() }

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Rules: Empty
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

Empty rules are trivially bounded

Hurray, we answered YES(O(1),O(1))