Problem Rubio 04 bn122

Tool CaT

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 bn122

stdout:

MAYBE

Problem:
 plus(plus(X,Y),Z) -> plus(X,plus(Y,Z))
 times(X,s(Y)) -> plus(X,times(Y,X))

Proof:
 Open

Tool IRC1

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 bn122

stdout:

MAYBE

Tool IRC2

Execution TimeUnknown
Answer
YES(?,O(n^2))
InputRubio 04 bn122

stdout:

YES(?,O(n^2))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^2))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))
     , times(X, s(Y)) -> plus(X, times(Y, X))}

Proof Output:    
  'wdg' proved the best result:
  
  Details:
  --------
    'wdg' succeeded with the following output:
     'wdg'
     -----
     Answer:           YES(?,O(n^2))
     Input Problem:    innermost runtime-complexity with respect to
       Rules:
         {  plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))
          , times(X, s(Y)) -> plus(X, times(Y, X))}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: plus^#(plus(X, Y), Z) -> c_0(plus^#(X, plus(Y, Z)))
            , 2: times^#(X, s(Y)) -> c_1(plus^#(X, times(Y, X)))}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{2}                                                       [   YES(?,O(n^1))    ]
              |
              `->{1}                                                   [   YES(?,O(n^2))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {2}: YES(?,O(n^1))
           -----------------------
           
           The usable rules for this path are:
           
             {  times(X, s(Y)) -> plus(X, times(Y, X))
              , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(plus) = {2}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {2}, Uargs(c_0) = {}, Uargs(times^#) = {},
               Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [0 2] x1 + [1 0] x2 + [0]
                             [0 2]      [0 1]      [2]
              times(x1, x2) = [2 3] x1 + [2 1] x2 + [0]
                              [3 2]      [3 0]      [0]
              s(x1) = [1 2] x1 + [3]
                      [0 0]      [2]
              plus^#(x1, x2) = [1 1] x1 + [1 0] x2 + [0]
                               [3 3]      [3 3]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              times^#(x1, x2) = [3 3] x1 + [2 3] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_1(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
           Complexity induced by the adequate RMI: YES(?,O(n^1))
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {times^#(X, s(Y)) -> c_1(plus^#(X, times(Y, X)))}
             Weak Rules:
               {  times(X, s(Y)) -> plus(X, times(Y, X))
                , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(plus) = {}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {}, Uargs(times^#) = {}, Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [4 0]      [0 0]      [0]
              s(x1) = [1 2] x1 + [0]
                      [0 0]      [0]
              plus^#(x1, x2) = [0 0] x1 + [2 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              times^#(x1, x2) = [7 7] x1 + [2 0] x2 + [7]
                                [7 7]      [0 0]      [7]
              c_1(x1) = [2 0] x1 + [3]
                        [0 0]      [3]
         
         * Path {2}->{1}: YES(?,O(n^2))
           ----------------------------
           
           The usable rules for this path are:
           
             {  times(X, s(Y)) -> plus(X, times(Y, X))
              , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(plus) = {2}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {2}, Uargs(c_0) = {1}, Uargs(times^#) = {},
               Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [0 1] x1 + [1 0] x2 + [1]
                             [0 2]      [0 1]      [3]
              times(x1, x2) = [1 3] x1 + [1 2] x2 + [0]
                              [2 2]      [2 0]      [0]
              s(x1) = [1 1] x1 + [2]
                      [0 1]      [3]
              plus^#(x1, x2) = [0 1] x1 + [1 0] x2 + [0]
                               [3 3]      [3 3]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_1(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
           Complexity induced by the adequate RMI: YES(?,O(n^2))
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {plus^#(plus(X, Y), Z) -> c_0(plus^#(X, plus(Y, Z)))}
             Weak Rules:
               {  times^#(X, s(Y)) -> c_1(plus^#(X, times(Y, X)))
                , times(X, s(Y)) -> plus(X, times(Y, X))
                , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(plus) = {}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {}, Uargs(c_0) = {1}, Uargs(times^#) = {},
               Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [2 1] x1 + [0 0] x2 + [2]
                             [2 0]      [0 0]      [2]
              times(x1, x2) = [4 4] x1 + [2 4] x2 + [0]
                              [4 0]      [2 0]      [4]
              s(x1) = [1 4] x1 + [0]
                      [0 0]      [2]
              plus^#(x1, x2) = [4 2] x1 + [0 0] x2 + [0]
                               [6 0]      [4 0]      [0]
              c_0(x1) = [2 0] x1 + [5]
                        [0 0]      [6]
              times^#(x1, x2) = [7 7] x1 + [2 0] x2 + [6]
                                [7 7]      [0 0]      [7]
              c_1(x1) = [1 0] x1 + [3]
                        [0 0]      [3]

Tool RC1

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 bn122

stdout:

MAYBE

Tool RC2

Execution TimeUnknown
Answer
YES(?,O(n^2))
InputRubio 04 bn122

stdout:

YES(?,O(n^2))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^2))
Input Problem:    runtime-complexity with respect to
  Rules:
    {  plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))
     , times(X, s(Y)) -> plus(X, times(Y, X))}

Proof Output:    
  'wdg' proved the best result:
  
  Details:
  --------
    'wdg' succeeded with the following output:
     'wdg'
     -----
     Answer:           YES(?,O(n^2))
     Input Problem:    runtime-complexity with respect to
       Rules:
         {  plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))
          , times(X, s(Y)) -> plus(X, times(Y, X))}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: plus^#(plus(X, Y), Z) -> c_0(plus^#(X, plus(Y, Z)))
            , 2: times^#(X, s(Y)) -> c_1(plus^#(X, times(Y, X)))}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{2}                                                       [   YES(?,O(n^1))    ]
              |
              `->{1}                                                   [   YES(?,O(n^2))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {2}: YES(?,O(n^1))
           -----------------------
           
           The usable rules for this path are:
           
             {  times(X, s(Y)) -> plus(X, times(Y, X))
              , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(plus) = {2}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {2}, Uargs(c_0) = {}, Uargs(times^#) = {},
               Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [0 2] x1 + [1 0] x2 + [0]
                             [0 2]      [0 1]      [2]
              times(x1, x2) = [2 3] x1 + [2 1] x2 + [0]
                              [3 2]      [3 0]      [0]
              s(x1) = [1 2] x1 + [3]
                      [0 0]      [2]
              plus^#(x1, x2) = [1 1] x1 + [1 0] x2 + [0]
                               [3 3]      [3 3]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              times^#(x1, x2) = [3 3] x1 + [2 3] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_1(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
           Complexity induced by the adequate RMI: YES(?,O(n^1))
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {times^#(X, s(Y)) -> c_1(plus^#(X, times(Y, X)))}
             Weak Rules:
               {  times(X, s(Y)) -> plus(X, times(Y, X))
                , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(plus) = {}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {}, Uargs(times^#) = {}, Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [4 0]      [0 0]      [0]
              s(x1) = [1 2] x1 + [0]
                      [0 0]      [0]
              plus^#(x1, x2) = [0 0] x1 + [2 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              times^#(x1, x2) = [7 7] x1 + [2 0] x2 + [7]
                                [7 7]      [0 0]      [7]
              c_1(x1) = [2 0] x1 + [3]
                        [0 0]      [3]
         
         * Path {2}->{1}: YES(?,O(n^2))
           ----------------------------
           
           The usable rules for this path are:
           
             {  times(X, s(Y)) -> plus(X, times(Y, X))
              , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(plus) = {2}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {2}, Uargs(c_0) = {1}, Uargs(times^#) = {},
               Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [0 1] x1 + [1 0] x2 + [1]
                             [0 2]      [0 1]      [3]
              times(x1, x2) = [1 3] x1 + [1 2] x2 + [0]
                              [2 2]      [2 0]      [0]
              s(x1) = [1 1] x1 + [2]
                      [0 1]      [3]
              plus^#(x1, x2) = [0 1] x1 + [1 0] x2 + [0]
                               [3 3]      [3 3]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_1(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
           Complexity induced by the adequate RMI: YES(?,O(n^2))
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {plus^#(plus(X, Y), Z) -> c_0(plus^#(X, plus(Y, Z)))}
             Weak Rules:
               {  times^#(X, s(Y)) -> c_1(plus^#(X, times(Y, X)))
                , times(X, s(Y)) -> plus(X, times(Y, X))
                , plus(plus(X, Y), Z) -> plus(X, plus(Y, Z))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(plus) = {}, Uargs(times) = {}, Uargs(s) = {},
               Uargs(plus^#) = {}, Uargs(c_0) = {1}, Uargs(times^#) = {},
               Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              plus(x1, x2) = [2 1] x1 + [0 0] x2 + [2]
                             [2 0]      [0 0]      [2]
              times(x1, x2) = [4 4] x1 + [2 4] x2 + [0]
                              [4 0]      [2 0]      [4]
              s(x1) = [1 4] x1 + [0]
                      [0 0]      [2]
              plus^#(x1, x2) = [4 2] x1 + [0 0] x2 + [0]
                               [6 0]      [4 0]      [0]
              c_0(x1) = [2 0] x1 + [5]
                        [0 0]      [6]
              times^#(x1, x2) = [7 7] x1 + [2 0] x2 + [6]
                                [7 7]      [0 0]      [7]
              c_1(x1) = [1 0] x1 + [3]
                        [0 0]      [3]