Problem Transformed CSR 04 Ex8 BLR02 FR

Tool CaT

Execution TimeUnknown
Answer
MAYBE
InputTransformed CSR 04 Ex8 BLR02 FR

stdout:

MAYBE

Problem:
 fib(N) -> sel(N,fib1(s(0()),s(0())))
 fib1(X,Y) -> cons(X,n__fib1(Y,n__add(X,Y)))
 add(0(),X) -> X
 add(s(X),Y) -> s(add(X,Y))
 sel(0(),cons(X,XS)) -> X
 sel(s(N),cons(X,XS)) -> sel(N,activate(XS))
 fib1(X1,X2) -> n__fib1(X1,X2)
 add(X1,X2) -> n__add(X1,X2)
 activate(n__fib1(X1,X2)) -> fib1(activate(X1),activate(X2))
 activate(n__add(X1,X2)) -> add(activate(X1),activate(X2))
 activate(X) -> X

Proof:
 Open

Tool IRC1

Execution TimeUnknown
Answer
MAYBE
InputTransformed CSR 04 Ex8 BLR02 FR

stdout:

MAYBE

Tool IRC2

Execution TimeUnknown
Answer
YES(?,O(n^2))
InputTransformed CSR 04 Ex8 BLR02 FR

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:
    {  fib(N) -> sel(N, fib1(s(0()), s(0())))
     , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
     , add(0(), X) -> X
     , add(s(X), Y) -> s(add(X, Y))
     , sel(0(), cons(X, XS)) -> X
     , sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
     , fib1(X1, X2) -> n__fib1(X1, X2)
     , add(X1, X2) -> n__add(X1, X2)
     , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
     , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
     , activate(X) -> 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:
         {  fib(N) -> sel(N, fib1(s(0()), s(0())))
          , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
          , add(0(), X) -> X
          , add(s(X), Y) -> s(add(X, Y))
          , sel(0(), cons(X, XS)) -> X
          , sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
          , fib1(X1, X2) -> n__fib1(X1, X2)
          , add(X1, X2) -> n__add(X1, X2)
          , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
          , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
          , activate(X) -> X}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: fib^#(N) -> c_0(sel^#(N, fib1(s(0()), s(0()))))
            , 2: fib1^#(X, Y) -> c_1()
            , 3: add^#(0(), X) -> c_2()
            , 4: add^#(s(X), Y) -> c_3(add^#(X, Y))
            , 5: sel^#(0(), cons(X, XS)) -> c_4()
            , 6: sel^#(s(N), cons(X, XS)) -> c_5(sel^#(N, activate(XS)))
            , 7: fib1^#(X1, X2) -> c_6()
            , 8: add^#(X1, X2) -> c_7()
            , 9: activate^#(n__fib1(X1, X2)) ->
                 c_8(fib1^#(activate(X1), activate(X2)))
            , 10: activate^#(n__add(X1, X2)) ->
                  c_9(add^#(activate(X1), activate(X2)))
            , 11: activate^#(X) -> c_10()}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{11}                                                      [    YES(?,O(1))     ]
           
           ->{10}                                                      [   YES(?,O(n^2))    ]
              |
              |->{3}                                                   [   YES(?,O(n^2))    ]
              |
              |->{4}                                                   [   YES(?,O(n^2))    ]
              |   |
              |   |->{3}                                               [   YES(?,O(n^2))    ]
              |   |
              |   `->{8}                                               [   YES(?,O(n^2))    ]
              |
              `->{8}                                                   [   YES(?,O(n^2))    ]
           
           ->{9}                                                       [   YES(?,O(n^2))    ]
              |
              |->{2}                                                   [   YES(?,O(n^2))    ]
              |
              `->{7}                                                   [   YES(?,O(n^2))    ]
           
           ->{1}                                                       [   YES(?,O(n^2))    ]
              |
              |->{5}                                                   [   YES(?,O(n^2))    ]
              |
              `->{6}                                                   [   YES(?,O(n^2))    ]
                  |
                  `->{5}                                               [   YES(?,O(n^2))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {1}: YES(?,O(n^2))
           -----------------------
           
           The usable rules for this path are:
           
             {  fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , fib1(X1, X2) -> n__fib1(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {}, Uargs(s) = {},
               Uargs(cons) = {}, Uargs(n__fib1) = {}, Uargs(n__add) = {},
               Uargs(add) = {}, Uargs(activate) = {}, Uargs(fib^#) = {},
               Uargs(c_0) = {1}, Uargs(sel^#) = {2}, Uargs(fib1^#) = {},
               Uargs(add^#) = {}, Uargs(c_3) = {}, Uargs(c_5) = {},
               Uargs(activate^#) = {}, Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [3 3] x1 + [3 3] x2 + [3]
                             [0 3]      [0 3]      [3]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [1 0] x1 + [1 1] x2 + [0]
                             [0 0]      [0 1]      [1]
              n__fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                                [0 1]      [0 0]      [2]
              n__add(x1, x2) = [1 3] x1 + [1 2] x2 + [0]
                               [0 1]      [0 1]      [3]
              add(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              activate(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
              fib^#(x1) = [3 3] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              sel^#(x1, x2) = [3 3] x1 + [3 0] x2 + [0]
                              [3 3]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {fib^#(N) -> c_0(sel^#(N, fib1(s(0()), s(0()))))}
             Weak Rules:
               {  fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , fib1(X1, X2) -> n__fib1(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(fib^#) = {},
               Uargs(c_0) = {1}, Uargs(sel^#) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [2 2] x1 + [0 2] x2 + [0]
                             [0 2]      [2 2]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 1] x1 + [0 2] x2 + [0]
                             [0 0]      [0 0]      [0]
              n__fib1(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 1]      [0]
              n__add(x1, x2) = [1 5] x1 + [1 5] x2 + [5]
                               [0 0]      [0 1]      [0]
              fib^#(x1) = [7 7] x1 + [7]
                          [7 7]      [7]
              c_0(x1) = [3 0] x1 + [3]
                        [0 2]      [7]
              sel^#(x1, x2) = [0 1] x1 + [2 1] x2 + [0]
                              [0 3]      [0 3]      [0]
         
         * Path {1}->{5}: YES(?,O(n^2))
           ----------------------------
           
           The usable rules for this path are:
           
             {  fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , fib1(X1, X2) -> n__fib1(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {}, Uargs(s) = {},
               Uargs(cons) = {}, Uargs(n__fib1) = {}, Uargs(n__add) = {},
               Uargs(add) = {}, Uargs(activate) = {}, Uargs(fib^#) = {},
               Uargs(c_0) = {1}, Uargs(sel^#) = {2}, Uargs(fib1^#) = {},
               Uargs(add^#) = {}, Uargs(c_3) = {}, Uargs(c_5) = {},
               Uargs(activate^#) = {}, Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [3 3] x1 + [3 3] x2 + [3]
                             [0 3]      [0 3]      [3]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [1 0] x1 + [1 3] x2 + [1]
                             [0 1]      [0 1]      [3]
              n__fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                                [0 1]      [0 0]      [0]
              n__add(x1, x2) = [1 3] x1 + [1 0] x2 + [1]
                               [0 1]      [0 1]      [3]
              add(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              activate(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              sel^#(x1, x2) = [0 0] x1 + [3 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {sel^#(0(), cons(X, XS)) -> c_4()}
             Weak Rules:
               {  fib^#(N) -> c_0(sel^#(N, fib1(s(0()), s(0()))))
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , fib1(X1, X2) -> n__fib1(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(fib^#) = {},
               Uargs(c_0) = {1}, Uargs(sel^#) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 4] x1 + [0 6] x2 + [2]
                             [0 4]      [0 4]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [2]
                    [0]
              cons(x1, x2) = [0 4] x1 + [0 2] x2 + [2]
                             [0 1]      [0 0]      [0]
              n__fib1(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                                [0 1]      [0 1]      [0]
              n__add(x1, x2) = [1 5] x1 + [1 5] x2 + [5]
                               [0 0]      [0 1]      [0]
              fib^#(x1) = [7 7] x1 + [7]
                          [7 7]      [7]
              c_0(x1) = [1 0] x1 + [3]
                        [0 0]      [7]
              sel^#(x1, x2) = [2 0] x1 + [2 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_4() = [1]
                      [0]
         
         * Path {1}->{6}: YES(?,O(n^2))
           ----------------------------
           
           The usable rules for this path are:
           
             {  fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {1}, Uargs(sel^#) = {2},
               Uargs(fib1^#) = {}, Uargs(add^#) = {}, Uargs(c_3) = {},
               Uargs(c_5) = {1}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 2] x1 + [1 0] x2 + [2]
                             [0 1]      [0 1]      [3]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [1]
              0() = [0]
                    [0]
              cons(x1, x2) = [1 2] x1 + [0 0] x2 + [1]
                             [0 0]      [0 0]      [1]
              n__fib1(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                                [0 1]      [0 1]      [3]
              n__add(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [3]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                            [0 1]      [0 1]      [3]
              activate(x1) = [1 1] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              sel^#(x1, x2) = [3 2] x1 + [2 0] x2 + [0]
                              [3 3]      [3 3]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules:
               {sel^#(s(N), cons(X, XS)) -> c_5(sel^#(N, activate(XS)))}
             Weak Rules:
               {  fib^#(N) -> c_0(sel^#(N, fib1(s(0()), s(0()))))
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(fib^#) = {}, Uargs(c_0) = {1},
               Uargs(sel^#) = {}, Uargs(c_5) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [2]
              s(x1) = [0 0] x1 + [2]
                      [0 1]      [1]
              0() = [0]
                    [0]
              cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 1]      [0]
              n__fib1(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [2]
              n__add(x1, x2) = [1 6] x1 + [1 4] x2 + [0]
                               [0 1]      [0 1]      [0]
              add(x1, x2) = [1 6] x1 + [1 4] x2 + [0]
                            [0 1]      [0 1]      [0]
              activate(x1) = [1 0] x1 + [0]
                             [0 1]      [0]
              fib^#(x1) = [7 7] x1 + [7]
                          [7 7]      [7]
              c_0(x1) = [1 2] x1 + [1]
                        [2 0]      [3]
              sel^#(x1, x2) = [0 1] x1 + [0 1] x2 + [0]
                              [0 0]      [1 0]      [0]
              c_5(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
         
         * Path {1}->{6}->{5}: YES(?,O(n^2))
           ---------------------------------
           
           The usable rules for this path are:
           
             {  fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {1}, Uargs(sel^#) = {2},
               Uargs(fib1^#) = {}, Uargs(add^#) = {}, Uargs(c_3) = {},
               Uargs(c_5) = {1}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 1] x1 + [1 2] x2 + [3]
                             [0 1]      [0 1]      [3]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [2]
                             [0 1]      [0 0]      [1]
              n__fib1(x1, x2) = [1 1] x1 + [1 2] x2 + [2]
                                [0 1]      [0 1]      [3]
              n__add(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [2]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                            [0 1]      [0 1]      [2]
              activate(x1) = [1 2] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              sel^#(x1, x2) = [0 0] x1 + [3 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [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: {sel^#(0(), cons(X, XS)) -> c_4()}
             Weak Rules:
               {  sel^#(s(N), cons(X, XS)) -> c_5(sel^#(N, activate(XS)))
                , fib^#(N) -> c_0(sel^#(N, fib1(s(0()), s(0()))))
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(fib^#) = {}, Uargs(c_0) = {1},
               Uargs(sel^#) = {}, Uargs(c_5) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 1]      [0 0]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 1]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 1]      [0 0]      [0]
              n__fib1(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 1]      [0 0]      [0]
              n__add(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [0]
              add(x1, x2) = [0 4] x1 + [1 0] x2 + [0]
                            [0 1]      [0 1]      [0]
              activate(x1) = [1 5] x1 + [0]
                             [0 1]      [0]
              fib^#(x1) = [7 7] x1 + [7]
                          [7 7]      [7]
              c_0(x1) = [4 0] x1 + [3]
                        [0 2]      [7]
              sel^#(x1, x2) = [0 1] x1 + [0 0] x2 + [1]
                              [0 1]      [0 2]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
         
         * Path {9}: YES(?,O(n^2))
           -----------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {1, 2}, Uargs(add^#) = {}, Uargs(c_3) = {},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {1},
               Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [3]
                             [0 1]      [0 1]      [1]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [1 0] x1 + [0 0] x2 + [2]
                             [0 0]      [0 0]      [1]
              n__fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [2]
                                [0 1]      [0 1]      [1]
              n__add(x1, x2) = [1 1] x1 + [1 0] x2 + [2]
                               [0 1]      [0 1]      [2]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [3]
                            [0 1]      [0 1]      [2]
              activate(x1) = [2 1] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                               [3 3]      [3 3]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [2 1] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [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:
               {activate^#(n__fib1(X1, X2)) ->
                c_8(fib1^#(activate(X1), activate(X2)))}
             Weak Rules:
               {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(fib1^#) = {}, Uargs(activate^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              n__fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              n__add(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                               [0 0]      [0 1]      [2]
              add(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                            [0 0]      [0 1]      [2]
              activate(x1) = [1 0] x1 + [0]
                             [0 4]      [0]
              fib1^#(x1, x2) = [2 0] x1 + [2 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              activate^#(x1) = [6 0] x1 + [7]
                               [6 0]      [7]
              c_8(x1) = [2 0] x1 + [3]
                        [2 0]      [3]
         
         * Path {9}->{2}: YES(?,O(n^2))
           ----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {1, 2}, Uargs(add^#) = {}, Uargs(c_3) = {},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {1},
               Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [1]
                             [0 1]      [0 1]      [2]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [1]
              n__fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [0]
                                [0 1]      [0 1]      [2]
              n__add(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [2]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                            [0 1]      [0 1]      [2]
              activate(x1) = [1 2] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [3 0] x1 + [3 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {fib1^#(X, Y) -> c_1()}
             Weak Rules:
               {  activate^#(n__fib1(X1, X2)) ->
                  c_8(fib1^#(activate(X1), activate(X2)))
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(fib1^#) = {}, Uargs(activate^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 1] x1 + [1 2] x2 + [0]
                             [0 1]      [0 1]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              n__fib1(x1, x2) = [0 1] x1 + [1 2] x2 + [0]
                                [0 1]      [0 1]      [0]
              n__add(x1, x2) = [0 0] x1 + [1 2] x2 + [0]
                               [0 0]      [0 1]      [0]
              add(x1, x2) = [0 0] x1 + [1 2] x2 + [0]
                            [0 0]      [0 1]      [0]
              activate(x1) = [1 2] x1 + [0]
                             [0 1]      [0]
              fib1^#(x1, x2) = [0 3] x1 + [1 0] x2 + [1]
                               [0 1]      [2 0]      [0]
              c_1() = [0]
                      [0]
              activate^#(x1) = [7 1] x1 + [7]
                               [5 5]      [7]
              c_8(x1) = [2 2] x1 + [1]
                        [3 1]      [0]
         
         * Path {9}->{7}: YES(?,O(n^2))
           ----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {1, 2}, Uargs(add^#) = {}, Uargs(c_3) = {},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {1},
               Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [1]
                             [0 1]      [0 1]      [2]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [1]
              n__fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [0]
                                [0 1]      [0 1]      [2]
              n__add(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [2]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                            [0 1]      [0 1]      [2]
              activate(x1) = [1 2] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [3 0] x1 + [3 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {fib1^#(X1, X2) -> c_6()}
             Weak Rules:
               {  activate^#(n__fib1(X1, X2)) ->
                  c_8(fib1^#(activate(X1), activate(X2)))
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(fib1^#) = {}, Uargs(activate^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 1] x1 + [1 2] x2 + [0]
                             [0 1]      [0 1]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              n__fib1(x1, x2) = [0 1] x1 + [1 2] x2 + [0]
                                [0 1]      [0 1]      [0]
              n__add(x1, x2) = [0 0] x1 + [1 2] x2 + [0]
                               [0 0]      [0 1]      [0]
              add(x1, x2) = [0 0] x1 + [1 2] x2 + [0]
                            [0 0]      [0 1]      [0]
              activate(x1) = [1 2] x1 + [0]
                             [0 1]      [0]
              fib1^#(x1, x2) = [0 3] x1 + [1 0] x2 + [1]
                               [0 1]      [2 0]      [0]
              c_6() = [0]
                      [0]
              activate^#(x1) = [7 1] x1 + [7]
                               [5 5]      [7]
              c_8(x1) = [2 2] x1 + [1]
                        [3 1]      [0]
         
         * Path {10}: YES(?,O(n^2))
           ------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {}, Uargs(add^#) = {1, 2}, Uargs(c_3) = {},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 0] x1 + [1 2] x2 + [1]
                             [0 1]      [0 1]      [2]
              s(x1) = [1 0] x1 + [2]
                      [0 1]      [3]
              0() = [3]
                    [3]
              cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [1]
              n__fib1(x1, x2) = [1 0] x1 + [1 1] x2 + [0]
                                [0 1]      [0 1]      [2]
              n__add(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [2]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                            [0 1]      [0 1]      [2]
              activate(x1) = [2 2] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                              [3 3]      [3 3]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [2 3] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules:
               {activate^#(n__add(X1, X2)) ->
                c_9(add^#(activate(X1), activate(X2)))}
             Weak Rules:
               {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(add^#) = {}, Uargs(activate^#) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 2] x1 + [0 0] x2 + [0]
                             [0 1]      [0 0]      [4]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 2] x1 + [0 0] x2 + [0]
                             [0 1]      [0 0]      [4]
              n__fib1(x1, x2) = [0 2] x1 + [0 0] x2 + [0]
                                [0 1]      [0 0]      [4]
              n__add(x1, x2) = [1 2] x1 + [1 2] x2 + [0]
                               [0 1]      [0 1]      [0]
              add(x1, x2) = [1 2] x1 + [1 2] x2 + [0]
                            [0 1]      [0 1]      [0]
              activate(x1) = [1 2] x1 + [0]
                             [0 1]      [0]
              add^#(x1, x2) = [2 2] x1 + [3 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              activate^#(x1) = [6 0] x1 + [7]
                               [6 0]      [7]
              c_9(x1) = [2 0] x1 + [3]
                        [2 0]      [3]
         
         * Path {10}->{3}: YES(?,O(n^2))
           -----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {}, Uargs(add^#) = {1, 2}, Uargs(c_3) = {},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [1]
                             [0 1]      [0 1]      [2]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [1]
              n__fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [0]
                                [0 1]      [0 1]      [2]
              n__add(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [2]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                            [0 1]      [0 1]      [2]
              activate(x1) = [1 2] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [3 0] x1 + [3 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {add^#(0(), X) -> c_2()}
             Weak Rules:
               {  activate^#(n__add(X1, X2)) ->
                  c_9(add^#(activate(X1), activate(X2)))
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(add^#) = {}, Uargs(activate^#) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 1] x1 + [0 1] x2 + [0]
                             [0 1]      [0 0]      [0]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [0]
              0() = [2]
                    [2]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              n__fib1(x1, x2) = [0 1] x1 + [0 1] x2 + [0]
                                [0 1]      [0 0]      [0]
              n__add(x1, x2) = [1 1] x1 + [1 1] x2 + [0]
                               [0 1]      [0 1]      [0]
              add(x1, x2) = [1 1] x1 + [1 1] x2 + [0]
                            [0 1]      [0 1]      [0]
              activate(x1) = [1 0] x1 + [0]
                             [0 1]      [0]
              add^#(x1, x2) = [2 2] x1 + [0 0] x2 + [0]
                              [0 2]      [2 2]      [0]
              c_2() = [1]
                      [0]
              activate^#(x1) = [6 7] x1 + [7]
                               [6 4]      [6]
              c_9(x1) = [2 2] x1 + [3]
                        [0 2]      [3]
         
         * Path {10}->{4}: YES(?,O(n^2))
           -----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {}, Uargs(add^#) = {1, 2}, Uargs(c_3) = {1},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 2] x1 + [1 3] x2 + [1]
                             [0 1]      [0 0]      [1]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [0]
                    [0]
              cons(x1, x2) = [1 1] x1 + [0 0] x2 + [0]
                             [0 1]      [0 0]      [1]
              n__fib1(x1, x2) = [1 2] x1 + [1 3] x2 + [0]
                                [0 1]      [0 0]      [1]
              n__add(x1, x2) = [1 1] x1 + [1 1] x2 + [0]
                               [0 1]      [0 1]      [3]
              add(x1, x2) = [1 2] x1 + [1 1] x2 + [1]
                            [0 1]      [0 1]      [3]
              activate(x1) = [2 3] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [3 2] x1 + [3 3] x2 + [0]
                              [3 3]      [3 3]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_10() = [0]
                       [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: {add^#(s(X), Y) -> c_3(add^#(X, Y))}
             Weak Rules:
               {  activate^#(n__add(X1, X2)) ->
                  c_9(add^#(activate(X1), activate(X2)))
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(add^#) = {}, Uargs(c_3) = {1},
               Uargs(activate^#) = {}, Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                             [0 0]      [0 1]      [6]
              s(x1) = [0 0] x1 + [0]
                      [0 1]      [1]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                             [0 0]      [0 0]      [5]
              n__fib1(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
                                [0 0]      [0 1]      [3]
              n__add(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [4]
              add(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                            [0 1]      [0 1]      [4]
              activate(x1) = [1 0] x1 + [0]
                             [4 2]      [2]
              add^#(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_3(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
              activate^#(x1) = [4 2] x1 + [7]
                               [2 0]      [7]
              c_9(x1) = [1 0] x1 + [1]
                        [0 0]      [7]
         
         * Path {10}->{4}->{3}: YES(?,O(n^2))
           ----------------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {}, Uargs(add^#) = {1, 2}, Uargs(c_3) = {1},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
                             [0 1]      [0 1]      [3]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                             [0 1]      [0 0]      [1]
              n__fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                                [0 1]      [0 1]      [3]
              n__add(x1, x2) = [1 1] x1 + [1 2] x2 + [0]
                               [0 1]      [0 1]      [3]
              add(x1, x2) = [1 1] x1 + [1 2] x2 + [1]
                            [0 1]      [0 1]      [3]
              activate(x1) = [2 3] x1 + [1]
                             [0 2]      [2]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [3 0] x1 + [3 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_10() = [0]
                       [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: {add^#(0(), X) -> c_2()}
             Weak Rules:
               {  add^#(s(X), Y) -> c_3(add^#(X, Y))
                , activate^#(n__add(X1, X2)) ->
                  c_9(add^#(activate(X1), activate(X2)))
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(add^#) = {}, Uargs(c_3) = {1},
               Uargs(activate^#) = {}, Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              s(x1) = [1 0] x1 + [7]
                      [0 0]      [0]
              0() = [2]
                    [0]
              cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              n__fib1(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              n__add(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
                               [0 0]      [0 1]      [1]
              add(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
                            [2 0]      [0 1]      [1]
              activate(x1) = [1 0] x1 + [0]
                             [4 4]      [0]
              add^#(x1, x2) = [2 0] x1 + [2 0] x2 + [0]
                              [2 0]      [0 4]      [0]
              c_2() = [1]
                      [0]
              c_3(x1) = [1 0] x1 + [7]
                        [0 0]      [6]
              activate^#(x1) = [4 4] x1 + [7]
                               [6 0]      [4]
              c_9(x1) = [1 0] x1 + [3]
                        [2 0]      [3]
         
         * Path {10}->{4}->{8}: YES(?,O(n^2))
           ----------------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {}, Uargs(add^#) = {1, 2}, Uargs(c_3) = {1},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
                             [0 1]      [0 1]      [3]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                             [0 1]      [0 0]      [1]
              n__fib1(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
                                [0 1]      [0 1]      [3]
              n__add(x1, x2) = [1 1] x1 + [1 2] x2 + [0]
                               [0 1]      [0 1]      [3]
              add(x1, x2) = [1 1] x1 + [1 2] x2 + [1]
                            [0 1]      [0 1]      [3]
              activate(x1) = [2 3] x1 + [1]
                             [0 2]      [2]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [3 0] x1 + [3 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {add^#(X1, X2) -> c_7()}
             Weak Rules:
               {  add^#(s(X), Y) -> c_3(add^#(X, Y))
                , activate^#(n__add(X1, X2)) ->
                  c_9(add^#(activate(X1), activate(X2)))
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(add^#) = {}, Uargs(c_3) = {1},
               Uargs(activate^#) = {}, Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 0] x1 + [0 4] x2 + [2]
                             [0 1]      [0 1]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 0] x1 + [0 2] x2 + [2]
                             [0 1]      [0 0]      [0]
              n__fib1(x1, x2) = [0 0] x1 + [0 4] x2 + [0]
                                [0 1]      [0 1]      [0]
              n__add(x1, x2) = [0 0] x1 + [1 4] x2 + [4]
                               [0 0]      [0 1]      [0]
              add(x1, x2) = [0 0] x1 + [1 4] x2 + [4]
                            [0 0]      [0 1]      [0]
              activate(x1) = [1 0] x1 + [2]
                             [0 1]      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [2]
                              [0 0]      [0 0]      [4]
              c_3(x1) = [1 0] x1 + [0]
                        [0 0]      [3]
              c_7() = [1]
                      [0]
              activate^#(x1) = [2 0] x1 + [6]
                               [0 1]      [6]
              c_9(x1) = [4 0] x1 + [3]
                        [0 0]      [3]
         
         * Path {10}->{8}: YES(?,O(n^2))
           -----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
              , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
              , activate(X) -> X
              , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
              , add(0(), X) -> X
              , add(s(X), Y) -> s(add(X, Y))
              , fib1(X1, X2) -> n__fib1(X1, X2)
              , add(X1, X2) -> n__add(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {1, 2},
               Uargs(s) = {1}, Uargs(cons) = {}, Uargs(n__fib1) = {},
               Uargs(n__add) = {}, Uargs(add) = {1, 2}, Uargs(activate) = {},
               Uargs(fib^#) = {}, Uargs(c_0) = {}, Uargs(sel^#) = {},
               Uargs(fib1^#) = {}, Uargs(add^#) = {1, 2}, Uargs(c_3) = {},
               Uargs(c_5) = {}, Uargs(activate^#) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [1]
                             [0 1]      [0 1]      [2]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              0() = [3]
                    [3]
              cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [1]
              n__fib1(x1, x2) = [1 1] x1 + [1 0] x2 + [0]
                                [0 1]      [0 1]      [2]
              n__add(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 1]      [0 1]      [2]
              add(x1, x2) = [1 2] x1 + [1 0] x2 + [1]
                            [0 1]      [0 1]      [2]
              activate(x1) = [1 2] x1 + [1]
                             [0 1]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [3 0] x1 + [3 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_10() = [0]
                       [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^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {add^#(X1, X2) -> c_7()}
             Weak Rules:
               {  activate^#(n__add(X1, X2)) ->
                  c_9(add^#(activate(X1), activate(X2)))
                , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
                , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
                , activate(X) -> X
                , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
                , add(0(), X) -> X
                , add(s(X), Y) -> s(add(X, Y))
                , fib1(X1, X2) -> n__fib1(X1, X2)
                , add(X1, X2) -> n__add(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(fib1) = {}, Uargs(s) = {}, Uargs(cons) = {},
               Uargs(n__fib1) = {}, Uargs(n__add) = {}, Uargs(add) = {},
               Uargs(activate) = {}, Uargs(add^#) = {}, Uargs(activate^#) = {},
               Uargs(c_9) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib1(x1, x2) = [0 0] x1 + [1 7] x2 + [4]
                             [0 0]      [0 1]      [2]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                             [0 0]      [0 0]      [2]
              n__fib1(x1, x2) = [0 0] x1 + [1 7] x2 + [0]
                                [0 0]      [0 1]      [2]
              n__add(x1, x2) = [1 1] x1 + [1 2] x2 + [0]
                               [0 1]      [0 1]      [0]
              add(x1, x2) = [1 1] x1 + [1 2] x2 + [0]
                            [0 1]      [0 1]      [0]
              activate(x1) = [1 2] x1 + [0]
                             [0 1]      [0]
              add^#(x1, x2) = [2 0] x1 + [0 2] x2 + [1]
                              [0 0]      [0 0]      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [7 1] x1 + [7]
                               [4 5]      [7]
              c_9(x1) = [2 0] x1 + [1]
                        [2 0]      [1]
         
         * Path {11}: YES(?,O(1))
           ----------------------
           
           The usable rules of this path are empty.
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(fib) = {}, Uargs(sel) = {}, Uargs(fib1) = {}, Uargs(s) = {},
               Uargs(cons) = {}, Uargs(n__fib1) = {}, Uargs(n__add) = {},
               Uargs(add) = {}, Uargs(activate) = {}, Uargs(fib^#) = {},
               Uargs(c_0) = {}, Uargs(sel^#) = {}, Uargs(fib1^#) = {},
               Uargs(add^#) = {}, Uargs(c_3) = {}, Uargs(c_5) = {},
               Uargs(activate^#) = {}, Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              fib(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              fib1(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              0() = [0]
                    [0]
              cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              n__fib1(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              n__add(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              add(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              activate(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
              fib^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
              c_0(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              sel^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              fib1^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
              c_1() = [0]
                      [0]
              add^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_2() = [0]
                      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4() = [0]
                      [0]
              c_5(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_6() = [0]
                      [0]
              c_7() = [0]
                      [0]
              activate^#(x1) = [0 0] x1 + [0]
                               [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_10() = [0]
                       [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {activate^#(X) -> c_10()}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(activate^#) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              activate^#(x1) = [0 0] x1 + [7]
                               [0 0]      [7]
              c_10() = [0]
                       [1]

Tool RC1

Execution TimeUnknown
Answer
MAYBE
InputTransformed CSR 04 Ex8 BLR02 FR

stdout:

MAYBE

Tool RC2

Execution TimeUnknown
Answer
TIMEOUT
InputTransformed CSR 04 Ex8 BLR02 FR

stdout:

TIMEOUT

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           TIMEOUT
Input Problem:    runtime-complexity with respect to
  Rules:
    {  fib(N) -> sel(N, fib1(s(0()), s(0())))
     , fib1(X, Y) -> cons(X, n__fib1(Y, n__add(X, Y)))
     , add(0(), X) -> X
     , add(s(X), Y) -> s(add(X, Y))
     , sel(0(), cons(X, XS)) -> X
     , sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
     , fib1(X1, X2) -> n__fib1(X1, X2)
     , add(X1, X2) -> n__add(X1, X2)
     , activate(n__fib1(X1, X2)) -> fib1(activate(X1), activate(X2))
     , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2))
     , activate(X) -> X}

Proof Output:    
  Computation stopped due to timeout after 60.0 seconds