* Step 1: Sum WORST_CASE(Omega(n^1),O(n^1))
    + Considered Problem:
        - Strict TRS:
            a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2)))
            a(Z(),y) -> Z()
            eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
            eqZList(C(x1,x2),Z()) -> False()
            eqZList(Z(),C(y1,y2)) -> False()
            eqZList(Z(),Z()) -> True()
            first(C(x1,x2)) -> x1
            second(C(x1,x2)) -> x2
        - Weak TRS:
            and(False(),False()) -> False()
            and(False(),True()) -> False()
            and(True(),False()) -> False()
            and(True(),True()) -> True()
        - Signature:
            {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False
            ,True,Z}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2)))
            a(Z(),y) -> Z()
            eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
            eqZList(C(x1,x2),Z()) -> False()
            eqZList(Z(),C(y1,y2)) -> False()
            eqZList(Z(),Z()) -> True()
            first(C(x1,x2)) -> x1
            second(C(x1,x2)) -> x2
        - Weak TRS:
            and(False(),False()) -> False()
            and(False(),True()) -> False()
            and(True(),False()) -> False()
            and(True(),True()) -> True()
        - Signature:
            {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False
            ,True,Z}
    + Applied Processor:
        DecreasingLoops {bound = AnyLoop, narrow = 10}
    + Details:
        The system has following decreasing Loops:
          a(x,z){x -> C(x,y)} =
            a(C(x,y),z) ->^+ C(a(x,z),a(y,C(x,y)))
              = C[a(x,z) = a(x,z){}]

** Step 1.b:1: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2)))
            a(Z(),y) -> Z()
            eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
            eqZList(C(x1,x2),Z()) -> False()
            eqZList(Z(),C(y1,y2)) -> False()
            eqZList(Z(),Z()) -> True()
            first(C(x1,x2)) -> x1
            second(C(x1,x2)) -> x2
        - Weak TRS:
            and(False(),False()) -> False()
            and(False(),True()) -> False()
            and(True(),False()) -> False()
            and(True(),True()) -> True()
        - Signature:
            {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False
            ,True,Z}
    + 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(C) = {1,2},
            uargs(and) = {1,2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                  p(C) = [1] x1 + [1] x2 + [8]
              p(False) = [0]                  
               p(True) = [10]                 
                  p(Z) = [4]                  
                  p(a) = [0]                  
                p(and) = [1] x1 + [1] x2 + [9]
            p(eqZList) = [1]                  
              p(first) = [3] x1 + [0]         
             p(second) = [3] x1 + [5]         
          
          Following rules are strictly oriented:
          eqZList(C(x1,x2),Z()) = [1]                   
                                > [0]                   
                                = False()               
          
          eqZList(Z(),C(y1,y2)) = [1]                   
                                > [0]                   
                                = False()               
          
                first(C(x1,x2)) = [3] x1 + [3] x2 + [24]
                                > [1] x1 + [0]          
                                = x1                    
          
               second(C(x1,x2)) = [3] x1 + [3] x2 + [29]
                                > [1] x2 + [0]          
                                = x2                    
          
          
          Following rules are (at-least) weakly oriented:
                       a(C(x1,x2),y) =  [0]                               
                                     >= [8]                               
                                     =  C(a(x1,y),a(x2,C(x1,x2)))         
          
                            a(Z(),y) =  [0]                               
                                     >= [4]                               
                                     =  Z()                               
          
                and(False(),False()) =  [9]                               
                                     >= [0]                               
                                     =  False()                           
          
                 and(False(),True()) =  [19]                              
                                     >= [0]                               
                                     =  False()                           
          
                 and(True(),False()) =  [19]                              
                                     >= [0]                               
                                     =  False()                           
          
                  and(True(),True()) =  [29]                              
                                     >= [10]                              
                                     =  True()                            
          
          eqZList(C(x1,x2),C(y1,y2)) =  [1]                               
                                     >= [11]                              
                                     =  and(eqZList(x1,y1),eqZList(x2,y2))
          
                    eqZList(Z(),Z()) =  [1]                               
                                     >= [10]                              
                                     =  True()                            
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
** Step 1.b:2: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2)))
            a(Z(),y) -> Z()
            eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
            eqZList(Z(),Z()) -> True()
        - Weak TRS:
            and(False(),False()) -> False()
            and(False(),True()) -> False()
            and(True(),False()) -> False()
            and(True(),True()) -> True()
            eqZList(C(x1,x2),Z()) -> False()
            eqZList(Z(),C(y1,y2)) -> False()
            first(C(x1,x2)) -> x1
            second(C(x1,x2)) -> x2
        - Signature:
            {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False
            ,True,Z}
    + 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(C) = {1,2},
            uargs(and) = {1,2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                  p(C) = [1] x1 + [1] x2 + [0]
              p(False) = [4]                  
               p(True) = [8]                  
                  p(Z) = [2]                  
                  p(a) = [8]                  
                p(and) = [1] x1 + [1] x2 + [0]
            p(eqZList) = [8] x2 + [4]         
              p(first) = [1] x1 + [1]         
             p(second) = [4] x1 + [13]        
          
          Following rules are strictly oriented:
                  a(Z(),y) = [8]   
                           > [2]   
                           = Z()   
          
          eqZList(Z(),Z()) = [20]  
                           > [8]   
                           = True()
          
          
          Following rules are (at-least) weakly oriented:
                       a(C(x1,x2),y) =  [8]                               
                                     >= [16]                              
                                     =  C(a(x1,y),a(x2,C(x1,x2)))         
          
                and(False(),False()) =  [8]                               
                                     >= [4]                               
                                     =  False()                           
          
                 and(False(),True()) =  [12]                              
                                     >= [4]                               
                                     =  False()                           
          
                 and(True(),False()) =  [12]                              
                                     >= [4]                               
                                     =  False()                           
          
                  and(True(),True()) =  [16]                              
                                     >= [8]                               
                                     =  True()                            
          
          eqZList(C(x1,x2),C(y1,y2)) =  [8] y1 + [8] y2 + [4]             
                                     >= [8] y1 + [8] y2 + [8]             
                                     =  and(eqZList(x1,y1),eqZList(x2,y2))
          
               eqZList(C(x1,x2),Z()) =  [20]                              
                                     >= [4]                               
                                     =  False()                           
          
               eqZList(Z(),C(y1,y2)) =  [8] y1 + [8] y2 + [4]             
                                     >= [4]                               
                                     =  False()                           
          
                     first(C(x1,x2)) =  [1] x1 + [1] x2 + [1]             
                                     >= [1] x1 + [0]                      
                                     =  x1                                
          
                    second(C(x1,x2)) =  [4] x1 + [4] x2 + [13]            
                                     >= [1] x2 + [0]                      
                                     =  x2                                
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
** Step 1.b:3: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2)))
            eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
        - Weak TRS:
            a(Z(),y) -> Z()
            and(False(),False()) -> False()
            and(False(),True()) -> False()
            and(True(),False()) -> False()
            and(True(),True()) -> True()
            eqZList(C(x1,x2),Z()) -> False()
            eqZList(Z(),C(y1,y2)) -> False()
            eqZList(Z(),Z()) -> True()
            first(C(x1,x2)) -> x1
            second(C(x1,x2)) -> x2
        - Signature:
            {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False
            ,True,Z}
    + 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(C) = {1,2},
            uargs(and) = {1,2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                  p(C) = [1] x1 + [1] x2 + [8]
              p(False) = [0]                  
               p(True) = [0]                  
                  p(Z) = [0]                  
                  p(a) = [2] x1 + [6]         
                p(and) = [1] x1 + [1] x2 + [0]
            p(eqZList) = [0]                  
              p(first) = [2] x1 + [2]         
             p(second) = [1] x1 + [4]         
          
          Following rules are strictly oriented:
          a(C(x1,x2),y) = [2] x1 + [2] x2 + [22]   
                        > [2] x1 + [2] x2 + [20]   
                        = C(a(x1,y),a(x2,C(x1,x2)))
          
          
          Following rules are (at-least) weakly oriented:
                            a(Z(),y) =  [6]                               
                                     >= [0]                               
                                     =  Z()                               
          
                and(False(),False()) =  [0]                               
                                     >= [0]                               
                                     =  False()                           
          
                 and(False(),True()) =  [0]                               
                                     >= [0]                               
                                     =  False()                           
          
                 and(True(),False()) =  [0]                               
                                     >= [0]                               
                                     =  False()                           
          
                  and(True(),True()) =  [0]                               
                                     >= [0]                               
                                     =  True()                            
          
          eqZList(C(x1,x2),C(y1,y2)) =  [0]                               
                                     >= [0]                               
                                     =  and(eqZList(x1,y1),eqZList(x2,y2))
          
               eqZList(C(x1,x2),Z()) =  [0]                               
                                     >= [0]                               
                                     =  False()                           
          
               eqZList(Z(),C(y1,y2)) =  [0]                               
                                     >= [0]                               
                                     =  False()                           
          
                    eqZList(Z(),Z()) =  [0]                               
                                     >= [0]                               
                                     =  True()                            
          
                     first(C(x1,x2)) =  [2] x1 + [2] x2 + [18]            
                                     >= [1] x1 + [0]                      
                                     =  x1                                
          
                    second(C(x1,x2)) =  [1] x1 + [1] x2 + [12]            
                                     >= [1] x2 + [0]                      
                                     =  x2                                
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
** Step 1.b:4: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
        - Weak TRS:
            a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2)))
            a(Z(),y) -> Z()
            and(False(),False()) -> False()
            and(False(),True()) -> False()
            and(True(),False()) -> False()
            and(True(),True()) -> True()
            eqZList(C(x1,x2),Z()) -> False()
            eqZList(Z(),C(y1,y2)) -> False()
            eqZList(Z(),Z()) -> True()
            first(C(x1,x2)) -> x1
            second(C(x1,x2)) -> x2
        - Signature:
            {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False
            ,True,Z}
    + 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(C) = {1,2},
            uargs(and) = {1,2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                  p(C) = [1] x1 + [1] x2 + [2]
              p(False) = [12]                 
               p(True) = [0]                  
                  p(Z) = [2]                  
                  p(a) = [8] x1 + [0]         
                p(and) = [1] x1 + [1] x2 + [2]
            p(eqZList) = [4] x2 + [5]         
              p(first) = [1] x1 + [4]         
             p(second) = [14] x1 + [2]        
          
          Following rules are strictly oriented:
          eqZList(C(x1,x2),C(y1,y2)) = [4] y1 + [4] y2 + [13]            
                                     > [4] y1 + [4] y2 + [12]            
                                     = and(eqZList(x1,y1),eqZList(x2,y2))
          
          
          Following rules are (at-least) weakly oriented:
                  a(C(x1,x2),y) =  [8] x1 + [8] x2 + [16]   
                                >= [8] x1 + [8] x2 + [2]    
                                =  C(a(x1,y),a(x2,C(x1,x2)))
          
                       a(Z(),y) =  [16]                     
                                >= [2]                      
                                =  Z()                      
          
           and(False(),False()) =  [26]                     
                                >= [12]                     
                                =  False()                  
          
            and(False(),True()) =  [14]                     
                                >= [12]                     
                                =  False()                  
          
            and(True(),False()) =  [14]                     
                                >= [12]                     
                                =  False()                  
          
             and(True(),True()) =  [2]                      
                                >= [0]                      
                                =  True()                   
          
          eqZList(C(x1,x2),Z()) =  [13]                     
                                >= [12]                     
                                =  False()                  
          
          eqZList(Z(),C(y1,y2)) =  [4] y1 + [4] y2 + [13]   
                                >= [12]                     
                                =  False()                  
          
               eqZList(Z(),Z()) =  [13]                     
                                >= [0]                      
                                =  True()                   
          
                first(C(x1,x2)) =  [1] x1 + [1] x2 + [6]    
                                >= [1] x1 + [0]             
                                =  x1                       
          
               second(C(x1,x2)) =  [14] x1 + [14] x2 + [30] 
                                >= [1] x2 + [0]             
                                =  x2                       
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
** Step 1.b:5: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2)))
            a(Z(),y) -> Z()
            and(False(),False()) -> False()
            and(False(),True()) -> False()
            and(True(),False()) -> False()
            and(True(),True()) -> True()
            eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
            eqZList(C(x1,x2),Z()) -> False()
            eqZList(Z(),C(y1,y2)) -> False()
            eqZList(Z(),Z()) -> True()
            first(C(x1,x2)) -> x1
            second(C(x1,x2)) -> x2
        - Signature:
            {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False
            ,True,Z}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(Omega(n^1),O(n^1))