Problem AG01 3.15

Tool CaT

Execution TimeUnknown
Answer
YES(?,O(n^2))
InputAG01 3.15

stdout:

YES(?,O(n^2))

Problem:
 average(s(x),y) -> average(x,s(y))
 average(x,s(s(s(y)))) -> s(average(s(x),y))
 average(0(),0()) -> 0()
 average(0(),s(0())) -> 0()
 average(0(),s(s(0()))) -> s(0())

Proof:
 Complexity Transformation Processor:
  strict:
   average(s(x),y) -> average(x,s(y))
   average(x,s(s(s(y)))) -> s(average(s(x),y))
   average(0(),0()) -> 0()
   average(0(),s(0())) -> 0()
   average(0(),s(s(0()))) -> s(0())
  weak:
   
  Bounds Processor:
   bound: 1
   enrichment: match
   automaton:
    final states: {3}
    transitions:
     01() -> 3*
     average0(1,2) -> 3*
     average0(2,1) -> 3*
     average0(1,1) -> 3*
     average0(2,2) -> 3*
     s0(2) -> 3,1
     s0(1) -> 1*
     s0(3) -> 3*
     00() -> 2*
   problem:
    strict:
     average(s(x),y) -> average(x,s(y))
     average(x,s(s(s(y)))) -> s(average(s(x),y))
     average(0(),s(0())) -> 0()
     average(0(),s(s(0()))) -> s(0())
    weak:
     average(0(),0()) -> 0()
   Bounds Processor:
    bound: 1
    enrichment: match
    automaton:
     final states: {3}
     transitions:
      01() -> 3*
      average0(1,2) -> 3*
      average0(2,1) -> 3*
      average0(1,1) -> 3*
      average0(2,2) -> 3*
      s0(2) -> 3,1
      s0(1) -> 1*
      s0(3) -> 3*
      00() -> 2*
    problem:
     strict:
      average(s(x),y) -> average(x,s(y))
      average(x,s(s(s(y)))) -> s(average(s(x),y))
      average(0(),s(s(0()))) -> s(0())
     weak:
      average(0(),s(0())) -> 0()
      average(0(),0()) -> 0()
    Bounds Processor:
     bound: 1
     enrichment: match
     automaton:
      final states: {3}
      transitions:
       s1(7) -> 3*
       01() -> 7*
       average0(1,2) -> 3*
       average0(2,1) -> 3*
       average0(1,1) -> 3*
       average0(2,2) -> 3*
       s0(2) -> 1*
       s0(1) -> 1*
       s0(3) -> 3*
       00() -> 3,2
     problem:
      strict:
       average(s(x),y) -> average(x,s(y))
       average(x,s(s(s(y)))) -> s(average(s(x),y))
      weak:
       average(0(),s(s(0()))) -> s(0())
       average(0(),s(0())) -> 0()
       average(0(),0()) -> 0()
     Matrix Interpretation Processor:
      dimension: 4
      max_matrix:
       [1 0 0 0]
       [0 0 0 0]
       [0 0 0 1]
       [0 0 0 0]
       interpretation:
              [0]
              [0]
        [0] = [0]
              [3],
        
                            [1 0 0 0]     [1 0 0 0]     [0]
                            [0 0 0 0]     [0 0 0 0]     [3]
        [average](x0, x1) = [0 0 0 0]x0 + [0 0 0 0]x1 + [3]
                            [0 0 0 0]     [0 0 0 0]     [3],
        
                  [1 0 0 0]     [1]
                  [0 0 0 0]     [0]
        [s](x0) = [0 0 0 1]x0 + [0]
                  [0 0 0 0]     [0]
       orientation:
                          [1 0 0 0]    [1 0 0 0]    [1]    [1 0 0 0]    [1 0 0 0]    [1]                  
                          [0 0 0 0]    [0 0 0 0]    [3]    [0 0 0 0]    [0 0 0 0]    [3]                  
        average(s(x),y) = [0 0 0 0]x + [0 0 0 0]y + [3] >= [0 0 0 0]x + [0 0 0 0]y + [3] = average(x,s(y))
                          [0 0 0 0]    [0 0 0 0]    [3]    [0 0 0 0]    [0 0 0 0]    [3]                  
        
                                [1 0 0 0]    [1 0 0 0]    [3]    [1 0 0 0]    [1 0 0 0]    [2]                     
                                [0 0 0 0]    [0 0 0 0]    [3]    [0 0 0 0]    [0 0 0 0]    [0]                     
        average(x,s(s(s(y)))) = [0 0 0 0]x + [0 0 0 0]y + [3] >= [0 0 0 0]x + [0 0 0 0]y + [3] = s(average(s(x),y))
                                [0 0 0 0]    [0 0 0 0]    [3]    [0 0 0 0]    [0 0 0 0]    [0]                     
        
                                 [2]    [1]         
                                 [3]    [0]         
        average(0(),s(s(0()))) = [3] >= [3] = s(0())
                                 [3]    [0]         
        
                              [1]    [0]      
                              [3]    [0]      
        average(0(),s(0())) = [3] >= [0] = 0()
                              [3]    [3]      
        
                           [0]    [0]      
                           [3]    [0]      
        average(0(),0()) = [3] >= [0] = 0()
                           [3]    [3]      
       problem:
        strict:
         average(s(x),y) -> average(x,s(y))
        weak:
         average(x,s(s(s(y)))) -> s(average(s(x),y))
         average(0(),s(s(0()))) -> s(0())
         average(0(),s(0())) -> 0()
         average(0(),0()) -> 0()
       Matrix Interpretation Processor:
        dimension: 2
        max_matrix:
         [1 1]
         [0 1]
         interpretation:
                [0]
          [0] = [0],
          
                              [1 1]       
          [average](x0, x1) = [0 1]x0 + x1,
          
                         [1]
          [s](x0) = x0 + [1]
         orientation:
                            [1 1]        [2]    [1 1]        [1]                  
          average(s(x),y) = [0 1]x + y + [1] >= [0 1]x + y + [1] = average(x,s(y))
          
                                  [1 1]        [3]    [1 1]        [3]                     
          average(x,s(s(s(y)))) = [0 1]x + y + [3] >= [0 1]x + y + [2] = s(average(s(x),y))
          
                                   [2]    [1]         
          average(0(),s(s(0()))) = [2] >= [1] = s(0())
          
                                [1]    [0]      
          average(0(),s(0())) = [1] >= [0] = 0()
          
                             [0]    [0]      
          average(0(),0()) = [0] >= [0] = 0()
         problem:
          strict:
           
          weak:
           average(s(x),y) -> average(x,s(y))
           average(x,s(s(s(y)))) -> s(average(s(x),y))
           average(0(),s(s(0()))) -> s(0())
           average(0(),s(0())) -> 0()
           average(0(),0()) -> 0()
         Qed
  

Tool IRC1

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputAG01 3.15

stdout:

YES(?,O(n^1))

Tool IRC2

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputAG01 3.15

stdout:

YES(?,O(n^1))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}

Proof Output:    
  'matrix-interpretation of dimension 1' proved the best result:
  
  Details:
  --------
    'matrix-interpretation of dimension 1' succeeded with the following output:
     'matrix-interpretation of dimension 1'
     --------------------------------------
     Answer:           YES(?,O(n^1))
     Input Problem:    innermost runtime-complexity with respect to
       Rules:
         {  average(s(x), y) -> average(x, s(y))
          , average(x, s(s(s(y)))) -> s(average(s(x), y))
          , average(0(), 0()) -> 0()
          , average(0(), s(0())) -> 0()
          , average(0(), s(s(0()))) -> s(0())}
     
     Proof Output:    
       The following argument positions are usable:
         Uargs(average) = {}, Uargs(s) = {1}
       We have the following constructor-restricted matrix interpretation:
       Interpretation Functions:
        average(x1, x2) = [3] x1 + [2] x2 + [0]
        s(x1) = [1] x1 + [1]
        0() = [1]

Tool RC1

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputAG01 3.15

stdout:

YES(?,O(n^1))

Tool RC2

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputAG01 3.15

stdout:

YES(?,O(n^1))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    runtime-complexity with respect to
  Rules:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}

Proof Output:    
  'matrix-interpretation of dimension 1' proved the best result:
  
  Details:
  --------
    'matrix-interpretation of dimension 1' succeeded with the following output:
     'matrix-interpretation of dimension 1'
     --------------------------------------
     Answer:           YES(?,O(n^1))
     Input Problem:    runtime-complexity with respect to
       Rules:
         {  average(s(x), y) -> average(x, s(y))
          , average(x, s(s(s(y)))) -> s(average(s(x), y))
          , average(0(), 0()) -> 0()
          , average(0(), s(0())) -> 0()
          , average(0(), s(s(0()))) -> s(0())}
     
     Proof Output:    
       The following argument positions are usable:
         Uargs(average) = {}, Uargs(s) = {1}
       We have the following constructor-restricted matrix interpretation:
       Interpretation Functions:
        average(x1, x2) = [3] x1 + [2] x2 + [0]
        s(x1) = [1] x1 + [1]
        0() = [1]

Tool pair1rc

Execution TimeUnknown
Answer
TIMEOUT
InputAG01 3.15

stdout:

TIMEOUT

We consider the following Problem:

  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: none

Certificate: TIMEOUT

Application of 'pair1 (timeout of 60.0 seconds)':
-------------------------------------------------
  Computation stopped due to timeout after 60.0 seconds

Arrrr..

Tool pair2rc

Execution TimeUnknown
Answer
YES(?,O(n^2))
InputAG01 3.15

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: none

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

Application of 'pair2 (timeout of 60.0 seconds)':
-------------------------------------------------
  The processor is not applicable, reason is:
   Input problem is not restricted to innermost rewriting
  
  We abort the transformation and continue with the subprocessor on the problem
  
  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: none
  
  1) 'Fastest' proved the goal fastest:
     
     'Sequentially' proved the goal fastest:
     
     'Fastest' succeeded:
     
     'matrix-interpretation of dimension 3 (timeout of 100.0 seconds)' proved the goal fastest:
     
     The following argument positions are usable:
       Uargs(average) = {}, Uargs(s) = {1}
     We have the following constructor-restricted (at most 2 in the main diagonals) matrix interpretation:
     Interpretation Functions:
      average(x1, x2) = [1 2 1] x1 + [2 0 2] x2 + [0]
                        [2 2 2]      [1 1 1]      [0]
                        [0 0 0]      [0 0 0]      [1]
      s(x1) = [1 0 1] x1 + [0]
              [0 1 0]      [1]
              [0 0 0]      [1]
      0() = [0]
            [0]
            [1]
  

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

Tool pair3irc

Execution TimeUnknown
Answer
TIMEOUT
InputAG01 3.15

stdout:

TIMEOUT

We consider the following Problem:

  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: innermost

Certificate: TIMEOUT

Application of 'pair3 (timeout of 60.0 seconds)':
-------------------------------------------------
  Computation stopped due to timeout after 60.0 seconds

Arrrr..

Tool pair3rc

Execution TimeUnknown
Answer
YES(?,O(n^2))
InputAG01 3.15

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: none

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

Application of 'pair3 (timeout of 60.0 seconds)':
-------------------------------------------------
  The processor is not applicable, reason is:
   Input problem is not restricted to innermost rewriting
  
  We abort the transformation and continue with the subprocessor on the problem
  
  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: none
  
  1) 'Fastest' proved the goal fastest:
     
     'Sequentially' proved the goal fastest:
     
     'Fastest' succeeded:
     
     'matrix-interpretation of dimension 3 (timeout of 100.0 seconds)' proved the goal fastest:
     
     The following argument positions are usable:
       Uargs(average) = {}, Uargs(s) = {1}
     We have the following constructor-restricted (at most 2 in the main diagonals) matrix interpretation:
     Interpretation Functions:
      average(x1, x2) = [1 2 1] x1 + [2 0 2] x2 + [0]
                        [2 2 2]      [1 1 1]      [0]
                        [0 0 0]      [0 0 0]      [1]
      s(x1) = [1 0 1] x1 + [0]
              [0 1 0]      [1]
              [0 0 0]      [1]
      0() = [0]
            [0]
            [1]
  

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

Tool rc

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputAG01 3.15

stdout:

YES(?,O(n^1))

We consider the following Problem:

  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: none

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

Application of 'rc (timeout of 60.0 seconds)':
----------------------------------------------
  'dp' proved the goal fastest:
  
  We have computed the following dependency pairs
  
  Strict Dependency Pairs:
    {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
     , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
     , average^#(0(), 0()) -> c_3()
     , average^#(0(), s(0())) -> c_4()
     , average^#(0(), s(s(0()))) -> c_5()}
  
  We consider the following Problem:
  
    Strict DPs:
      {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
       , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
       , average^#(0(), 0()) -> c_3()
       , average^#(0(), s(0())) -> c_4()
       , average^#(0(), s(s(0()))) -> c_5()}
    Strict Trs:
      {  average(s(x), y) -> average(x, s(y))
       , average(x, s(s(s(y)))) -> s(average(s(x), y))
       , average(0(), 0()) -> 0()
       , average(0(), s(0())) -> 0()
       , average(0(), s(s(0()))) -> s(0())}
    StartTerms: basic terms
    Strategy: none
  
  Certificate: YES(?,O(n^1))
  
  Application of 'usablerules':
  -----------------------------
    No rule is usable.
    
    We consider the following Problem:
    
      Strict DPs:
        {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
         , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
         , average^#(0(), 0()) -> c_3()
         , average^#(0(), s(0())) -> c_4()
         , average^#(0(), s(s(0()))) -> c_5()}
      StartTerms: basic terms
      Strategy: none
    
    Certificate: YES(?,O(n^1))
    
    Application of 'Fastest':
    -------------------------
      'removetails >>> ... >>> ... >>> ...' proved the goal fastest:
      
      We consider the the dependency-graph
      
        1: average^#(s(x), y) -> c_1(average^#(x, s(y)))
             --> average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y)): 2
             --> average^#(0(), s(s(0()))) -> c_5(): 5
             --> average^#(0(), s(0())) -> c_4(): 4
             --> average^#(s(x), y) -> c_1(average^#(x, s(y))): 1
        
        2: average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
             --> average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y)): 2
             --> average^#(s(x), y) -> c_1(average^#(x, s(y))): 1
        
        3: average^#(0(), 0()) -> c_3()
        
        4: average^#(0(), s(0())) -> c_4()
        
        5: average^#(0(), s(s(0()))) -> c_5()
        
      
      together with the congruence-graph
      
        ->{1,2}
           |
           |->{4}                                                   Noncyclic, trivial, SCC
           |
           `->{5}                                                   Noncyclic, trivial, SCC
        
        ->{3}                                                       Noncyclic, trivial, SCC
        
        
        Here rules are as follows:
        
          {  1: average^#(s(x), y) -> c_1(average^#(x, s(y)))
           , 2: average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
           , 3: average^#(0(), 0()) -> c_3()
           , 4: average^#(0(), s(0())) -> c_4()
           , 5: average^#(0(), s(s(0()))) -> c_5()}
      
      The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
      
        {  3: average^#(0(), 0()) -> c_3()
         , 4: average^#(0(), s(0())) -> c_4()
         , 5: average^#(0(), s(s(0()))) -> c_5()}
      
      We consider the following Problem:
      
        Strict DPs:
          {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
           , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))}
        StartTerms: basic terms
        Strategy: none
      
      Certificate: YES(?,O(n^1))
      
      Application of 'simpDPRHS >>> ...':
      -----------------------------------
        No rule was simplified
        
        We apply the transformation 'usablerules' on the resulting sub-problems:
        Sub-problem 1:
        --------------
          We consider the problem
          
          Strict DPs:
            {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
             , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))}
          StartTerms: basic terms
          Strategy: none
          
          No rule is usable.
        
        We abort the transformation and continue with the subprocessor on the problem
        
        Strict DPs:
          {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
           , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))}
        StartTerms: basic terms
        Strategy: none
        
        1) The weightgap principle applies, where following rules are oriented strictly:
           
           Dependency Pairs: {average^#(s(x), y) -> c_1(average^#(x, s(y)))}
           
           Interpretation:
           ---------------
             The following argument positions are usable:
               Uargs(average) = {}, Uargs(s) = {}, Uargs(average^#) = {},
               Uargs(c_1) = {1}, Uargs(c_2) = {1}
             We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
             Interpretation Functions:
              average(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 1]      [2]
              0() = [0]
                    [0]
              average^#(x1, x2) = [0 2] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
              c_1(x1) = [1 0] x1 + [3]
                        [0 1]      [0]
              c_2(x1) = [1 0] x1 + [3]
                        [0 1]      [3]
              c_3() = [0]
                      [0]
              c_4() = [0]
                      [0]
              c_5() = [0]
                      [0]
           
           The strictly oriented rules are moved into the weak component.
           
           We consider the following Problem:
           
             Strict DPs: {average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))}
             Weak DPs: {average^#(s(x), y) -> c_1(average^#(x, s(y)))}
             StartTerms: basic terms
             Strategy: none
           
           Certificate: YES(?,O(n^1))
           
           Application of 'removetails >>> ... >>> ... >>> ...':
           -----------------------------------------------------
             No dependency-pair could be removed
             
             We abort the transformation and continue with the subprocessor on the problem
             
             Strict DPs: {average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))}
             Weak DPs: {average^#(s(x), y) -> c_1(average^#(x, s(y)))}
             StartTerms: basic terms
             Strategy: none
             
             1) The weightgap principle applies, where following rules are oriented strictly:
                
                Dependency Pairs:
                  {average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))}
                
                Interpretation:
                ---------------
                  The following argument positions are usable:
                    Uargs(average) = {}, Uargs(s) = {}, Uargs(average^#) = {},
                    Uargs(c_1) = {1}, Uargs(c_2) = {1}
                  We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
                  Interpretation Functions:
                   average(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                     [0 0]      [0 0]      [0]
                   s(x1) = [0 0] x1 + [0]
                           [0 1]      [2]
                   0() = [0]
                         [0]
                   average^#(x1, x2) = [0 2] x1 + [0 2] x2 + [0]
                                       [0 0]      [0 0]      [0]
                   c_1(x1) = [1 0] x1 + [0]
                             [0 1]      [0]
                   c_2(x1) = [1 0] x1 + [1]
                             [0 1]      [0]
                   c_3() = [0]
                           [0]
                   c_4() = [0]
                           [0]
                   c_5() = [0]
                           [0]
                
                The strictly oriented rules are moved into the weak component.
                
                We consider the following Problem:
                
                  Weak DPs:
                    {  average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
                     , average^#(s(x), y) -> c_1(average^#(x, s(y)))}
                  StartTerms: basic terms
                  Strategy: none
                
                Certificate: YES(O(1),O(1))
                
                Application of 'removetails >>> ... >>> ... >>> ...':
                -----------------------------------------------------
                  We consider the the dependency-graph
                  
                    1: average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
                         --> average^#(s(x), y) -> c_1(average^#(x, s(y))): 2
                         --> average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y)): 1
                    
                    2: average^#(s(x), y) -> c_1(average^#(x, s(y)))
                         --> average^#(s(x), y) -> c_1(average^#(x, s(y))): 2
                         --> average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y)): 1
                    
                  
                  together with the congruence-graph
                  
                    ->{1,2}                                                     Weak SCC
                    
                    
                    Here rules are as follows:
                    
                      {  1: average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
                       , 2: average^#(s(x), y) -> c_1(average^#(x, s(y)))}
                  
                  The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                  
                    {  1: average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
                     , 2: average^#(s(x), y) -> c_1(average^#(x, s(y)))}
                  
                  We consider the following Problem:
                  
                    StartTerms: basic terms
                    Strategy: none
                  
                  Certificate: YES(O(1),O(1))
                  
                  Application of 'simpDPRHS >>> ...':
                  -----------------------------------
                    No rule was simplified
                    
                    We apply the transformation 'usablerules' on the resulting sub-problems:
                    Sub-problem 1:
                    --------------
                      We consider the problem
                      
                      StartTerms: basic terms
                      Strategy: none
                      
                      The input problem is not a DP-problem.
                    
                    We abort the transformation and continue with the subprocessor on the problem
                    
                    StartTerms: basic terms
                    Strategy: none
                    
                    1) We fail transforming the problem using 'weightgap of dimension Nat 2, maximal degree 1, cbits 4'
                       
                         All strict components are empty, nothing to further orient
                       
                       We try instead 'weightgap of dimension Nat 3, maximal degree 3, cbits 4 <> ...' on the problem
                       
                       StartTerms: basic terms
                       Strategy: none
                       
                         We fail transforming the problem using 'weightgap of dimension Nat 3, maximal degree 3, cbits 4'
                         
                           All strict components are empty, nothing to further orient
                         
                         We try instead 'weightgap of dimension Nat 4, maximal degree 3, cbits 4' on the problem
                         
                         StartTerms: basic terms
                         Strategy: none
                         
                           All strict components are empty, nothing to further orient
                       
                       We abort the transformation and continue with the subprocessor on the problem
                       
                       StartTerms: basic terms
                       Strategy: none
                       
                       1) No dependency-pair could be removed
                          
                          We apply the transformation 'weightgap of dimension Nat 2, maximal degree 1, cbits 4 <> ...' on the resulting sub-problems:
                          Sub-problem 1:
                          --------------
                            We consider the problem
                            
                            StartTerms: basic terms
                            Strategy: none
                            
                            We fail transforming the problem using 'weightgap of dimension Nat 2, maximal degree 1, cbits 4'
                            
                              All strict components are empty, nothing to further orient
                            
                            We try instead 'weightgap of dimension Nat 3, maximal degree 3, cbits 4 <> ...' on the problem
                            
                            StartTerms: basic terms
                            Strategy: none
                            
                              We fail transforming the problem using 'weightgap of dimension Nat 3, maximal degree 3, cbits 4'
                              
                                All strict components are empty, nothing to further orient
                              
                              We try instead 'weightgap of dimension Nat 4, maximal degree 3, cbits 4' on the problem
                              
                              StartTerms: basic terms
                              Strategy: none
                              
                                All strict components are empty, nothing to further orient
                          
                          We abort the transformation and continue with the subprocessor on the problem
                          
                          StartTerms: basic terms
                          Strategy: none
                          
                          1) 'Sequentially' proved the goal fastest:
                             
                             'empty' succeeded:
                             
                             Empty rules are trivially bounded
                          
                       
                    
             
        

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

Tool tup3irc

Execution Time3.647048ms
Answer
YES(?,O(n^1))
InputAG01 3.15

stdout:

YES(?,O(n^1))

We consider the following Problem:

  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: innermost

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

Application of 'tup3 (timeout of 60.0 seconds)':
------------------------------------------------
  The input problem contains no overlaps that give rise to inapplicable rules.
  
  We abort the transformation and continue with the subprocessor on the problem
  
  Strict Trs:
    {  average(s(x), y) -> average(x, s(y))
     , average(x, s(s(s(y)))) -> s(average(s(x), y))
     , average(0(), 0()) -> 0()
     , average(0(), s(0())) -> 0()
     , average(0(), s(s(0()))) -> s(0())}
  StartTerms: basic terms
  Strategy: innermost
  
  1) 'dp' proved the goal fastest:
     
     We have computed the following dependency pairs
     
     Strict Dependency Pairs:
       {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
        , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
        , average^#(0(), 0()) -> c_3()
        , average^#(0(), s(0())) -> c_4()
        , average^#(0(), s(s(0()))) -> c_5()}
     
     We consider the following Problem:
     
       Strict DPs:
         {  average^#(s(x), y) -> c_1(average^#(x, s(y)))
          , average^#(x, s(s(s(y)))) -> c_2(average^#(s(x), y))
          , average^#(0(), 0()) -> c_3()
          , average^#(0(), s(0())) -> c_4()
          , average^#(0(), s(s(0()))) -> c_5()}
       Weak Trs:
         {  average(s(x), y) -> average(x, s(y))
          , average(x, s(s(s(y)))) -> s(average(s(x), y))
          , average(0(), 0()) -> 0()
          , average(0(), s(0())) -> 0()
          , average(0(), s(s(0()))) -> s(0())}
       StartTerms: basic terms
       Strategy: innermost
     
     Certificate: YES(?,O(n^1))
     
     Application of 'Fastest':
     -------------------------
       'Sequentially' proved the goal fastest:
       
       'Fastest' succeeded:
       
       'matrix-interpretation of dimension 2 (timeout of 100.0 seconds)' proved the goal fastest:
       
       The following argument positions are usable:
         Uargs(average) = {}, Uargs(s) = {}, Uargs(average^#) = {},
         Uargs(c_1) = {1}, Uargs(c_2) = {1}
       We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
       Interpretation Functions:
        average(x1, x2) = [2 0] x1 + [2 0] x2 + [0]
                          [0 0]      [0 0]      [0]
        s(x1) = [1 0] x1 + [1]
                [0 0]      [0]
        0() = [0]
              [0]
        average^#(x1, x2) = [2 0] x1 + [1 0] x2 + [1]
                            [0 0]      [0 0]      [0]
        c_1(x1) = [1 0] x1 + [0]
                  [0 0]      [0]
        c_2(x1) = [1 0] x1 + [0]
                  [0 0]      [0]
        c_3() = [0]
                [0]
        c_4() = [1]
                [0]
        c_5() = [0]
                [0]
  

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