* Step 1: Sum WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            goal(xs) -> ordered(xs)
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
            ordered(Cons(x,Nil())) -> True()
            ordered(Cons(x',Cons(x,xs))) -> ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
            ordered(Nil()) -> True()
        - Weak TRS:
            <(x,0()) -> False()
            <(0(),S(y)) -> True()
            <(S(x),S(y)) -> <(x,y)
            ordered[Ite](False(),xs) -> False()
            ordered[Ite](True(),Cons(x,xs)) -> ordered(xs)
        - Signature:
            { ordered(xs)
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
            ordered(Cons(x,Nil())) -> True()
            ordered(Cons(x',Cons(x,xs))) -> ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
            ordered(Nil()) -> True()
        - Weak TRS:
            <(x,0()) -> False()
            <(0(),S(y)) -> True()
            <(S(x),S(y)) -> <(x,y)
            ordered[Ite](False(),xs) -> False()
            ordered[Ite](True(),Cons(x,xs)) -> ordered(xs)
        - Signature:
            { [0]   
                                 = True()
          
          
          Following rules are (at-least) weakly oriented:
                                 <(x,0()) =  [0]                                      
                                          >= [0]                                      
                                          =  False()                                  
          
                              <(0(),S(y)) =  [0]                                      
                                          >= [0]                                      
                                          =  True()                                   
          
                             <(S(x),S(y)) =  [0]                                      
                                          >= [0]                                      
                                          =  <(x,y)                                   
          
                                 goal(xs) =  [2] xs + [0]                             
                                          >= [2] xs + [0]                             
                                          =  ordered(xs)                              
          
                     notEmpty(Cons(x,xs)) =  [0]                                      
                                          >= [0]                                      
                                          =  True()                                   
          
                          notEmpty(Nil()) =  [0]                                      
                                          >= [0]                                      
                                          =  False()                                  
          
             ordered(Cons(x',Cons(x,xs))) =  [2] xs + [16]                            
                                          >= [2] xs + [16]                            
                                          =  ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
          
                           ordered(Nil()) =  [0]                                      
                                          >= [0]                                      
                                          =  True()                                   
          
                 ordered[Ite](False(),xs) =  [2] xs + [0]                             
                                          >= [0]                                      
                                          =  False()                                  
          
          ordered[Ite](True(),Cons(x,xs)) =  [2] xs + [8]                             
                                          >= [2] xs + [0]                             
                                          =  ordered(xs)                              
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            goal(xs) -> ordered(xs)
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
            ordered(Cons(x',Cons(x,xs))) -> ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
            ordered(Nil()) -> True()
        - Weak TRS:
            <(x,0()) -> False()
            <(0(),S(y)) -> True()
            <(S(x),S(y)) -> <(x,y)
            ordered(Cons(x,Nil())) -> True()
            ordered[Ite](False(),xs) -> False()
            ordered[Ite](True(),Cons(x,xs)) -> ordered(xs)
        - Signature:
            { [2] xs + [3]
                          = ordered(xs) 
          
          notEmpty(Nil()) = [28]        
                          > [0]         
                          = False()     
          
           ordered(Nil()) = [9]         
                          > [5]         
                          = True()      
          
          
          Following rules are (at-least) weakly oriented:
                                 <(x,0()) =  [11]                                     
                                          >= [0]                                      
                                          =  False()                                  
          
                              <(0(),S(y)) =  [11]                                     
                                          >= [5]                                      
                                          =  True()                                   
          
                             <(S(x),S(y)) =  [11]                                     
                                          >= [11]                                     
                                          =  <(x,y)                                   
          
                     notEmpty(Cons(x,xs)) =  [8] x + [8] xs + [4]                     
                                          >= [5]                                      
                                          =  True()                                   
          
                   ordered(Cons(x,Nil())) =  [2] x + [9]                              
                                          >= [5]                                      
                                          =  True()                                   
          
             ordered(Cons(x',Cons(x,xs))) =  [2] x + [2] x' + [2] xs + [3]            
                                          >= [2] x + [2] x' + [2] xs + [12]           
                                          =  ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
          
                 ordered[Ite](False(),xs) =  [2] xs + [1]                             
                                          >= [0]                                      
                                          =  False()                                  
          
          ordered[Ite](True(),Cons(x,xs)) =  [2] x + [2] xs + [6]                     
                                          >= [2] xs + [3]                             
                                          =  ordered(xs)                              
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 4: MI WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            notEmpty(Cons(x,xs)) -> True()
            ordered(Cons(x',Cons(x,xs))) -> ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
        - Weak TRS:
            <(x,0()) -> False()
            <(0(),S(y)) -> True()
            <(S(x),S(y)) -> <(x,y)
            goal(xs) -> ordered(xs)
            notEmpty(Nil()) -> False()
            ordered(Cons(x,Nil())) -> True()
            ordered(Nil()) -> True()
            ordered[Ite](False(),xs) -> False()
            ordered[Ite](True(),Cons(x,xs)) -> ordered(xs)
        - Signature:
            { [4]   
                             = True()
        
        
        Following rules are (at-least) weakly oriented:
                               <(x,0()) =  [4]                                      
                                        >= [2]                                      
                                        =  False()                                  
        
                            <(0(),S(y)) =  [4]                                      
                                        >= [4]                                      
                                        =  True()                                   
        
                           <(S(x),S(y)) =  [4]                                      
                                        >= [4]                                      
                                        =  <(x,y)                                   
        
                               goal(xs) =  [8] xs + [8]                             
                                        >= [8]                                      
                                        =  ordered(xs)                              
        
                        notEmpty(Nil()) =  [10]                                     
                                        >= [2]                                      
                                        =  False()                                  
        
                 ordered(Cons(x,Nil())) =  [8]                                      
                                        >= [4]                                      
                                        =  True()                                   
        
           ordered(Cons(x',Cons(x,xs))) =  [8]                                      
                                        >= [8]                                      
                                        =  ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
        
                         ordered(Nil()) =  [8]                                      
                                        >= [4]                                      
                                        =  True()                                   
        
               ordered[Ite](False(),xs) =  [4]                                      
                                        >= [2]                                      
                                        =  False()                                  
        
        ordered[Ite](True(),Cons(x,xs)) =  [8]                                      
                                        >= [8]                                      
                                        =  ordered(xs)                              
        
* Step 5: MI WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            ordered(Cons(x',Cons(x,xs))) -> ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
        - Weak TRS:
            <(x,0()) -> False()
            <(0(),S(y)) -> True()
            <(S(x),S(y)) -> <(x,y)
            goal(xs) -> ordered(xs)
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
            ordered(Cons(x,Nil())) -> True()
            ordered(Nil()) -> True()
            ordered[Ite](False(),xs) -> False()
            ordered[Ite](True(),Cons(x,xs)) -> ordered(xs)
        - Signature:
            { [8] xs + [24]                            
                                     = ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
        
        
        Following rules are (at-least) weakly oriented:
                               <(x,0()) =  [1]           
                                        >= [0]           
                                        =  False()       
        
                            <(0(),S(y)) =  [1]           
                                        >= [0]           
                                        =  True()        
        
                           <(S(x),S(y)) =  [1]           
                                        >= [1]           
                                        =  <(x,y)        
        
                               goal(xs) =  [12] xs + [15]
                                        >= [8] xs + [15] 
                                        =  ordered(xs)   
        
                   notEmpty(Cons(x,xs)) =  [10] xs + [12]
                                        >= [0]           
                                        =  True()        
        
                        notEmpty(Nil()) =  [12]          
                                        >= [0]           
                                        =  False()       
        
                 ordered(Cons(x,Nil())) =  [31]          
                                        >= [0]           
                                        =  True()        
        
                         ordered(Nil()) =  [23]          
                                        >= [0]           
                                        =  True()        
        
               ordered[Ite](False(),xs) =  [8] xs + [7]  
                                        >= [0]           
                                        =  False()       
        
        ordered[Ite](True(),Cons(x,xs)) =  [8] xs + [15] 
                                        >= [8] xs + [15] 
                                        =  ordered(xs)   
        
* Step 6: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            <(x,0()) -> False()
            <(0(),S(y)) -> True()
            <(S(x),S(y)) -> <(x,y)
            goal(xs) -> ordered(xs)
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
            ordered(Cons(x,Nil())) -> True()
            ordered(Cons(x',Cons(x,xs))) -> ordered[Ite](<(x',x),Cons(x',Cons(x,xs)))
            ordered(Nil()) -> True()
            ordered[Ite](False(),xs) -> False()
            ordered[Ite](True(),Cons(x,xs)) -> ordered(xs)
        - Signature:
            {