*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        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 DP Rules:
        
      Weak TRS Rules:
        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
        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 + [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.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        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 DP Rules:
        
      Weak TRS Rules:
        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
        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 + [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.
*** 1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        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 DP Rules:
        
      Weak TRS Rules:
        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
        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 + [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.
*** 1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2))
      Weak DP Rules:
        
      Weak TRS Rules:
        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
        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 + [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.
*** 1.1.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) -> 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
        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).