* Step 1: Sum WORST_CASE(Omega(n^1),O(n^1))
    + Considered Problem:
        - Strict TRS:
            a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y))
            a(Z(),y,z) -> 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/3,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,z) -> C(a(x1,y,z),a(x2,y,y))
            a(Z(),y,z) -> 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/3,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,u){x -> C(x,y)} =
            a(C(x,y),z,u) ->^+ C(a(x,z,u),a(y,z,z))
              = C[a(x,z,u) = a(x,z,u){}]

** Step 1.b:1: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y))
            a(Z(),y,z) -> 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/3,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 + [1]
              p(False) = [8]                  
               p(True) = [7]                  
                  p(Z) = [1]                  
                  p(a) = [1] x1 + [15]        
                p(and) = [1] x1 + [1] x2 + [2]
            p(eqZList) = [3] x1 + [6] x2 + [0]
              p(first) = [5] x1 + [0]         
             p(second) = [1] x1 + [15]        
          
          Following rules are strictly oriented:
                          a(Z(),y,z) = [16]                                   
                                     > [1]                                    
                                     = Z()                                    
          
          eqZList(C(x1,x2),C(y1,y2)) = [3] x1 + [3] x2 + [6] y1 + [6] y2 + [9]
                                     > [3] x1 + [3] x2 + [6] y1 + [6] y2 + [2]
                                     = and(eqZList(x1,y1),eqZList(x2,y2))     
          
               eqZList(C(x1,x2),Z()) = [3] x1 + [3] x2 + [9]                  
                                     > [8]                                    
                                     = False()                                
          
               eqZList(Z(),C(y1,y2)) = [6] y1 + [6] y2 + [9]                  
                                     > [8]                                    
                                     = False()                                
          
                    eqZList(Z(),Z()) = [9]                                    
                                     > [7]                                    
                                     = True()                                 
          
                     first(C(x1,x2)) = [5] x1 + [5] x2 + [5]                  
                                     > [1] x1 + [0]                           
                                     = x1                                     
          
                    second(C(x1,x2)) = [1] x1 + [1] x2 + [16]                 
                                     > [1] x2 + [0]                           
                                     = x2                                     
          
          
          Following rules are (at-least) weakly oriented:
               a(C(x1,x2),y,z) =  [1] x1 + [1] x2 + [16]
                               >= [1] x1 + [1] x2 + [31]
                               =  C(a(x1,y,z),a(x2,y,y))
          
          and(False(),False()) =  [18]                  
                               >= [8]                   
                               =  False()               
          
           and(False(),True()) =  [17]                  
                               >= [8]                   
                               =  False()               
          
           and(True(),False()) =  [17]                  
                               >= [8]                   
                               =  False()               
          
            and(True(),True()) =  [16]                  
                               >= [7]                   
                               =  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,z) -> C(a(x1,y,z),a(x2,y,y))
        - Weak TRS:
            a(Z(),y,z) -> 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/3,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 + [4]
              p(False) = [0]                  
               p(True) = [2]                  
                  p(Z) = [1]                  
                  p(a) = [2] x1 + [0]         
                p(and) = [1] x1 + [1] x2 + [4]
            p(eqZList) = [2] x1 + [0]         
              p(first) = [1] x1 + [0]         
             p(second) = [2] x1 + [4]         
          
          Following rules are strictly oriented:
          a(C(x1,x2),y,z) = [2] x1 + [2] x2 + [8] 
                          > [2] x1 + [2] x2 + [4] 
                          = C(a(x1,y,z),a(x2,y,y))
          
          
          Following rules are (at-least) weakly oriented:
                          a(Z(),y,z) =  [2]                               
                                     >= [1]                               
                                     =  Z()                               
          
                and(False(),False()) =  [4]                               
                                     >= [0]                               
                                     =  False()                           
          
                 and(False(),True()) =  [6]                               
                                     >= [0]                               
                                     =  False()                           
          
                 and(True(),False()) =  [6]                               
                                     >= [0]                               
                                     =  False()                           
          
                  and(True(),True()) =  [8]                               
                                     >= [2]                               
                                     =  True()                            
          
          eqZList(C(x1,x2),C(y1,y2)) =  [2] x1 + [2] x2 + [8]             
                                     >= [2] x1 + [2] x2 + [4]             
                                     =  and(eqZList(x1,y1),eqZList(x2,y2))
          
               eqZList(C(x1,x2),Z()) =  [2] x1 + [2] x2 + [8]             
                                     >= [0]                               
                                     =  False()                           
          
               eqZList(Z(),C(y1,y2)) =  [2]                               
                                     >= [0]                               
                                     =  False()                           
          
                    eqZList(Z(),Z()) =  [2]                               
                                     >= [2]                               
                                     =  True()                            
          
                     first(C(x1,x2)) =  [1] x1 + [1] x2 + [4]             
                                     >= [1] x1 + [0]                      
                                     =  x1                                
          
                    second(C(x1,x2)) =  [2] x1 + [2] 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:3: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y))
            a(Z(),y,z) -> 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/3,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))