* Step 1: Sum WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            goal(xs,ys) -> overlap(xs,ys)
            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()
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
            overlap(Nil(),ys) -> 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()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} and constructors {0,Cons,False,Nil,S,True}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
* Step 2: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            goal(xs,ys) -> overlap(xs,ys)
            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()
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
            overlap(Nil(),ys) -> 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()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} 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},
            uargs(overlap[Ite][True][Ite]) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                                p(!EQ) = [0]                  
                                  p(0) = [0]                  
                               p(Cons) = [1] x1 + [1] x2 + [0]
                              p(False) = [0]                  
                                p(Nil) = [0]                  
                                  p(S) = [1] x1 + [0]         
                               p(True) = [0]                  
                               p(goal) = [4] x1 + [0]         
                             p(member) = [0]                  
             p(member[Ite][True][Ite]) = [1] x1 + [0]         
                           p(notEmpty) = [0]                  
                            p(overlap) = [4] x1 + [7]         
            p(overlap[Ite][True][Ite]) = [1] x1 + [4] x2 + [7]
          
          Following rules are strictly oriented:
          overlap(Nil(),ys) = [7]    
                            > [0]    
                            = False()
          
          
          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(xs,ys) =  [4] xs + [0]                                       
                                                         >= [4] xs + [7]                                       
                                                         =  overlap(xs,ys)                                     
          
                                         member(x,Nil()) =  [0]                                                
                                                         >= [0]                                                
                                                         =  False()                                            
          
                                   member(x',Cons(x,xs)) =  [0]                                                
                                                         >= [0]                                                
                                                         =  member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))    
          
           member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [0]                                                
                                                         >= [0]                                                
                                                         =  member(x',xs)                                      
          
                     member[Ite][True][Ite](True(),x,xs) =  [0]                                                
                                                         >= [0]                                                
                                                         =  True()                                             
          
                                    notEmpty(Cons(x,xs)) =  [0]                                                
                                                         >= [0]                                                
                                                         =  True()                                             
          
                                         notEmpty(Nil()) =  [0]                                                
                                                         >= [0]                                                
                                                         =  False()                                            
          
                                  overlap(Cons(x,xs),ys) =  [4] x + [4] xs + [7]                               
                                                         >= [4] x + [4] xs + [7]                               
                                                         =  overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
          
          overlap[Ite][True][Ite](False(),Cons(x,xs),ys) =  [4] x + [4] xs + [7]                               
                                                         >= [4] xs + [7]                                       
                                                         =  overlap(xs,ys)                                     
          
                   overlap[Ite][True][Ite](True(),xs,ys) =  [4] xs + [7]                                       
                                                         >= [0]                                                
                                                         =  True()                                             
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            goal(xs,ys) -> overlap(xs,ys)
            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()
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
        - 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()
            overlap(Nil(),ys) -> False()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} 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},
            uargs(overlap[Ite][True][Ite]) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                                p(!EQ) = [0]                  
                                  p(0) = [0]                  
                               p(Cons) = [4]                  
                              p(False) = [0]                  
                                p(Nil) = [0]                  
                                  p(S) = [0]                  
                               p(True) = [0]                  
                               p(goal) = [4] x1 + [5]         
                             p(member) = [0]                  
             p(member[Ite][True][Ite]) = [1] x1 + [1] x3 + [0]
                           p(notEmpty) = [0]                  
                            p(overlap) = [3]                  
            p(overlap[Ite][True][Ite]) = [1] x1 + [1] x2 + [0]
          
          Following rules are strictly oriented:
          goal(xs,ys) = [4] xs + [5]  
                      > [3]           
                      = overlap(xs,ys)
          
          
          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)                                           
          
                                         member(x,Nil()) =  [0]                                                
                                                         >= [0]                                                
                                                         =  False()                                            
          
                                   member(x',Cons(x,xs)) =  [0]                                                
                                                         >= [4]                                                
                                                         =  member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))    
          
           member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [4]                                                
                                                         >= [0]                                                
                                                         =  member(x',xs)                                      
          
                     member[Ite][True][Ite](True(),x,xs) =  [1] xs + [0]                                       
                                                         >= [0]                                                
                                                         =  True()                                             
          
                                    notEmpty(Cons(x,xs)) =  [0]                                                
                                                         >= [0]                                                
                                                         =  True()                                             
          
                                         notEmpty(Nil()) =  [0]                                                
                                                         >= [0]                                                
                                                         =  False()                                            
          
                                  overlap(Cons(x,xs),ys) =  [3]                                                
                                                         >= [4]                                                
                                                         =  overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
          
                                       overlap(Nil(),ys) =  [3]                                                
                                                         >= [0]                                                
                                                         =  False()                                            
          
          overlap[Ite][True][Ite](False(),Cons(x,xs),ys) =  [4]                                                
                                                         >= [3]                                                
                                                         =  overlap(xs,ys)                                     
          
                   overlap[Ite][True][Ite](True(),xs,ys) =  [1] xs + [0]                                       
                                                         >= [0]                                                
                                                         =  True()                                             
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 4: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            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()
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
        - 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(xs,ys) -> overlap(xs,ys)
            member[Ite][True][Ite](False(),x',Cons(x,xs)) -> member(x',xs)
            member[Ite][True][Ite](True(),x,xs) -> True()
            overlap(Nil(),ys) -> False()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} 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},
            uargs(overlap[Ite][True][Ite]) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                                p(!EQ) = [2]                  
                                  p(0) = [0]                  
                               p(Cons) = [1] x1 + [1] x2 + [0]
                              p(False) = [1]                  
                                p(Nil) = [0]                  
                                  p(S) = [1] x1 + [0]         
                               p(True) = [2]                  
                               p(goal) = [6] x2 + [5]         
                             p(member) = [0]                  
             p(member[Ite][True][Ite]) = [1] x1 + [0]         
                           p(notEmpty) = [3]                  
                            p(overlap) = [6] x2 + [2]         
            p(overlap[Ite][True][Ite]) = [1] x1 + [6] x3 + [4]
          
          Following rules are strictly oriented:
          notEmpty(Cons(x,xs)) = [3]    
                               > [2]    
                               = True() 
          
               notEmpty(Nil()) = [3]    
                               > [1]    
                               = False()
          
          
          Following rules are (at-least) weakly oriented:
                                            !EQ(0(),0()) =  [2]                                                
                                                         >= [2]                                                
                                                         =  True()                                             
          
                                           !EQ(0(),S(y)) =  [2]                                                
                                                         >= [1]                                                
                                                         =  False()                                            
          
                                           !EQ(S(x),0()) =  [2]                                                
                                                         >= [1]                                                
                                                         =  False()                                            
          
                                          !EQ(S(x),S(y)) =  [2]                                                
                                                         >= [2]                                                
                                                         =  !EQ(x,y)                                           
          
                                             goal(xs,ys) =  [6] ys + [5]                                       
                                                         >= [6] ys + [2]                                       
                                                         =  overlap(xs,ys)                                     
          
                                         member(x,Nil()) =  [0]                                                
                                                         >= [1]                                                
                                                         =  False()                                            
          
                                   member(x',Cons(x,xs)) =  [0]                                                
                                                         >= [2]                                                
                                                         =  member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))    
          
           member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [1]                                                
                                                         >= [0]                                                
                                                         =  member(x',xs)                                      
          
                     member[Ite][True][Ite](True(),x,xs) =  [2]                                                
                                                         >= [2]                                                
                                                         =  True()                                             
          
                                  overlap(Cons(x,xs),ys) =  [6] ys + [2]                                       
                                                         >= [6] ys + [4]                                       
                                                         =  overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
          
                                       overlap(Nil(),ys) =  [6] ys + [2]                                       
                                                         >= [1]                                                
                                                         =  False()                                            
          
          overlap[Ite][True][Ite](False(),Cons(x,xs),ys) =  [6] ys + [5]                                       
                                                         >= [6] ys + [2]                                       
                                                         =  overlap(xs,ys)                                     
          
                   overlap[Ite][True][Ite](True(),xs,ys) =  [6] ys + [6]                                       
                                                         >= [2]                                                
                                                         =  True()                                             
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 5: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            member(x,Nil()) -> False()
            member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
        - 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(xs,ys) -> overlap(xs,ys)
            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()
            overlap(Nil(),ys) -> False()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} 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},
            uargs(overlap[Ite][True][Ite]) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                                p(!EQ) = [1]                  
                                  p(0) = [0]                  
                               p(Cons) = [1]                  
                              p(False) = [1]                  
                                p(Nil) = [1]                  
                                  p(S) = [0]                  
                               p(True) = [1]                  
                               p(goal) = [1]                  
                             p(member) = [2]                  
             p(member[Ite][True][Ite]) = [1] x1 + [5]         
                           p(notEmpty) = [2]                  
                            p(overlap) = [1]                  
            p(overlap[Ite][True][Ite]) = [1] x1 + [2] x2 + [0]
          
          Following rules are strictly oriented:
          member(x,Nil()) = [2]    
                          > [1]    
                          = False()
          
          
          Following rules are (at-least) weakly oriented:
                                            !EQ(0(),0()) =  [1]                                                
                                                         >= [1]                                                
                                                         =  True()                                             
          
                                           !EQ(0(),S(y)) =  [1]                                                
                                                         >= [1]                                                
                                                         =  False()                                            
          
                                           !EQ(S(x),0()) =  [1]                                                
                                                         >= [1]                                                
                                                         =  False()                                            
          
                                          !EQ(S(x),S(y)) =  [1]                                                
                                                         >= [1]                                                
                                                         =  !EQ(x,y)                                           
          
                                             goal(xs,ys) =  [1]                                                
                                                         >= [1]                                                
                                                         =  overlap(xs,ys)                                     
          
                                   member(x',Cons(x,xs)) =  [2]                                                
                                                         >= [6]                                                
                                                         =  member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))    
          
           member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [6]                                                
                                                         >= [2]                                                
                                                         =  member(x',xs)                                      
          
                     member[Ite][True][Ite](True(),x,xs) =  [6]                                                
                                                         >= [1]                                                
                                                         =  True()                                             
          
                                    notEmpty(Cons(x,xs)) =  [2]                                                
                                                         >= [1]                                                
                                                         =  True()                                             
          
                                         notEmpty(Nil()) =  [2]                                                
                                                         >= [1]                                                
                                                         =  False()                                            
          
                                  overlap(Cons(x,xs),ys) =  [1]                                                
                                                         >= [4]                                                
                                                         =  overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
          
                                       overlap(Nil(),ys) =  [1]                                                
                                                         >= [1]                                                
                                                         =  False()                                            
          
          overlap[Ite][True][Ite](False(),Cons(x,xs),ys) =  [3]                                                
                                                         >= [1]                                                
                                                         =  overlap(xs,ys)                                     
          
                   overlap[Ite][True][Ite](True(),xs,ys) =  [2] xs + [1]                                       
                                                         >= [1]                                                
                                                         =  True()                                             
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 6: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            member(x',Cons(x,xs)) -> member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
        - 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(xs,ys) -> overlap(xs,ys)
            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()
            overlap(Nil(),ys) -> False()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} 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},
            uargs(overlap[Ite][True][Ite]) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                                p(!EQ) = [4]                  
                                  p(0) = [0]                  
                               p(Cons) = [1] x1 + [1] x2 + [2]
                              p(False) = [0]                  
                                p(Nil) = [1]                  
                                  p(S) = [1] x1 + [4]         
                               p(True) = [2]                  
                               p(goal) = [5] x1 + [1] x2 + [7]
                             p(member) = [0]                  
             p(member[Ite][True][Ite]) = [1] x1 + [0]         
                           p(notEmpty) = [5]                  
                            p(overlap) = [5] x1 + [5]         
            p(overlap[Ite][True][Ite]) = [1] x1 + [5] x2 + [4]
          
          Following rules are strictly oriented:
          overlap(Cons(x,xs),ys) = [5] x + [5] xs + [15]                              
                                 > [5] x + [5] xs + [14]                              
                                 = overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
          
          
          Following rules are (at-least) weakly oriented:
                                            !EQ(0(),0()) =  [4]                                            
                                                         >= [2]                                            
                                                         =  True()                                         
          
                                           !EQ(0(),S(y)) =  [4]                                            
                                                         >= [0]                                            
                                                         =  False()                                        
          
                                           !EQ(S(x),0()) =  [4]                                            
                                                         >= [0]                                            
                                                         =  False()                                        
          
                                          !EQ(S(x),S(y)) =  [4]                                            
                                                         >= [4]                                            
                                                         =  !EQ(x,y)                                       
          
                                             goal(xs,ys) =  [5] xs + [1] ys + [7]                          
                                                         >= [5] xs + [5]                                   
                                                         =  overlap(xs,ys)                                 
          
                                         member(x,Nil()) =  [0]                                            
                                                         >= [0]                                            
                                                         =  False()                                        
          
                                   member(x',Cons(x,xs)) =  [0]                                            
                                                         >= [4]                                            
                                                         =  member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))
          
           member[Ite][True][Ite](False(),x',Cons(x,xs)) =  [0]                                            
                                                         >= [0]                                            
                                                         =  member(x',xs)                                  
          
                     member[Ite][True][Ite](True(),x,xs) =  [2]                                            
                                                         >= [2]                                            
                                                         =  True()                                         
          
                                    notEmpty(Cons(x,xs)) =  [5]                                            
                                                         >= [2]                                            
                                                         =  True()                                         
          
                                         notEmpty(Nil()) =  [5]                                            
                                                         >= [0]                                            
                                                         =  False()                                        
          
                                       overlap(Nil(),ys) =  [10]                                           
                                                         >= [0]                                            
                                                         =  False()                                        
          
          overlap[Ite][True][Ite](False(),Cons(x,xs),ys) =  [5] x + [5] xs + [14]                          
                                                         >= [5] xs + [5]                                   
                                                         =  overlap(xs,ys)                                 
          
                   overlap[Ite][True][Ite](True(),xs,ys) =  [5] xs + [6]                                   
                                                         >= [2]                                            
                                                         =  True()                                         
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 7: NaturalPI WORST_CASE(?,O(n^2))
    + 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(xs,ys) -> overlap(xs,ys)
            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()
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
            overlap(Nil(),ys) -> False()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} and constructors {0,Cons,False,Nil,S,True}
    + Applied Processor:
        NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
    + Details:
        We apply a polynomial interpretation of kind constructor-based(mixed(2)):
        The following argument positions are considered usable:
          uargs(member[Ite][True][Ite]) = {1},
          uargs(overlap[Ite][True][Ite]) = {1}
        
        Following symbols are considered usable:
          {!EQ,goal,member,member[Ite][True][Ite],notEmpty,overlap,overlap[Ite][True][Ite]}
        TcT has computed the following interpretation:
                              p(!EQ) = 1                                           
                                p(0) = 0                                           
                             p(Cons) = 1 + x2                                      
                            p(False) = 0                                           
                              p(Nil) = 0                                           
                                p(S) = 0                                           
                             p(True) = 0                                           
                             p(goal) = 4 + 5*x1 + 6*x1*x2 + 5*x1^2 + 6*x2 + 2*x2^2 
                           p(member) = 2 + 2*x2                                    
           p(member[Ite][True][Ite]) = x1 + 2*x3                                   
                         p(notEmpty) = 7*x1^2                                      
                          p(overlap) = 1 + 4*x1 + 6*x1*x2 + 4*x1^2 + 6*x2 + 2*x2^2 
          p(overlap[Ite][True][Ite]) = x1 + 3*x2 + 6*x2*x3 + 4*x2^2 + 4*x3 + 2*x3^2
        
        Following rules are strictly oriented:
        member(x',Cons(x,xs)) = 4 + 2*xs                                       
                              > 3 + 2*xs                                       
                              = member[Ite][True][Ite](!EQ(x,x'),x',Cons(x,xs))
        
        
        Following rules are (at-least) weakly oriented:
                                          !EQ(0(),0()) =  1                                                  
                                                       >= 0                                                  
                                                       =  True()                                             
        
                                         !EQ(0(),S(y)) =  1                                                  
                                                       >= 0                                                  
                                                       =  False()                                            
        
                                         !EQ(S(x),0()) =  1                                                  
                                                       >= 0                                                  
                                                       =  False()                                            
        
                                        !EQ(S(x),S(y)) =  1                                                  
                                                       >= 1                                                  
                                                       =  !EQ(x,y)                                           
        
                                           goal(xs,ys) =  4 + 5*xs + 6*xs*ys + 5*xs^2 + 6*ys + 2*ys^2        
                                                       >= 1 + 4*xs + 6*xs*ys + 4*xs^2 + 6*ys + 2*ys^2        
                                                       =  overlap(xs,ys)                                     
        
                                       member(x,Nil()) =  2                                                  
                                                       >= 0                                                  
                                                       =  False()                                            
        
         member[Ite][True][Ite](False(),x',Cons(x,xs)) =  2 + 2*xs                                           
                                                       >= 2 + 2*xs                                           
                                                       =  member(x',xs)                                      
        
                   member[Ite][True][Ite](True(),x,xs) =  2*xs                                               
                                                       >= 0                                                  
                                                       =  True()                                             
        
                                  notEmpty(Cons(x,xs)) =  7 + 14*xs + 7*xs^2                                 
                                                       >= 0                                                  
                                                       =  True()                                             
        
                                       notEmpty(Nil()) =  0                                                  
                                                       >= 0                                                  
                                                       =  False()                                            
        
                                overlap(Cons(x,xs),ys) =  9 + 12*xs + 6*xs*ys + 4*xs^2 + 12*ys + 2*ys^2      
                                                       >= 9 + 11*xs + 6*xs*ys + 4*xs^2 + 12*ys + 2*ys^2      
                                                       =  overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
        
                                     overlap(Nil(),ys) =  1 + 6*ys + 2*ys^2                                  
                                                       >= 0                                                  
                                                       =  False()                                            
        
        overlap[Ite][True][Ite](False(),Cons(x,xs),ys) =  7 + 11*xs + 6*xs*ys + 4*xs^2 + 10*ys + 2*ys^2      
                                                       >= 1 + 4*xs + 6*xs*ys + 4*xs^2 + 6*ys + 2*ys^2        
                                                       =  overlap(xs,ys)                                     
        
                 overlap[Ite][True][Ite](True(),xs,ys) =  3*xs + 6*xs*ys + 4*xs^2 + 4*ys + 2*ys^2            
                                                       >= 0                                                  
                                                       =  True()                                             
        
* Step 8: 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(xs,ys) -> overlap(xs,ys)
            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()
            overlap(Cons(x,xs),ys) -> overlap[Ite][True][Ite](member(x,ys),Cons(x,xs),ys)
            overlap(Nil(),ys) -> False()
            overlap[Ite][True][Ite](False(),Cons(x,xs),ys) -> overlap(xs,ys)
            overlap[Ite][True][Ite](True(),xs,ys) -> True()
        - Signature:
            {!EQ/2,goal/2,member/2,member[Ite][True][Ite]/3,notEmpty/1,overlap/2,overlap[Ite][True][Ite]/3} / {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,overlap
            ,overlap[Ite][True][Ite]} 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^2))