We consider the following Problem:

  Strict Trs:
    {  group3(@l) -> group3#1(@l)
     , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
     , group3#1(nil()) -> nil()
     , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
     , group3#2(nil(), @x) -> nil()
     , group3#3(::(@z, @zs), @x, @y) ->
       ::(tuple#3(@x, @y, @z), group3(@zs))
     , group3#3(nil(), @x, @y) -> nil()
     , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
     , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
     , zip3#1(nil(), @l2, @l3) -> nil()
     , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
       zip3#3(@l3, @x, @xs, @y, @ys)
     , zip3#2(nil(), @l3, @x, @xs) -> nil()
     , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
       ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
     , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
  StartTerms: basic terms
  Strategy: innermost

Certificate: YES(?,O(n^1))

Proof:
  We consider the following Problem:
  
    Strict Trs:
      {  group3(@l) -> group3#1(@l)
       , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
       , group3#1(nil()) -> nil()
       , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
       , group3#2(nil(), @x) -> nil()
       , group3#3(::(@z, @zs), @x, @y) ->
         ::(tuple#3(@x, @y, @z), group3(@zs))
       , group3#3(nil(), @x, @y) -> nil()
       , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
       , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
       , zip3#1(nil(), @l2, @l3) -> nil()
       , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
         zip3#3(@l3, @x, @xs, @y, @ys)
       , zip3#2(nil(), @l3, @x, @xs) -> nil()
       , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
         ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
       , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
    StartTerms: basic terms
    Strategy: innermost
  
  Certificate: YES(?,O(n^1))
  
  Proof:
    The weightgap principle applies, where following rules are oriented strictly:
    
    TRS Component:
      {  group3#1(nil()) -> nil()
       , group3#2(nil(), @x) -> nil()
       , group3#3(nil(), @x, @y) -> nil()
       , zip3#1(nil(), @l2, @l3) -> nil()
       , zip3#2(nil(), @l3, @x, @xs) -> nil()
       , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
    
    Interpretation of nonconstant growth:
    -------------------------------------
      The following argument positions are usable:
        Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
        Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
        Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
        Uargs(zip3#3) = {}
      We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
      Interpretation Functions:
       group3(x1) = [0 0] x1 + [0]
                    [0 0]      [0]
       group3#1(x1) = [0 0] x1 + [1]
                      [0 0]      [1]
       ::(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                    [0 0]      [0 0]      [1]
       group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                          [0 0]      [0 0]      [1]
       nil() = [0]
               [0]
       group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                              [1 0]      [0 0]      [0 0]      [0]
       tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                             [0 0]      [0 0]      [0 0]      [0]
       zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                          [0 0]      [0 0]      [0 0]      [0]
       zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                            [0 0]      [0 0]      [0 0]      [1]
       zip3#2(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                [0 0]      [0 0]      [0 0]      [0 0]      [1]
       zip3#3(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [1]
                                    [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
    
    The strictly oriented rules are moved into the weak component.
    
    We consider the following Problem:
    
      Strict Trs:
        {  group3(@l) -> group3#1(@l)
         , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
         , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
         , group3#3(::(@z, @zs), @x, @y) ->
           ::(tuple#3(@x, @y, @z), group3(@zs))
         , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
         , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
         , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
           zip3#3(@l3, @x, @xs, @y, @ys)
         , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
           ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))}
      Weak Trs:
        {  group3#1(nil()) -> nil()
         , group3#2(nil(), @x) -> nil()
         , group3#3(nil(), @x, @y) -> nil()
         , zip3#1(nil(), @l2, @l3) -> nil()
         , zip3#2(nil(), @l3, @x, @xs) -> nil()
         , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
      StartTerms: basic terms
      Strategy: innermost
    
    Certificate: YES(?,O(n^1))
    
    Proof:
      The weightgap principle applies, where following rules are oriented strictly:
      
      TRS Component: {zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)}
      
      Interpretation of nonconstant growth:
      -------------------------------------
        The following argument positions are usable:
          Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
          Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
          Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
          Uargs(zip3#3) = {}
        We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
        Interpretation Functions:
         group3(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
         group3#1(x1) = [0 0] x1 + [1]
                        [0 0]      [1]
         ::(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                      [0 0]      [0 0]      [1]
         group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                            [0 0]      [0 0]      [1]
         nil() = [0]
                 [0]
         group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                [1 0]      [0 0]      [0 0]      [0]
         tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                               [0 0]      [0 0]      [0 0]      [0]
         zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [2]
                            [0 0]      [0 0]      [0 0]      [2]
         zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                              [0 0]      [0 0]      [0 0]      [1]
         zip3#2(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                  [0 0]      [0 0]      [0 0]      [0 0]      [1]
         zip3#3(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [1]
                                      [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
      
      The strictly oriented rules are moved into the weak component.
      
      We consider the following Problem:
      
        Strict Trs:
          {  group3(@l) -> group3#1(@l)
           , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
           , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
           , group3#3(::(@z, @zs), @x, @y) ->
             ::(tuple#3(@x, @y, @z), group3(@zs))
           , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
           , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
             zip3#3(@l3, @x, @xs, @y, @ys)
           , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
             ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))}
        Weak Trs:
          {  zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
           , group3#1(nil()) -> nil()
           , group3#2(nil(), @x) -> nil()
           , group3#3(nil(), @x, @y) -> nil()
           , zip3#1(nil(), @l2, @l3) -> nil()
           , zip3#2(nil(), @l3, @x, @xs) -> nil()
           , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
        StartTerms: basic terms
        Strategy: innermost
      
      Certificate: YES(?,O(n^1))
      
      Proof:
        The weightgap principle applies, where following rules are oriented strictly:
        
        TRS Component:
          {zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
           ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))}
        
        Interpretation of nonconstant growth:
        -------------------------------------
          The following argument positions are usable:
            Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
            Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
            Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
            Uargs(zip3#3) = {}
          We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
          Interpretation Functions:
           group3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
           group3#1(x1) = [0 0] x1 + [1]
                          [0 0]      [1]
           ::(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                        [0 0]      [0 0]      [1]
           group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                              [0 0]      [0 0]      [1]
           nil() = [0]
                   [0]
           group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                  [1 0]      [0 0]      [0 0]      [0]
           tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                 [0 0]      [0 0]      [0 0]      [0]
           zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                              [0 0]      [0 0]      [0 0]      [2]
           zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                [0 0]      [0 0]      [0 0]      [1]
           zip3#2(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                    [0 0]      [0 0]      [0 0]      [0 0]      [1]
           zip3#3(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [3]
                                        [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
        
        The strictly oriented rules are moved into the weak component.
        
        We consider the following Problem:
        
          Strict Trs:
            {  group3(@l) -> group3#1(@l)
             , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
             , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
             , group3#3(::(@z, @zs), @x, @y) ->
               ::(tuple#3(@x, @y, @z), group3(@zs))
             , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
             , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
               zip3#3(@l3, @x, @xs, @y, @ys)}
          Weak Trs:
            {  zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
               ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
             , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
             , group3#1(nil()) -> nil()
             , group3#2(nil(), @x) -> nil()
             , group3#3(nil(), @x, @y) -> nil()
             , zip3#1(nil(), @l2, @l3) -> nil()
             , zip3#2(nil(), @l3, @x, @xs) -> nil()
             , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
          StartTerms: basic terms
          Strategy: innermost
        
        Certificate: YES(?,O(n^1))
        
        Proof:
          The weightgap principle applies, where following rules are oriented strictly:
          
          TRS Component:
            {zip3#2(::(@y, @ys), @l3, @x, @xs) ->
             zip3#3(@l3, @x, @xs, @y, @ys)}
          
          Interpretation of nonconstant growth:
          -------------------------------------
            The following argument positions are usable:
              Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
              Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
              Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
              Uargs(zip3#3) = {}
            We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
            Interpretation Functions:
             group3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
             group3#1(x1) = [0 0] x1 + [1]
                            [0 0]      [1]
             ::(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                          [0 0]      [0 0]      [1]
             group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                                [0 0]      [0 0]      [1]
             nil() = [0]
                     [0]
             group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                    [1 0]      [0 0]      [0 0]      [0]
             tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
             zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                [0 0]      [0 0]      [0 0]      [2]
             zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                  [0 0]      [0 0]      [0 0]      [1]
             zip3#2(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [3]
                                      [0 0]      [0 0]      [0 0]      [0 0]      [1]
             zip3#3(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [2]
                                          [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
          
          The strictly oriented rules are moved into the weak component.
          
          We consider the following Problem:
          
            Strict Trs:
              {  group3(@l) -> group3#1(@l)
               , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
               , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
               , group3#3(::(@z, @zs), @x, @y) ->
                 ::(tuple#3(@x, @y, @z), group3(@zs))
               , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)}
            Weak Trs:
              {  zip3#2(::(@y, @ys), @l3, @x, @xs) ->
                 zip3#3(@l3, @x, @xs, @y, @ys)
               , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
                 ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
               , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
               , group3#1(nil()) -> nil()
               , group3#2(nil(), @x) -> nil()
               , group3#3(nil(), @x, @y) -> nil()
               , zip3#1(nil(), @l2, @l3) -> nil()
               , zip3#2(nil(), @l3, @x, @xs) -> nil()
               , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
            StartTerms: basic terms
            Strategy: innermost
          
          Certificate: YES(?,O(n^1))
          
          Proof:
            The weightgap principle applies, where following rules are oriented strictly:
            
            TRS Component:
              {zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)}
            
            Interpretation of nonconstant growth:
            -------------------------------------
              The following argument positions are usable:
                Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
                Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
                Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
                Uargs(zip3#3) = {}
              We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
              Interpretation Functions:
               group3(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
               group3#1(x1) = [0 0] x1 + [1]
                              [0 0]      [1]
               ::(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                            [0 0]      [0 0]      [1]
               group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                                  [0 0]      [0 0]      [1]
               nil() = [0]
                       [0]
               group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                      [1 0]      [0 0]      [0 0]      [0]
               tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
               zip3(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
                                  [0 0]      [0 0]      [0 0]      [2]
               zip3#1(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
                                    [0 0]      [0 0]      [0 0]      [1]
               zip3#2(x1, x2, x3, x4) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0 0] x4 + [0]
                                        [0 0]      [0 0]      [0 0]      [0 0]      [1]
               zip3#3(x1, x2, x3, x4, x5) = [1 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [1 0] x5 + [1]
                                            [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
            
            The strictly oriented rules are moved into the weak component.
            
            We consider the following Problem:
            
              Strict Trs:
                {  group3(@l) -> group3#1(@l)
                 , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
                 , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
                 , group3#3(::(@z, @zs), @x, @y) ->
                   ::(tuple#3(@x, @y, @z), group3(@zs))}
              Weak Trs:
                {  zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
                 , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
                   zip3#3(@l3, @x, @xs, @y, @ys)
                 , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
                   ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
                 , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
                 , group3#1(nil()) -> nil()
                 , group3#2(nil(), @x) -> nil()
                 , group3#3(nil(), @x, @y) -> nil()
                 , zip3#1(nil(), @l2, @l3) -> nil()
                 , zip3#2(nil(), @l3, @x, @xs) -> nil()
                 , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
              StartTerms: basic terms
              Strategy: innermost
            
            Certificate: YES(?,O(n^1))
            
            Proof:
              The weightgap principle applies, where following rules are oriented strictly:
              
              TRS Component:
                {group3#3(::(@z, @zs), @x, @y) ->
                 ::(tuple#3(@x, @y, @z), group3(@zs))}
              
              Interpretation of nonconstant growth:
              -------------------------------------
                The following argument positions are usable:
                  Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
                  Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
                  Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
                  Uargs(zip3#3) = {}
                We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
                Interpretation Functions:
                 group3(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                 group3#1(x1) = [0 0] x1 + [1]
                                [0 0]      [1]
                 ::(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                              [0 0]      [0 0]      [1]
                 group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                                    [0 0]      [0 0]      [1]
                 nil() = [0]
                         [0]
                 group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                        [1 0]      [0 0]      [0 0]      [1]
                 tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                 zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                    [0 0]      [0 0]      [0 0]      [1]
                 zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                      [0 0]      [0 0]      [0 0]      [1]
                 zip3#2(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                          [0 0]      [0 0]      [0 0]      [0 0]      [1]
                 zip3#3(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [1]
                                              [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
              
              The strictly oriented rules are moved into the weak component.
              
              We consider the following Problem:
              
                Strict Trs:
                  {  group3(@l) -> group3#1(@l)
                   , group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
                   , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)}
                Weak Trs:
                  {  group3#3(::(@z, @zs), @x, @y) ->
                     ::(tuple#3(@x, @y, @z), group3(@zs))
                   , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
                   , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
                     zip3#3(@l3, @x, @xs, @y, @ys)
                   , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
                     ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
                   , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
                   , group3#1(nil()) -> nil()
                   , group3#2(nil(), @x) -> nil()
                   , group3#3(nil(), @x, @y) -> nil()
                   , zip3#1(nil(), @l2, @l3) -> nil()
                   , zip3#2(nil(), @l3, @x, @xs) -> nil()
                   , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(?,O(n^1))
              
              Proof:
                The weightgap principle applies, where following rules are oriented strictly:
                
                TRS Component: {group3(@l) -> group3#1(@l)}
                
                Interpretation of nonconstant growth:
                -------------------------------------
                  The following argument positions are usable:
                    Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
                    Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
                    Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
                    Uargs(zip3#3) = {}
                  We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
                  Interpretation Functions:
                   group3(x1) = [0 0] x1 + [2]
                                [0 0]      [1]
                   group3#1(x1) = [0 0] x1 + [1]
                                  [0 0]      [1]
                   ::(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                                [0 0]      [0 0]      [1]
                   group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                                      [0 0]      [0 0]      [1]
                   nil() = [0]
                           [0]
                   group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [3]
                                          [1 0]      [0 0]      [0 0]      [0]
                   tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                         [0 0]      [0 0]      [0 0]      [0]
                   zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1]
                                      [0 0]      [0 0]      [0 0]      [2]
                   zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1]
                                        [0 0]      [0 0]      [0 0]      [1]
                   zip3#2(x1, x2, x3, x4) = [0 0] x1 + [1 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                            [0 0]      [0 0]      [0 0]      [0 0]      [1]
                   zip3#3(x1, x2, x3, x4, x5) = [1 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [1]
                                                [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
                
                The strictly oriented rules are moved into the weak component.
                
                We consider the following Problem:
                
                  Strict Trs:
                    {  group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
                     , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)}
                  Weak Trs:
                    {  group3(@l) -> group3#1(@l)
                     , group3#3(::(@z, @zs), @x, @y) ->
                       ::(tuple#3(@x, @y, @z), group3(@zs))
                     , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
                     , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
                       zip3#3(@l3, @x, @xs, @y, @ys)
                     , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
                       ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
                     , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
                     , group3#1(nil()) -> nil()
                     , group3#2(nil(), @x) -> nil()
                     , group3#3(nil(), @x, @y) -> nil()
                     , zip3#1(nil(), @l2, @l3) -> nil()
                     , zip3#2(nil(), @l3, @x, @xs) -> nil()
                     , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(?,O(n^1))
                
                Proof:
                  The weightgap principle applies, where following rules are oriented strictly:
                  
                  TRS Component: {group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)}
                  
                  Interpretation of nonconstant growth:
                  -------------------------------------
                    The following argument positions are usable:
                      Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
                      Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
                      Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
                      Uargs(zip3#3) = {}
                    We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
                    Interpretation Functions:
                     group3(x1) = [0 0] x1 + [1]
                                  [0 0]      [2]
                     group3#1(x1) = [0 0] x1 + [1]
                                    [0 0]      [1]
                     ::(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                                  [0 0]      [0 0]      [1]
                     group3#2(x1, x2) = [0 0] x1 + [0 0] x2 + [3]
                                        [0 0]      [0 0]      [1]
                     nil() = [0]
                             [0]
                     group3#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [2]
                                            [0 0]      [0 0]      [0 0]      [1]
                     tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                           [0 0]      [0 0]      [0 0]      [0]
                     zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                        [0 0]      [0 0]      [0 0]      [2]
                     zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                          [0 0]      [0 0]      [0 0]      [1]
                     zip3#2(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                              [0 0]      [0 0]      [0 0]      [0 0]      [1]
                     zip3#3(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [1]
                                                  [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [1]
                  
                  The strictly oriented rules are moved into the weak component.
                  
                  We consider the following Problem:
                  
                    Strict Trs: {group3#1(::(@x, @xs)) -> group3#2(@xs, @x)}
                    Weak Trs:
                      {  group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
                       , group3(@l) -> group3#1(@l)
                       , group3#3(::(@z, @zs), @x, @y) ->
                         ::(tuple#3(@x, @y, @z), group3(@zs))
                       , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
                       , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
                         zip3#3(@l3, @x, @xs, @y, @ys)
                       , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
                         ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
                       , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
                       , group3#1(nil()) -> nil()
                       , group3#2(nil(), @x) -> nil()
                       , group3#3(nil(), @x, @y) -> nil()
                       , zip3#1(nil(), @l2, @l3) -> nil()
                       , zip3#2(nil(), @l3, @x, @xs) -> nil()
                       , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(?,O(n^1))
                  
                  Proof:
                    The weightgap principle applies, where following rules are oriented strictly:
                    
                    TRS Component: {group3#1(::(@x, @xs)) -> group3#2(@xs, @x)}
                    
                    Interpretation of nonconstant growth:
                    -------------------------------------
                      The following argument positions are usable:
                        Uargs(group3) = {}, Uargs(group3#1) = {}, Uargs(::) = {2},
                        Uargs(group3#2) = {}, Uargs(group3#3) = {}, Uargs(tuple#3) = {},
                        Uargs(zip3) = {}, Uargs(zip3#1) = {}, Uargs(zip3#2) = {},
                        Uargs(zip3#3) = {}
                      We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
                      Interpretation Functions:
                       group3(x1) = [0 1] x1 + [3]
                                    [1 0]      [3]
                       group3#1(x1) = [0 1] x1 + [3]
                                      [1 0]      [3]
                       ::(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                                    [0 0]      [0 1]      [1]
                       group3#2(x1, x2) = [0 1] x1 + [0 0] x2 + [3]
                                          [1 0]      [0 0]      [3]
                       nil() = [0]
                               [0]
                       group3#3(x1, x2, x3) = [0 1] x1 + [0 0] x2 + [0 0] x3 + [3]
                                              [1 0]      [0 0]      [0 0]      [3]
                       tuple#3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                             [0 0]      [0 0]      [0 0]      [0]
                       zip3(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1]
                                          [0 0]      [0 1]      [0 1]      [1]
                       zip3#1(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1]
                                            [0 0]      [0 1]      [0 1]      [1]
                       zip3#2(x1, x2, x3, x4) = [0 0] x1 + [1 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                                [0 1]      [0 1]      [0 0]      [0 0]      [0]
                       zip3#3(x1, x2, x3, x4, x5) = [1 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [1]
                                                    [0 1]      [0 0]      [0 0]      [0 0]      [0 1]      [1]
                    
                    The strictly oriented rules are moved into the weak component.
                    
                    We consider the following Problem:
                    
                      Weak Trs:
                        {  group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
                         , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
                         , group3(@l) -> group3#1(@l)
                         , group3#3(::(@z, @zs), @x, @y) ->
                           ::(tuple#3(@x, @y, @z), group3(@zs))
                         , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
                         , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
                           zip3#3(@l3, @x, @xs, @y, @ys)
                         , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
                           ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
                         , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
                         , group3#1(nil()) -> nil()
                         , group3#2(nil(), @x) -> nil()
                         , group3#3(nil(), @x, @y) -> nil()
                         , zip3#1(nil(), @l2, @l3) -> nil()
                         , zip3#2(nil(), @l3, @x, @xs) -> nil()
                         , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      We consider the following Problem:
                      
                        Weak Trs:
                          {  group3#1(::(@x, @xs)) -> group3#2(@xs, @x)
                           , group3#2(::(@y, @ys), @x) -> group3#3(@ys, @x, @y)
                           , group3(@l) -> group3#1(@l)
                           , group3#3(::(@z, @zs), @x, @y) ->
                             ::(tuple#3(@x, @y, @z), group3(@zs))
                           , zip3#1(::(@x, @xs), @l2, @l3) -> zip3#2(@l2, @l3, @x, @xs)
                           , zip3#2(::(@y, @ys), @l3, @x, @xs) ->
                             zip3#3(@l3, @x, @xs, @y, @ys)
                           , zip3#3(::(@z, @zs), @x, @xs, @y, @ys) ->
                             ::(tuple#3(@x, @y, @z), zip3(@xs, @ys, @zs))
                           , zip3(@l1, @l2, @l3) -> zip3#1(@l1, @l2, @l3)
                           , group3#1(nil()) -> nil()
                           , group3#2(nil(), @x) -> nil()
                           , group3#3(nil(), @x, @y) -> nil()
                           , zip3#1(nil(), @l2, @l3) -> nil()
                           , zip3#2(nil(), @l3, @x, @xs) -> nil()
                           , zip3#3(nil(), @x, @xs, @y, @ys) -> nil()}
                        StartTerms: basic terms
                        Strategy: innermost
                      
                      Certificate: YES(O(1),O(1))
                      
                      Proof:
                        Empty rules are trivially bounded

Hurray, we answered YES(?,O(n^1))