*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        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 DP Rules:
        
      Weak TRS Rules:
        !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
        basic terms: {!EQ,goal,member,member[Ite][True][Ite],notEmpty}/{0,Cons,False,Nil,S,True}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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:
          {}
        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() =  [1] x + [1] xs + [3]              
                                       ,x'                                      
                              ,Cons(x,xs))                                      
                                           >= [1] xs + [3]                      
                                           =  member(x',xs)                     
        
             member[Ite][True][Ite](True() =  [1] xs + [0]                      
                                        ,x                                      
                                      ,xs)                                      
                                           >= [0]                               
                                           =  True()                            
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        goal(x,xs) -> member(x,xs)
        member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
      Weak DP Rules:
        
      Weak TRS Rules:
        !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
        basic terms: {!EQ,goal,member,member[Ite][True][Ite],notEmpty}/{0,Cons,False,Nil,S,True}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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:
          {}
        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() =  [4] x' + [2] xs + [21]            
                                       ,x'                                      
                              ,Cons(x,xs))                                      
                                           >= [4] x' + [2] xs + [2]             
                                           =  member(x',xs)                     
        
             member[Ite][True][Ite](True() =  [4] x + [2] xs + [11]             
                                        ,x                                      
                                      ,xs)                                      
                                           >= [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.
*** 1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x',x),x',Cons(x,xs))
      Weak DP Rules:
        
      Weak TRS Rules:
        !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
        basic terms: {!EQ,goal,member,member[Ite][True][Ite],notEmpty}/{0,Cons,False,Nil,S,True}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      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 + [5]         
                         p(False) = [0]                  
                           p(Nil) = [4]                  
                             p(S) = [0]                  
                          p(True) = [0]                  
                          p(goal) = [4] x2 + [8]         
                        p(member) = [4] x2 + [2]         
        p(member[Ite][True][Ite]) = [2] x1 + [4] x3 + [0]
                      p(notEmpty) = [4] x1 + [1]         
      
      Following rules are strictly oriented:
      member(x',Cons(x,xs)) = [4] xs + [22]                     
                            > [4] xs + [20]                     
                            = 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) =  [4] xs + [8] 
                                         >= [4] xs + [2] 
                                         =  member(x,xs) 
      
                         member(x,Nil()) =  [18]         
                                         >= [0]          
                                         =  False()      
      
          member[Ite][True][Ite](False() =  [4] xs + [20]
                                     ,x'                 
                            ,Cons(x,xs))                 
                                         >= [4] xs + [2] 
                                         =  member(x',xs)
      
           member[Ite][True][Ite](True() =  [4] xs + [0] 
                                      ,x                 
                                    ,xs)                 
                                         >= [0]          
                                         =  True()       
      
                    notEmpty(Cons(x,xs)) =  [4] xs + [21]
                                         >= [0]          
                                         =  True()       
      
                         notEmpty(Nil()) =  [17]         
                                         >= [0]          
                                         =  False()      
      
*** 1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        !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
        basic terms: {!EQ,goal,member,member[Ite][True][Ite],notEmpty}/{0,Cons,False,Nil,S,True}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).