*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        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 DP Rules:
        
      Weak TRS Rules:
        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
        basic terms: {a,and,eqZList,first,second}/{C,False,True,Z}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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:
          {}
        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.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y))
      Weak DP Rules:
        
      Weak TRS Rules:
        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
        basic terms: {a,and,eqZList,first,second}/{C,False,True,Z}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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:
          {}
        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.
*** 1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        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
        basic terms: {a,and,eqZList,first,second}/{C,False,True,Z}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).