MAYBE

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

Strict Trs:
  { fst(0(), Z) -> nil()
  , fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
  , from(X) -> cons(X, from(s(X)))
  , add(0(), X) -> X
  , add(s(X), Y) -> s(add(X, Y))
  , len(nil()) -> 0()
  , len(cons(X, Z)) -> s(len(Z)) }
Obligation:
  runtime complexity
Answer:
  MAYBE

None of the processors succeeded.

Details of failed attempt(s):
-----------------------------
1) 'WithProblem (timeout of 60 seconds)' failed due to the
   following reason:
   
   We add the following weak dependency pairs:
   
   Strict DPs:
     { fst^#(0(), Z) -> c_1()
     , fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(nil()) -> c_6()
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   
   and mark the set of starting terms.
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { fst^#(0(), Z) -> c_1()
     , fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(nil()) -> c_6()
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   Strict Trs:
     { fst(0(), Z) -> nil()
     , fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
     , from(X) -> cons(X, from(s(X)))
     , add(0(), X) -> X
     , add(s(X), Y) -> s(add(X, Y))
     , len(nil()) -> 0()
     , len(cons(X, Z)) -> s(len(Z)) }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   No rule is usable, rules are removed from the input problem.
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { fst^#(0(), Z) -> c_1()
     , fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(nil()) -> c_6()
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   The weightgap principle applies (using the following constant
   growth matrix-interpretation)
   
   The following argument positions are usable:
     Uargs(c_2) = {2}, Uargs(c_3) = {2}, Uargs(c_5) = {1},
     Uargs(c_7) = {1}
   
   TcT has computed the following constructor-restricted matrix
   interpretation.
   
                 [0] = [0]                      
                       [0]                      
                                                
               [nil] = [1]                      
                       [1]                      
                                                
             [s](x1) = [1 0] x1 + [0]           
                       [0 0]      [0]           
                                                
      [cons](x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                       [0 1]      [0 0]      [0]
                                                
     [fst^#](x1, x2) = [0]                      
                       [2]                      
                                                
               [c_1] = [1]                      
                       [1]                      
                                                
       [c_2](x1, x2) = [1 0] x2 + [2]           
                       [0 1]      [0]           
                                                
        [from^#](x1) = [0 0] x1 + [2]           
                       [1 1]      [2]           
                                                
       [c_3](x1, x2) = [0 0] x1 + [1 0] x2 + [2]
                       [1 2]      [0 1]      [2]
                                                
     [add^#](x1, x2) = [0 0] x1 + [2 1] x2 + [0]
                       [2 2]      [1 2]      [1]
                                                
           [c_4](x1) = [1 1] x1 + [1]           
                       [1 1]      [1]           
                                                
           [c_5](x1) = [1 0] x1 + [2]           
                       [0 1]      [0]           
                                                
         [len^#](x1) = [0 0] x1 + [1]           
                       [2 2]      [1]           
                                                
               [c_6] = [0]                      
                       [1]                      
                                                
           [c_7](x1) = [1 0] x1 + [1]           
                       [0 1]      [0]           
   
   The following symbols are considered usable
   
     {fst^#, from^#, add^#, len^#}
   
   The order satisfies the following ordering constraints:
   
               [fst^#(0(), Z)] = [0]                    
                                 [2]                    
                               ? [1]                    
                                 [1]                    
                               = [c_1()]                
                                                        
     [fst^#(s(X), cons(Y, Z))] = [0]                    
                                 [2]                    
                               ? [2]                    
                                 [2]                    
                               = [c_2(Y, fst^#(X, Z))]  
                                                        
                   [from^#(X)] = [0 0] X + [2]          
                                 [1 1]     [2]          
                               ? [0 0] X + [4]          
                                 [2 2]     [4]          
                               = [c_3(X, from^#(s(X)))] 
                                                        
               [add^#(0(), X)] = [2 1] X + [0]          
                                 [1 2]     [1]          
                               ? [1 1] X + [1]          
                                 [1 1]     [1]          
                               = [c_4(X)]               
                                                        
              [add^#(s(X), Y)] = [0 0] X + [2 1] Y + [0]
                                 [2 0]     [1 2]     [1]
                               ? [0 0] X + [2 1] Y + [2]
                                 [2 2]     [1 2]     [1]
                               = [c_5(add^#(X, Y))]     
                                                        
                [len^#(nil())] = [1]                    
                                 [5]                    
                               > [0]                    
                                 [1]                    
                               = [c_6()]                
                                                        
           [len^#(cons(X, Z))] = [0 0] Z + [0 0] X + [1]
                                 [2 0]     [2 6]     [1]
                               ? [0 0] Z + [2]          
                                 [2 2]     [1]          
                               = [c_7(len^#(Z))]        
                                                        
   
   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 MAYBE.
   
   Strict DPs:
     { fst^#(0(), Z) -> c_1()
     , fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   Weak DPs: { len^#(nil()) -> c_6() }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   We estimate the number of application of {1} by applications of
   Pre({1}) = {2,3,4}. Here rules are labeled as follows:
   
     DPs:
       { 1: fst^#(0(), Z) -> c_1()
       , 2: fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
       , 3: from^#(X) -> c_3(X, from^#(s(X)))
       , 4: add^#(0(), X) -> c_4(X)
       , 5: add^#(s(X), Y) -> c_5(add^#(X, Y))
       , 6: len^#(cons(X, Z)) -> c_7(len^#(Z))
       , 7: len^#(nil()) -> c_6() }
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   Weak DPs:
     { fst^#(0(), Z) -> c_1()
     , len^#(nil()) -> c_6() }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   The following weak DPs constitute a sub-graph of the DG that is
   closed under successors. The DPs are removed.
   
   { fst^#(0(), Z) -> c_1()
   , len^#(nil()) -> c_6() }
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   None of the processors succeeded.
   
   Details of failed attempt(s):
   -----------------------------
   1) 'empty' failed due to the following reason:
      
      Empty strict component of the problem is NOT empty.
   
   2) 'Inspecting Problem...' failed due to the following reason:
      
      We use the processor 'matrix interpretation of dimension 1' to
      orient following rules strictly.
      
      DPs:
        { 1: fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
        , 5: len^#(cons(X, Z)) -> c_7(len^#(Z)) }
      
      Sub-proof:
      ----------
        The following argument positions are usable:
          Uargs(c_2) = {2}, Uargs(c_3) = {2}, Uargs(c_5) = {1},
          Uargs(c_7) = {1}
        
        TcT has computed the following constructor-based matrix
        interpretation satisfying not(EDA).
        
            [fst](x1, x2) = [7] x1 + [7] x2 + [0]
                                                 
                      [0] = [7]                  
                                                 
                    [nil] = [0]                  
                                                 
                  [s](x1) = [0]                  
                                                 
           [cons](x1, x2) = [1] x1 + [1] x2 + [4]
                                                 
               [from](x1) = [7] x1 + [0]         
                                                 
            [add](x1, x2) = [7] x1 + [7] x2 + [0]
                                                 
                [len](x1) = [7] x1 + [0]         
                                                 
          [fst^#](x1, x2) = [2] x2 + [0]         
                                                 
                    [c_1] = [0]                  
                                                 
            [c_2](x1, x2) = [1] x1 + [1] x2 + [5]
                                                 
             [from^#](x1) = [4] x1 + [0]         
                                                 
            [c_3](x1, x2) = [3] x1 + [2] x2 + [0]
                                                 
          [add^#](x1, x2) = [0]                  
                                                 
                [c_4](x1) = [0]                  
                                                 
                [c_5](x1) = [2] x1 + [0]         
                                                 
              [len^#](x1) = [2] x1 + [0]         
                                                 
                    [c_6] = [0]                  
                                                 
                [c_7](x1) = [1] x1 + [5]         
        
        The following symbols are considered usable
        
          {fst^#, from^#, add^#, len^#}
        
        The order satisfies the following ordering constraints:
        
          [fst^#(s(X), cons(Y, Z))] =  [2] Z + [2] Y + [8]   
                                    >  [2] Z + [1] Y + [5]   
                                    =  [c_2(Y, fst^#(X, Z))] 
                                                             
                        [from^#(X)] =  [4] X + [0]           
                                    >= [3] X + [0]           
                                    =  [c_3(X, from^#(s(X)))]
                                                             
                    [add^#(0(), X)] =  [0]                   
                                    >= [0]                   
                                    =  [c_4(X)]              
                                                             
                   [add^#(s(X), Y)] =  [0]                   
                                    >= [0]                   
                                    =  [c_5(add^#(X, Y))]    
                                                             
                [len^#(cons(X, Z))] =  [2] Z + [2] X + [8]   
                                    >  [2] Z + [5]           
                                    =  [c_7(len^#(Z))]       
                                                             
      
      The strictly oriented rules are moved into the weak component.
      
      We are left with following problem, upon which TcT provides the
      certificate MAYBE.
      
      Strict DPs:
        { from^#(X) -> c_3(X, from^#(s(X)))
        , add^#(0(), X) -> c_4(X)
        , add^#(s(X), Y) -> c_5(add^#(X, Y)) }
      Weak DPs:
        { fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
        , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      The following weak DPs constitute a sub-graph of the DG that is
      closed under successors. The DPs are removed.
      
      { len^#(cons(X, Z)) -> c_7(len^#(Z)) }
      
      We are left with following problem, upon which TcT provides the
      certificate MAYBE.
      
      Strict DPs:
        { from^#(X) -> c_3(X, from^#(s(X)))
        , add^#(0(), X) -> c_4(X)
        , add^#(s(X), Y) -> c_5(add^#(X, Y)) }
      Weak DPs: { fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z)) }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      We use the processor 'matrix interpretation of dimension 1' to
      orient following rules strictly.
      
      DPs:
        { 2: add^#(0(), X) -> c_4(X)
        , 4: fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z)) }
      
      Sub-proof:
      ----------
        The following argument positions are usable:
          Uargs(c_2) = {2}, Uargs(c_3) = {2}, Uargs(c_5) = {1}
        
        TcT has computed the following constructor-based matrix
        interpretation satisfying not(EDA).
        
            [fst](x1, x2) = [7] x1 + [7] x2 + [0]
                                                 
                      [0] = [4]                  
                                                 
                    [nil] = [0]                  
                                                 
                  [s](x1) = [1] x1 + [0]         
                                                 
           [cons](x1, x2) = [1] x1 + [1] x2 + [4]
                                                 
               [from](x1) = [7] x1 + [0]         
                                                 
            [add](x1, x2) = [7] x1 + [7] x2 + [0]
                                                 
                [len](x1) = [7] x1 + [0]         
                                                 
          [fst^#](x1, x2) = [1] x2 + [0]         
                                                 
                    [c_1] = [0]                  
                                                 
            [c_2](x1, x2) = [1] x1 + [1] x2 + [1]
                                                 
             [from^#](x1) = [0]                  
                                                 
            [c_3](x1, x2) = [1] x2 + [0]         
                                                 
          [add^#](x1, x2) = [2] x1 + [7] x2 + [0]
                                                 
                [c_4](x1) = [7] x1 + [7]         
                                                 
                [c_5](x1) = [1] x1 + [0]         
                                                 
              [len^#](x1) = [7] x1 + [0]         
                                                 
                    [c_6] = [0]                  
                                                 
                [c_7](x1) = [7] x1 + [0]         
        
        The following symbols are considered usable
        
          {fst^#, from^#, add^#}
        
        The order satisfies the following ordering constraints:
        
          [fst^#(s(X), cons(Y, Z))] =  [1] Z + [1] Y + [4]   
                                    >  [1] Z + [1] Y + [1]   
                                    =  [c_2(Y, fst^#(X, Z))] 
                                                             
                        [from^#(X)] =  [0]                   
                                    >= [0]                   
                                    =  [c_3(X, from^#(s(X)))]
                                                             
                    [add^#(0(), X)] =  [7] X + [8]           
                                    >  [7] X + [7]           
                                    =  [c_4(X)]              
                                                             
                   [add^#(s(X), Y)] =  [2] X + [7] Y + [0]   
                                    >= [2] X + [7] Y + [0]   
                                    =  [c_5(add^#(X, Y))]    
                                                             
      
      The strictly oriented rules are moved into the weak component.
      
      We are left with following problem, upon which TcT provides the
      certificate MAYBE.
      
      Strict DPs:
        { from^#(X) -> c_3(X, from^#(s(X)))
        , add^#(s(X), Y) -> c_5(add^#(X, Y)) }
      Weak DPs:
        { fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
        , add^#(0(), X) -> c_4(X) }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      We use the processor 'matrix interpretation of dimension 1' to
      orient following rules strictly.
      
      DPs:
        { 2: add^#(s(X), Y) -> c_5(add^#(X, Y))
        , 3: fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
        , 4: add^#(0(), X) -> c_4(X) }
      
      Sub-proof:
      ----------
        The following argument positions are usable:
          Uargs(c_2) = {2}, Uargs(c_3) = {2}, Uargs(c_5) = {1}
        
        TcT has computed the following constructor-based matrix
        interpretation satisfying not(EDA).
        
            [fst](x1, x2) = [7] x1 + [7] x2 + [0]
                                                 
                      [0] = [2]                  
                                                 
                    [nil] = [0]                  
                                                 
                  [s](x1) = [1] x1 + [2]         
                                                 
           [cons](x1, x2) = [1] x1 + [1] x2 + [7]
                                                 
               [from](x1) = [7] x1 + [0]         
                                                 
            [add](x1, x2) = [7] x1 + [7] x2 + [0]
                                                 
                [len](x1) = [7] x1 + [0]         
                                                 
          [fst^#](x1, x2) = [4] x1 + [0]         
                                                 
                    [c_1] = [0]                  
                                                 
            [c_2](x1, x2) = [1] x2 + [1]         
                                                 
             [from^#](x1) = [0]                  
                                                 
            [c_3](x1, x2) = [1] x2 + [0]         
                                                 
          [add^#](x1, x2) = [4] x1 + [7] x2 + [0]
                                                 
                [c_4](x1) = [7] x1 + [7]         
                                                 
                [c_5](x1) = [1] x1 + [1]         
                                                 
              [len^#](x1) = [7] x1 + [0]         
                                                 
                    [c_6] = [0]                  
                                                 
                [c_7](x1) = [7] x1 + [0]         
        
        The following symbols are considered usable
        
          {fst^#, from^#, add^#}
        
        The order satisfies the following ordering constraints:
        
          [fst^#(s(X), cons(Y, Z))] =  [4] X + [8]           
                                    >  [4] X + [1]           
                                    =  [c_2(Y, fst^#(X, Z))] 
                                                             
                        [from^#(X)] =  [0]                   
                                    >= [0]                   
                                    =  [c_3(X, from^#(s(X)))]
                                                             
                    [add^#(0(), X)] =  [7] X + [8]           
                                    >  [7] X + [7]           
                                    =  [c_4(X)]              
                                                             
                   [add^#(s(X), Y)] =  [4] X + [7] Y + [8]   
                                    >  [4] X + [7] Y + [1]   
                                    =  [c_5(add^#(X, Y))]    
                                                             
      
      The strictly oriented rules are moved into the weak component.
      
      We are left with following problem, upon which TcT provides the
      certificate MAYBE.
      
      Strict DPs: { from^#(X) -> c_3(X, from^#(s(X))) }
      Weak DPs:
        { fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
        , add^#(0(), X) -> c_4(X)
        , add^#(s(X), Y) -> c_5(add^#(X, Y)) }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      None of the processors succeeded.
      
      Details of failed attempt(s):
      -----------------------------
      1) 'empty' failed due to the following reason:
         
         Empty strict component of the problem is NOT empty.
      
      2) 'Fastest' failed due to the following reason:
         
         None of the processors succeeded.
         
         Details of failed attempt(s):
         -----------------------------
         1) 'WithProblem' failed due to the following reason:
            
            None of the processors succeeded.
            
            Details of failed attempt(s):
            -----------------------------
            1) 'empty' failed due to the following reason:
               
               Empty strict component of the problem is NOT empty.
            
            2) 'Polynomial Path Order (PS)' failed due to the following reason:
               
               The processor is inapplicable, reason:
                 Processor only applicable for innermost runtime complexity analysis
            
         
         2) 'Fastest (timeout of 5 seconds)' failed due to the following
            reason:
            
            None of the processors succeeded.
            
            Details of failed attempt(s):
            -----------------------------
            1) 'Bounds with perSymbol-enrichment and initial automaton 'match''
               failed due to the following reason:
               
               match-boundness of the problem could not be verified.
            
            2) 'Bounds with minimal-enrichment and initial automaton 'match''
               failed due to the following reason:
               
               match-boundness of the problem could not be verified.
            
         
         3) 'Polynomial Path Order (PS)' failed due to the following reason:
            
            The processor is inapplicable, reason:
              Processor only applicable for innermost runtime complexity analysis
         
      
   

2) 'Best' failed due to the following reason:
   
   None of the processors succeeded.
   
   Details of failed attempt(s):
   -----------------------------
   1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)'
      failed due to the following reason:
      
      The weightgap principle applies (using the following nonconstant
      growth matrix-interpretation)
      
      The following argument positions are usable:
        Uargs(s) = {1}, Uargs(cons) = {2}
      
      TcT has computed the following matrix interpretation satisfying
      not(EDA) and not(IDA(1)).
      
         [fst](x1, x2) = [1] x1 + [1] x2 + [0]
                                              
                   [0] = [4]                  
                                              
                 [nil] = [3]                  
                                              
               [s](x1) = [1] x1 + [0]         
                                              
        [cons](x1, x2) = [1] x2 + [0]         
                                              
            [from](x1) = [1] x1 + [0]         
                                              
         [add](x1, x2) = [1] x2 + [0]         
                                              
             [len](x1) = [0]                  
      
      The following symbols are considered usable
      
        {fst, from, add, len}
      
      The order satisfies the following ordering constraints:
      
                  [fst(0(), Z)] =  [1] Z + [4]          
                                >  [3]                  
                                =  [nil()]              
                                                        
        [fst(s(X), cons(Y, Z))] =  [1] Z + [1] X + [0]  
                                >= [1] Z + [1] X + [0]  
                                =  [cons(Y, fst(X, Z))] 
                                                        
                      [from(X)] =  [1] X + [0]          
                                >= [1] X + [0]          
                                =  [cons(X, from(s(X)))]
                                                        
                  [add(0(), X)] =  [1] X + [0]          
                                >= [1] X + [0]          
                                =  [X]                  
                                                        
                 [add(s(X), Y)] =  [1] Y + [0]          
                                >= [1] Y + [0]          
                                =  [s(add(X, Y))]       
                                                        
                   [len(nil())] =  [0]                  
                                ?  [4]                  
                                =  [0()]                
                                                        
              [len(cons(X, Z))] =  [0]                  
                                >= [0]                  
                                =  [s(len(Z))]          
                                                        
      
      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 MAYBE.
      
      Strict Trs:
        { fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
        , from(X) -> cons(X, from(s(X)))
        , add(0(), X) -> X
        , add(s(X), Y) -> s(add(X, Y))
        , len(nil()) -> 0()
        , len(cons(X, Z)) -> s(len(Z)) }
      Weak Trs: { fst(0(), Z) -> nil() }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      The weightgap principle applies (using the following nonconstant
      growth matrix-interpretation)
      
      The following argument positions are usable:
        Uargs(s) = {1}, Uargs(cons) = {2}
      
      TcT has computed the following matrix interpretation satisfying
      not(EDA) and not(IDA(1)).
      
         [fst](x1, x2) = [1] x2 + [0]         
                                              
                   [0] = [4]                  
                                              
                 [nil] = [0]                  
                                              
               [s](x1) = [1] x1 + [0]         
                                              
        [cons](x1, x2) = [1] x2 + [0]         
                                              
            [from](x1) = [1] x1 + [0]         
                                              
         [add](x1, x2) = [1] x1 + [1] x2 + [0]
                                              
             [len](x1) = [0]                  
      
      The following symbols are considered usable
      
        {fst, from, add, len}
      
      The order satisfies the following ordering constraints:
      
                  [fst(0(), Z)] =  [1] Z + [0]          
                                >= [0]                  
                                =  [nil()]              
                                                        
        [fst(s(X), cons(Y, Z))] =  [1] Z + [0]          
                                >= [1] Z + [0]          
                                =  [cons(Y, fst(X, Z))] 
                                                        
                      [from(X)] =  [1] X + [0]          
                                >= [1] X + [0]          
                                =  [cons(X, from(s(X)))]
                                                        
                  [add(0(), X)] =  [1] X + [4]          
                                >  [1] X + [0]          
                                =  [X]                  
                                                        
                 [add(s(X), Y)] =  [1] X + [1] Y + [0]  
                                >= [1] X + [1] Y + [0]  
                                =  [s(add(X, Y))]       
                                                        
                   [len(nil())] =  [0]                  
                                ?  [4]                  
                                =  [0()]                
                                                        
              [len(cons(X, Z))] =  [0]                  
                                >= [0]                  
                                =  [s(len(Z))]          
                                                        
      
      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 MAYBE.
      
      Strict Trs:
        { fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
        , from(X) -> cons(X, from(s(X)))
        , add(s(X), Y) -> s(add(X, Y))
        , len(nil()) -> 0()
        , len(cons(X, Z)) -> s(len(Z)) }
      Weak Trs:
        { fst(0(), Z) -> nil()
        , add(0(), X) -> X }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      The weightgap principle applies (using the following nonconstant
      growth matrix-interpretation)
      
      The following argument positions are usable:
        Uargs(s) = {1}, Uargs(cons) = {2}
      
      TcT has computed the following matrix interpretation satisfying
      not(EDA) and not(IDA(1)).
      
         [fst](x1, x2) = [1] x2 + [1]         
                                              
                   [0] = [0]                  
                                              
                 [nil] = [1]                  
                                              
               [s](x1) = [1] x1 + [0]         
                                              
        [cons](x1, x2) = [1] x2 + [0]         
                                              
            [from](x1) = [1] x1 + [0]         
                                              
         [add](x1, x2) = [1] x1 + [1] x2 + [0]
                                              
             [len](x1) = [1] x1 + [0]         
      
      The following symbols are considered usable
      
        {fst, from, add, len}
      
      The order satisfies the following ordering constraints:
      
                  [fst(0(), Z)] =  [1] Z + [1]          
                                >= [1]                  
                                =  [nil()]              
                                                        
        [fst(s(X), cons(Y, Z))] =  [1] Z + [1]          
                                >= [1] Z + [1]          
                                =  [cons(Y, fst(X, Z))] 
                                                        
                      [from(X)] =  [1] X + [0]          
                                >= [1] X + [0]          
                                =  [cons(X, from(s(X)))]
                                                        
                  [add(0(), X)] =  [1] X + [0]          
                                >= [1] X + [0]          
                                =  [X]                  
                                                        
                 [add(s(X), Y)] =  [1] X + [1] Y + [0]  
                                >= [1] X + [1] Y + [0]  
                                =  [s(add(X, Y))]       
                                                        
                   [len(nil())] =  [1]                  
                                >  [0]                  
                                =  [0()]                
                                                        
              [len(cons(X, Z))] =  [1] Z + [0]          
                                >= [1] Z + [0]          
                                =  [s(len(Z))]          
                                                        
      
      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 MAYBE.
      
      Strict Trs:
        { fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
        , from(X) -> cons(X, from(s(X)))
        , add(s(X), Y) -> s(add(X, Y))
        , len(cons(X, Z)) -> s(len(Z)) }
      Weak Trs:
        { fst(0(), Z) -> nil()
        , add(0(), X) -> X
        , len(nil()) -> 0() }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      The weightgap principle applies (using the following nonconstant
      growth matrix-interpretation)
      
      The following argument positions are usable:
        Uargs(s) = {1}, Uargs(cons) = {2}
      
      TcT has computed the following matrix interpretation satisfying
      not(EDA) and not(IDA(1)).
      
         [fst](x1, x2) = [1] x1 + [1] x2 + [1]
                                              
                   [0] = [3]                  
                                              
                 [nil] = [4]                  
                                              
               [s](x1) = [1] x1 + [4]         
                                              
        [cons](x1, x2) = [1] x2 + [0]         
                                              
            [from](x1) = [0]                  
                                              
         [add](x1, x2) = [1] x2 + [4]         
                                              
             [len](x1) = [1] x1 + [0]         
      
      The following symbols are considered usable
      
        {fst, from, add, len}
      
      The order satisfies the following ordering constraints:
      
                  [fst(0(), Z)] =  [1] Z + [4]          
                                >= [4]                  
                                =  [nil()]              
                                                        
        [fst(s(X), cons(Y, Z))] =  [1] Z + [1] X + [5]  
                                >  [1] Z + [1] X + [1]  
                                =  [cons(Y, fst(X, Z))] 
                                                        
                      [from(X)] =  [0]                  
                                >= [0]                  
                                =  [cons(X, from(s(X)))]
                                                        
                  [add(0(), X)] =  [1] X + [4]          
                                >  [1] X + [0]          
                                =  [X]                  
                                                        
                 [add(s(X), Y)] =  [1] Y + [4]          
                                ?  [1] Y + [8]          
                                =  [s(add(X, Y))]       
                                                        
                   [len(nil())] =  [4]                  
                                >  [3]                  
                                =  [0()]                
                                                        
              [len(cons(X, Z))] =  [1] Z + [0]          
                                ?  [1] Z + [4]          
                                =  [s(len(Z))]          
                                                        
      
      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 MAYBE.
      
      Strict Trs:
        { from(X) -> cons(X, from(s(X)))
        , add(s(X), Y) -> s(add(X, Y))
        , len(cons(X, Z)) -> s(len(Z)) }
      Weak Trs:
        { fst(0(), Z) -> nil()
        , fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
        , add(0(), X) -> X
        , len(nil()) -> 0() }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      The weightgap principle applies (using the following nonconstant
      growth matrix-interpretation)
      
      The following argument positions are usable:
        Uargs(s) = {1}, Uargs(cons) = {2}
      
      TcT has computed the following matrix interpretation satisfying
      not(EDA) and not(IDA(1)).
      
         [fst](x1, x2) = [1] x1 + [1] x2 + [0]
                                              
                   [0] = [0]                  
                                              
                 [nil] = [0]                  
                                              
               [s](x1) = [1] x1 + [4]         
                                              
        [cons](x1, x2) = [1] x2 + [5]         
                                              
            [from](x1) = [0]                  
                                              
         [add](x1, x2) = [1] x2 + [0]         
                                              
             [len](x1) = [1] x1 + [4]         
      
      The following symbols are considered usable
      
        {fst, from, add, len}
      
      The order satisfies the following ordering constraints:
      
                  [fst(0(), Z)] =  [1] Z + [0]          
                                >= [0]                  
                                =  [nil()]              
                                                        
        [fst(s(X), cons(Y, Z))] =  [1] Z + [1] X + [9]  
                                >  [1] Z + [1] X + [5]  
                                =  [cons(Y, fst(X, Z))] 
                                                        
                      [from(X)] =  [0]                  
                                ?  [5]                  
                                =  [cons(X, from(s(X)))]
                                                        
                  [add(0(), X)] =  [1] X + [0]          
                                >= [1] X + [0]          
                                =  [X]                  
                                                        
                 [add(s(X), Y)] =  [1] Y + [0]          
                                ?  [1] Y + [4]          
                                =  [s(add(X, Y))]       
                                                        
                   [len(nil())] =  [4]                  
                                >  [0]                  
                                =  [0()]                
                                                        
              [len(cons(X, Z))] =  [1] Z + [9]          
                                >  [1] Z + [8]          
                                =  [s(len(Z))]          
                                                        
      
      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 MAYBE.
      
      Strict Trs:
        { from(X) -> cons(X, from(s(X)))
        , add(s(X), Y) -> s(add(X, Y)) }
      Weak Trs:
        { fst(0(), Z) -> nil()
        , fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
        , add(0(), X) -> X
        , len(nil()) -> 0()
        , len(cons(X, Z)) -> s(len(Z)) }
      Obligation:
        runtime complexity
      Answer:
        MAYBE
      
      None of the processors succeeded.
      
      Details of failed attempt(s):
      -----------------------------
      1) 'empty' failed due to the following reason:
         
         Empty strict component of the problem is NOT empty.
      
      2) 'WithProblem' failed due to the following reason:
         
         None of the processors succeeded.
         
         Details of failed attempt(s):
         -----------------------------
         1) 'empty' failed due to the following reason:
            
            Empty strict component of the problem is NOT empty.
         
         2) 'Fastest' failed due to the following reason:
            
            None of the processors succeeded.
            
            Details of failed attempt(s):
            -----------------------------
            1) 'WithProblem' failed due to the following reason:
               
               None of the processors succeeded.
               
               Details of failed attempt(s):
               -----------------------------
               1) 'empty' failed due to the following reason:
                  
                  Empty strict component of the problem is NOT empty.
               
               2) 'WithProblem' failed due to the following reason:
                  
                  The weightgap principle applies (using the following nonconstant
                  growth matrix-interpretation)
                  
                  The following argument positions are usable:
                    Uargs(s) = {1}, Uargs(cons) = {2}
                  
                  TcT has computed the following matrix interpretation satisfying
                  not(EDA) and not(IDA(1)).
                  
                     [fst](x1, x2) = [0 1] x2 + [0]           
                                     [0 1]      [0]           
                                                              
                               [0] = [0]                      
                                     [0]                      
                                                              
                             [nil] = [0]                      
                                     [0]                      
                                                              
                           [s](x1) = [1 0] x1 + [0]           
                                     [0 1]      [1]           
                                                              
                    [cons](x1, x2) = [1 0] x2 + [0]           
                                     [0 1]      [1]           
                                                              
                        [from](x1) = [0]                      
                                     [0]                      
                                                              
                     [add](x1, x2) = [0 4] x1 + [1 0] x2 + [0]
                                     [0 1]      [0 1]      [0]
                                                              
                         [len](x1) = [0 1] x1 + [0]           
                                     [0 1]      [0]           
                  
                  The following symbols are considered usable
                  
                    {fst, from, add, len}
                  
                  The order satisfies the following ordering constraints:
                  
                              [fst(0(), Z)] =  [0 1] Z + [0]          
                                               [0 1]     [0]          
                                            >= [0]                    
                                               [0]                    
                                            =  [nil()]                
                                                                      
                    [fst(s(X), cons(Y, Z))] =  [0 1] Z + [1]          
                                               [0 1]     [1]          
                                            >  [0 1] Z + [0]          
                                               [0 1]     [1]          
                                            =  [cons(Y, fst(X, Z))]   
                                                                      
                                  [from(X)] =  [0]                    
                                               [0]                    
                                            ?  [0]                    
                                               [1]                    
                                            =  [cons(X, from(s(X)))]  
                                                                      
                              [add(0(), X)] =  [1 0] X + [0]          
                                               [0 1]     [0]          
                                            >= [1 0] X + [0]          
                                               [0 1]     [0]          
                                            =  [X]                    
                                                                      
                             [add(s(X), Y)] =  [0 4] X + [1 0] Y + [4]
                                               [0 1]     [0 1]     [1]
                                            >  [0 4] X + [1 0] Y + [0]
                                               [0 1]     [0 1]     [1]
                                            =  [s(add(X, Y))]         
                                                                      
                               [len(nil())] =  [0]                    
                                               [0]                    
                                            >= [0]                    
                                               [0]                    
                                            =  [0()]                  
                                                                      
                          [len(cons(X, Z))] =  [0 1] Z + [1]          
                                               [0 1]     [1]          
                                            >  [0 1] Z + [0]          
                                               [0 1]     [1]          
                                            =  [s(len(Z))]            
                                                                      
                  
                  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 MAYBE.
                  
                  Strict Trs: { from(X) -> cons(X, from(s(X))) }
                  Weak Trs:
                    { fst(0(), Z) -> nil()
                    , fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
                    , add(0(), X) -> X
                    , add(s(X), Y) -> s(add(X, Y))
                    , len(nil()) -> 0()
                    , len(cons(X, Z)) -> s(len(Z)) }
                  Obligation:
                    runtime complexity
                  Answer:
                    MAYBE
                  
                  None of the processors succeeded.
                  
                  Details of failed attempt(s):
                  -----------------------------
                  1) 'empty' failed due to the following reason:
                     
                     Empty strict component of the problem is NOT empty.
                  
                  2) 'WithProblem' failed due to the following reason:
                     
                     None of the processors succeeded.
                     
                     Details of failed attempt(s):
                     -----------------------------
                     1) 'empty' failed due to the following reason:
                        
                        Empty strict component of the problem is NOT empty.
                     
                     2) 'WithProblem' failed due to the following reason:
                        
                        Empty strict component of the problem is NOT empty.
                     
                  
               
            
            2) 'WithProblem' failed due to the following reason:
               
               None of the processors succeeded.
               
               Details of failed attempt(s):
               -----------------------------
               1) 'empty' failed due to the following reason:
                  
                  Empty strict component of the problem is NOT empty.
               
               2) 'WithProblem' failed due to the following reason:
                  
                  Empty strict component of the problem is NOT empty.
               
            
         
      
   
   2) 'Best' failed due to the following reason:
      
      None of the processors succeeded.
      
      Details of failed attempt(s):
      -----------------------------
      1) 'bsearch-popstar (timeout of 60 seconds)' failed due to the
         following reason:
         
         The processor is inapplicable, reason:
           Processor only applicable for innermost runtime complexity analysis
      
      2) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due
         to the following reason:
         
         The processor is inapplicable, reason:
           Processor only applicable for innermost runtime complexity analysis
      
   
   3) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed
      due to the following reason:
      
      None of the processors succeeded.
      
      Details of failed attempt(s):
      -----------------------------
      1) 'Bounds with perSymbol-enrichment and initial automaton 'match''
         failed due to the following reason:
         
         match-boundness of the problem could not be verified.
      
      2) 'Bounds with minimal-enrichment and initial automaton 'match''
         failed due to the following reason:
         
         match-boundness of the problem could not be verified.
      
   

3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed
   due to the following reason:
   
   We add the following weak dependency pairs:
   
   Strict DPs:
     { fst^#(0(), Z) -> c_1()
     , fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(nil()) -> c_6()
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   
   and mark the set of starting terms.
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { fst^#(0(), Z) -> c_1()
     , fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(nil()) -> c_6()
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   Strict Trs:
     { fst(0(), Z) -> nil()
     , fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
     , from(X) -> cons(X, from(s(X)))
     , add(0(), X) -> X
     , add(s(X), Y) -> s(add(X, Y))
     , len(nil()) -> 0()
     , len(cons(X, Z)) -> s(len(Z)) }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   We estimate the number of application of {1,6} by applications of
   Pre({1,6}) = {2,3,4,7}. Here rules are labeled as follows:
   
     DPs:
       { 1: fst^#(0(), Z) -> c_1()
       , 2: fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
       , 3: from^#(X) -> c_3(X, from^#(s(X)))
       , 4: add^#(0(), X) -> c_4(X)
       , 5: add^#(s(X), Y) -> c_5(add^#(X, Y))
       , 6: len^#(nil()) -> c_6()
       , 7: len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { fst^#(s(X), cons(Y, Z)) -> c_2(Y, fst^#(X, Z))
     , from^#(X) -> c_3(X, from^#(s(X)))
     , add^#(0(), X) -> c_4(X)
     , add^#(s(X), Y) -> c_5(add^#(X, Y))
     , len^#(cons(X, Z)) -> c_7(len^#(Z)) }
   Strict Trs:
     { fst(0(), Z) -> nil()
     , fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
     , from(X) -> cons(X, from(s(X)))
     , add(0(), X) -> X
     , add(s(X), Y) -> s(add(X, Y))
     , len(nil()) -> 0()
     , len(cons(X, Z)) -> s(len(Z)) }
   Weak DPs:
     { fst^#(0(), Z) -> c_1()
     , len^#(nil()) -> c_6() }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   Empty strict component of the problem is NOT empty.


Arrrr..