WORST_CASE(?,O(n^1))
* Step 1: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            goal(x,xs) -> member(x,xs)
            member(x,Nil()) -> False()
            member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
        - Weak TRS:
            !EQ(0(),0()) -> True()
            !EQ(0(),S(y)) -> False()
            !EQ(S(x),0()) -> False()
            !EQ(S(x),S(y)) -> !EQ(x,y)
            member[Ite][True][Ite](False(),x',Cons(x,xs)) -> member(x',xs)
            member[Ite][True][Ite](True(),x,xs) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1} / {0/0,Cons/2,False/0,Nil/0,S/1,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {!EQ,goal,member,member[Ite][True][Ite]
            ,notEmpty} and constructors {0,Cons,False,Nil,S,True}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(member[Ite][True][Ite]) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                               p(!EQ) = [3]                  
                                 p(0) = [0]                  
                              p(Cons) = [1] x1 + [1] x2 + [0]
                             p(False) = [3]                  
                               p(Nil) = [13]                 
                                 p(S) = [1] x1 + [0]         
                              p(True) = [0]                  
                              p(goal) = [1] x2 + [0]         
                            p(member) = [1] x2 + [3]         
            p(member[Ite][True][Ite]) = [1] x1 + [1] x3 + [0]
                          p(notEmpty) = [5]                  
          
          Following rules are strictly oriented:
               member(x,Nil()) = [16]   
                               > [3]    
                               = False()
          
          notEmpty(Cons(x,xs)) = [5]    
                               > [0]    
                               = True() 
          
               notEmpty(Nil()) = [5]    
                               > [3]    
                               = False()
          
          
          Following rules are (at-least) weakly oriented:
                                           !EQ(0(),0()) =  [3]                                            
                                                        >= [0]                                            
                                                        =  True()                                         
          
                                          !EQ(0(),S(y)) =  [3]                                            
                                                        >= [3]                                            
                                                        =  False()                                        
          
                                          !EQ(S(x),0()) =  [3]                                            
                                                        >= [3]                                            
                                                        =  False()                                        
          
                                         !EQ(S(x),S(y)) =  [3]                                            
                                                        >= [3]                                            
                                                        =  !EQ(x,y)                                       
          
                                             goal(x,xs) =  [1] xs + [0]                                   
                                                        >= [1] xs + [3]                                   
                                                        =  member(x,xs)                                   
          
                                  member(x',Cons(x,xs)) =  [1] x + [1] xs + [3]                           
                                                        >= [1] x + [1] xs + [3]                           
                                                        =  member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
          
          member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [1] x + [1] xs + [3]                           
                                                        >= [1] xs + [3]                                   
                                                        =  member(x',xs)                                  
          
                    member[Ite][True][Ite](True(),x,xs) =  [1] xs + [0]                                   
                                                        >= [0]                                            
                                                        =  True()                                         
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 2: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            goal(x,xs) -> member(x,xs)
            member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
        - Weak TRS:
            !EQ(0(),0()) -> True()
            !EQ(0(),S(y)) -> False()
            !EQ(S(x),0()) -> False()
            !EQ(S(x),S(y)) -> !EQ(x,y)
            member(x,Nil()) -> False()
            member[Ite][True][Ite](False(),x',Cons(x,xs)) -> member(x',xs)
            member[Ite][True][Ite](True(),x,xs) -> True()
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1} / {0/0,Cons/2,False/0,Nil/0,S/1,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {!EQ,goal,member,member[Ite][True][Ite]
            ,notEmpty} and constructors {0,Cons,False,Nil,S,True}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(member[Ite][True][Ite]) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                               p(!EQ) = [6]                           
                                 p(0) = [2]                           
                              p(Cons) = [1] x2 + [8]                  
                             p(False) = [0]                           
                               p(Nil) = [0]                           
                                 p(S) = [0]                           
                              p(True) = [6]                           
                              p(goal) = [4] x1 + [2] x2 + [4]         
                            p(member) = [4] x1 + [2] x2 + [2]         
            p(member[Ite][True][Ite]) = [1] x1 + [4] x2 + [2] x3 + [5]
                          p(notEmpty) = [2] x1 + [1]                  
          
          Following rules are strictly oriented:
          goal(x,xs) = [4] x + [2] xs + [4]
                     > [4] x + [2] xs + [2]
                     = member(x,xs)        
          
          
          Following rules are (at-least) weakly oriented:
                                           !EQ(0(),0()) =  [6]                                            
                                                        >= [6]                                            
                                                        =  True()                                         
          
                                          !EQ(0(),S(y)) =  [6]                                            
                                                        >= [0]                                            
                                                        =  False()                                        
          
                                          !EQ(S(x),0()) =  [6]                                            
                                                        >= [0]                                            
                                                        =  False()                                        
          
                                         !EQ(S(x),S(y)) =  [6]                                            
                                                        >= [6]                                            
                                                        =  !EQ(x,y)                                       
          
                                        member(x,Nil()) =  [4] x + [2]                                    
                                                        >= [0]                                            
                                                        =  False()                                        
          
                                  member(x',Cons(x,xs)) =  [4] x' + [2] xs + [18]                         
                                                        >= [4] x' + [2] xs + [27]                         
                                                        =  member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
          
          member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [4] x' + [2] xs + [21]                         
                                                        >= [4] x' + [2] xs + [2]                          
                                                        =  member(x',xs)                                  
          
                    member[Ite][True][Ite](True(),x,xs) =  [4] x + [2] xs + [11]                          
                                                        >= [6]                                            
                                                        =  True()                                         
          
                                   notEmpty(Cons(x,xs)) =  [2] xs + [17]                                  
                                                        >= [6]                                            
                                                        =  True()                                         
          
                                        notEmpty(Nil()) =  [1]                                            
                                                        >= [0]                                            
                                                        =  False()                                        
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: NaturalMI WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
        - Weak TRS:
            !EQ(0(),0()) -> True()
            !EQ(0(),S(y)) -> False()
            !EQ(S(x),0()) -> False()
            !EQ(S(x),S(y)) -> !EQ(x,y)
            goal(x,xs) -> member(x,xs)
            member(x,Nil()) -> False()
            member[Ite][True][Ite](False(),x',Cons(x,xs)) -> member(x',xs)
            member[Ite][True][Ite](True(),x,xs) -> True()
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1} / {0/0,Cons/2,False/0,Nil/0,S/1,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {!EQ,goal,member,member[Ite][True][Ite]
            ,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(member[Ite][True][Ite]) = {1}
        
        Following symbols are considered usable:
          {!EQ,goal,member,member[Ite][True][Ite],notEmpty}
        TcT has computed the following interpretation:
                             p(!EQ) = [0]                   
                               p(0) = [0]                   
                            p(Cons) = [1] x2 + [12]         
                           p(False) = [0]                   
                             p(Nil) = [5]                   
                               p(S) = [0]                   
                            p(True) = [0]                   
                            p(goal) = [1] x1 + [1] x2 + [12]
                          p(member) = [1] x2 + [12]         
          p(member[Ite][True][Ite]) = [2] x1 + [1] x3 + [0] 
                        p(notEmpty) = [4]                   
        
        Following rules are strictly oriented:
        member(x',Cons(x,xs)) = [1] xs + [24]                                  
                              > [1] xs + [12]                                  
                              = member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
        
        
        Following rules are (at-least) weakly oriented:
                                         !EQ(0(),0()) =  [0]                  
                                                      >= [0]                  
                                                      =  True()               
        
                                        !EQ(0(),S(y)) =  [0]                  
                                                      >= [0]                  
                                                      =  False()              
        
                                        !EQ(S(x),0()) =  [0]                  
                                                      >= [0]                  
                                                      =  False()              
        
                                       !EQ(S(x),S(y)) =  [0]                  
                                                      >= [0]                  
                                                      =  !EQ(x,y)             
        
                                           goal(x,xs) =  [1] x + [1] xs + [12]
                                                      >= [1] xs + [12]        
                                                      =  member(x,xs)         
        
                                      member(x,Nil()) =  [17]                 
                                                      >= [0]                  
                                                      =  False()              
        
        member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [1] xs + [12]        
                                                      >= [1] xs + [12]        
                                                      =  member(x',xs)        
        
                  member[Ite][True][Ite](True(),x,xs) =  [1] xs + [0]         
                                                      >= [0]                  
                                                      =  True()               
        
                                 notEmpty(Cons(x,xs)) =  [4]                  
                                                      >= [0]                  
                                                      =  True()               
        
                                      notEmpty(Nil()) =  [4]                  
                                                      >= [0]                  
                                                      =  False()              
        
* Step 4: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            !EQ(0(),0()) -> True()
            !EQ(0(),S(y)) -> False()
            !EQ(S(x),0()) -> False()
            !EQ(S(x),S(y)) -> !EQ(x,y)
            goal(x,xs) -> member(x,xs)
            member(x,Nil()) -> False()
            member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
            member[Ite][True][Ite](False(),x',Cons(x,xs)) -> member(x',xs)
            member[Ite][True][Ite](True(),x,xs) -> True()
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1} / {0/0,Cons/2,False/0,Nil/0,S/1,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {!EQ,goal,member,member[Ite][True][Ite]
            ,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))