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