WORST_CASE(?,O(n^1))
* Step 1: NaturalPI WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            addlist(Cons(x,xs'),Cons(S(0()),xs)) -> Cons(S(x),addlist(xs',xs))
            addlist(Cons(S(0()),xs'),Cons(x,xs)) -> Cons(S(x),addlist(xs',xs))
            addlist(Nil(),ys) -> Nil()
            goal(xs,ys) -> addlist(xs,ys)
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
        - Signature:
            {addlist/2,goal/2,notEmpty/1} / {0/0,Cons/2,False/0,Nil/0,S/1,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {addlist,goal,notEmpty} and constructors {0,Cons,False,Nil
            ,S,True}
    + Applied Processor:
        NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
    + Details:
        We apply a polynomial interpretation of kind constructor-based(linear):
        The following argument positions are considered usable:
          uargs(Cons) = {2}
        
        Following symbols are considered usable:
          {addlist,goal,notEmpty}
        TcT has computed the following interpretation:
                 p(0) = 3               
              p(Cons) = x1 + x2         
             p(False) = 6               
               p(Nil) = 2               
                 p(S) = 1 + x1          
              p(True) = 8               
           p(addlist) = 9 + 4*x1 + 4*x2 
              p(goal) = 10 + 6*x1 + 5*x2
          p(notEmpty) = 8               
        
        Following rules are strictly oriented:
        addlist(Cons(x,xs'),Cons(S(0()),xs)) = 25 + 4*x + 4*xs + 4*xs'   
                                             > 10 + x + 4*xs + 4*xs'     
                                             = Cons(S(x),addlist(xs',xs))
        
        addlist(Cons(S(0()),xs'),Cons(x,xs)) = 25 + 4*x + 4*xs + 4*xs'   
                                             > 10 + x + 4*xs + 4*xs'     
                                             = Cons(S(x),addlist(xs',xs))
        
                           addlist(Nil(),ys) = 17 + 4*ys                 
                                             > 2                         
                                             = Nil()                     
        
                                 goal(xs,ys) = 10 + 6*xs + 5*ys          
                                             > 9 + 4*xs + 4*ys           
                                             = addlist(xs,ys)            
        
                             notEmpty(Nil()) = 8                         
                                             > 6                         
                                             = False()                   
        
        
        Following rules are (at-least) weakly oriented:
        notEmpty(Cons(x,xs)) =  8     
                             >= 8     
                             =  True()
        
* Step 2: NaturalMI WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            notEmpty(Cons(x,xs)) -> True()
        - Weak TRS:
            addlist(Cons(x,xs'),Cons(S(0()),xs)) -> Cons(S(x),addlist(xs',xs))
            addlist(Cons(S(0()),xs'),Cons(x,xs)) -> Cons(S(x),addlist(xs',xs))
            addlist(Nil(),ys) -> Nil()
            goal(xs,ys) -> addlist(xs,ys)
            notEmpty(Nil()) -> False()
        - Signature:
            {addlist/2,goal/2,notEmpty/1} / {0/0,Cons/2,False/0,Nil/0,S/1,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {addlist,goal,notEmpty} and constructors {0,Cons,False,Nil
            ,S,True}
    + Applied Processor:
        NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules}
    + Details:
        We apply a matrix interpretation of kind constructor based matrix interpretation:
        The following argument positions are considered usable:
          uargs(Cons) = {2}
        
        Following symbols are considered usable:
          {addlist,goal,notEmpty}
        TcT has computed the following interpretation:
                 p(0) = [0]         
              p(Cons) = [1] x2 + [0]
             p(False) = [3]         
               p(Nil) = [0]         
                 p(S) = [1] x1 + [0]
              p(True) = [2]         
           p(addlist) = [0]         
              p(goal) = [0]         
          p(notEmpty) = [3]         
        
        Following rules are strictly oriented:
        notEmpty(Cons(x,xs)) = [3]   
                             > [2]   
                             = True()
        
        
        Following rules are (at-least) weakly oriented:
        addlist(Cons(x,xs'),Cons(S(0()),xs)) =  [0]                       
                                             >= [0]                       
                                             =  Cons(S(x),addlist(xs',xs))
        
        addlist(Cons(S(0()),xs'),Cons(x,xs)) =  [0]                       
                                             >= [0]                       
                                             =  Cons(S(x),addlist(xs',xs))
        
                           addlist(Nil(),ys) =  [0]                       
                                             >= [0]                       
                                             =  Nil()                     
        
                                 goal(xs,ys) =  [0]                       
                                             >= [0]                       
                                             =  addlist(xs,ys)            
        
                             notEmpty(Nil()) =  [3]                       
                                             >= [3]                       
                                             =  False()                   
        
* Step 3: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            addlist(Cons(x,xs'),Cons(S(0()),xs)) -> Cons(S(x),addlist(xs',xs))
            addlist(Cons(S(0()),xs'),Cons(x,xs)) -> Cons(S(x),addlist(xs',xs))
            addlist(Nil(),ys) -> Nil()
            goal(xs,ys) -> addlist(xs,ys)
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
        - Signature:
            {addlist/2,goal/2,notEmpty/1} / {0/0,Cons/2,False/0,Nil/0,S/1,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {addlist,goal,notEmpty} and constructors {0,Cons,False,Nil
            ,S,True}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^1))