Problem Transformed CSR 04 Ex7 BLR02 Z

Tool CaT

Execution TimeUnknown
Answer
MAYBE
InputTransformed CSR 04 Ex7 BLR02 Z

stdout:

MAYBE

Problem:
 from(X) -> cons(X,n__from(s(X)))
 head(cons(X,XS)) -> X
 2nd(cons(X,XS)) -> head(activate(XS))
 take(0(),XS) -> nil()
 take(s(N),cons(X,XS)) -> cons(X,n__take(N,activate(XS)))
 sel(0(),cons(X,XS)) -> X
 sel(s(N),cons(X,XS)) -> sel(N,activate(XS))
 from(X) -> n__from(X)
 take(X1,X2) -> n__take(X1,X2)
 activate(n__from(X)) -> from(X)
 activate(n__take(X1,X2)) -> take(X1,X2)
 activate(X) -> X

Proof:
 Open

Tool IRC1

Execution TimeUnknown
Answer
MAYBE
InputTransformed CSR 04 Ex7 BLR02 Z

stdout:

MAYBE

Tool IRC2

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputTransformed CSR 04 Ex7 BLR02 Z

stdout:

YES(?,O(n^1))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  from(X) -> cons(X, n__from(s(X)))
     , head(cons(X, XS)) -> X
     , 2nd(cons(X, XS)) -> head(activate(XS))
     , take(0(), XS) -> nil()
     , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
     , sel(0(), cons(X, XS)) -> X
     , sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
     , from(X) -> n__from(X)
     , take(X1, X2) -> n__take(X1, X2)
     , activate(n__from(X)) -> from(X)
     , activate(n__take(X1, X2)) -> take(X1, X2)
     , activate(X) -> X}

Proof Output:    
  'wdg' proved the best result:
  
  Details:
  --------
    'wdg' succeeded with the following output:
     'wdg'
     -----
     Answer:           YES(?,O(n^1))
     Input Problem:    innermost runtime-complexity with respect to
       Rules:
         {  from(X) -> cons(X, n__from(s(X)))
          , head(cons(X, XS)) -> X
          , 2nd(cons(X, XS)) -> head(activate(XS))
          , take(0(), XS) -> nil()
          , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
          , sel(0(), cons(X, XS)) -> X
          , sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
          , from(X) -> n__from(X)
          , take(X1, X2) -> n__take(X1, X2)
          , activate(n__from(X)) -> from(X)
          , activate(n__take(X1, X2)) -> take(X1, X2)
          , activate(X) -> X}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: from^#(X) -> c_0()
            , 2: head^#(cons(X, XS)) -> c_1()
            , 3: 2nd^#(cons(X, XS)) -> c_2(head^#(activate(XS)))
            , 4: take^#(0(), XS) -> c_3()
            , 5: take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
            , 6: sel^#(0(), cons(X, XS)) -> c_5()
            , 7: sel^#(s(N), cons(X, XS)) -> c_6(sel^#(N, activate(XS)))
            , 8: from^#(X) -> c_7()
            , 9: take^#(X1, X2) -> c_8()
            , 10: activate^#(n__from(X)) -> c_9(from^#(X))
            , 11: activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))
            , 12: activate^#(X) -> c_11()}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{7}                                                       [   YES(?,O(n^1))    ]
              |
              `->{6}                                                   [   YES(?,O(n^1))    ]
           
           ->{5,11}                                                    [   YES(?,O(n^1))    ]
              |
              |->{4}                                                   [   YES(?,O(n^1))    ]
              |
              |->{9}                                                   [   YES(?,O(n^1))    ]
              |
              |->{10}                                                  [   YES(?,O(n^1))    ]
              |   |
              |   |->{1}                                               [   YES(?,O(n^1))    ]
              |   |
              |   `->{8}                                               [   YES(?,O(n^1))    ]
              |
              `->{12}                                                  [   YES(?,O(n^1))    ]
           
           ->{3}                                                       [   YES(?,O(n^1))    ]
              |
              `->{2}                                                   [   YES(?,O(n^1))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {3}: YES(?,O(n^1))
           -----------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {2},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {1},
               Uargs(2nd^#) = {}, Uargs(c_2) = {1}, Uargs(take^#) = {},
               Uargs(c_4) = {}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [2] x1 + [2]
              cons(x1, x2) = [1] x1 + [1] x2 + [0]
              n__from(x1) = [1] x1 + [0]
              s(x1) = [1] x1 + [1]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [2] x1 + [3]
              take(x1, x2) = [2] x1 + [2] x2 + [3]
              0() = [3]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [1]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [1] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [3] x1 + [0]
              c_2(x1) = [1] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [0] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [0] x1 + [0]
              c_11() = [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 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {2nd^#(cons(X, XS)) -> c_2(head^#(activate(XS)))}
             Weak Rules:
               {  activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {}, Uargs(take) = {},
               Uargs(n__take) = {}, Uargs(head^#) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [0]
              activate(x1) = [1] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [2] x1 + [0]
              2nd^#(x1) = [6] x1 + [7]
              c_2(x1) = [2] x1 + [5]
         
         * Path {3}->{2}: YES(?,O(n^1))
           ----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {2},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {1},
               Uargs(2nd^#) = {}, Uargs(c_2) = {1}, Uargs(take^#) = {},
               Uargs(c_4) = {}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [3]
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [1]
              s(x1) = [1] x1 + [2]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [1] x1 + [3]
              take(x1, x2) = [1] x1 + [1] x2 + [2]
              0() = [3]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [3] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [1] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [0] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [0] x1 + [0]
              c_11() = [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 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {head^#(cons(X, XS)) -> c_1()}
             Weak Rules:
               {  2nd^#(cons(X, XS)) -> c_2(head^#(activate(XS)))
                , activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {}, Uargs(take) = {},
               Uargs(n__take) = {}, Uargs(head^#) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [0]
              activate(x1) = [1] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [2] x1 + [1]
              c_1() = [0]
              2nd^#(x1) = [4] x1 + [7]
              c_2(x1) = [2] x1 + [1]
         
         * Path {5,11}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [1] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [1] x1 + [3] x2 + [0]
              c_3() = [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [3] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11() = [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {1}, Uargs(activate^#) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [0] x1 + [1] x2 + [4]
              s(x1) = [0] x1 + [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [1]
              take^#(x1, x2) = [0] x1 + [1] x2 + [0]
              c_4(x1) = [1] x1 + [1]
              activate^#(x1) = [1] x1 + [1]
              c_10(x1) = [1] x1 + [1]
         
         * Path {5,11}->{4}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11() = [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {take^#(0(), XS) -> c_3()}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {1}, Uargs(activate^#) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [0] x1 + [1] x2 + [2]
              s(x1) = [0] x1 + [0]
              0() = [2]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              take^#(x1, x2) = [2] x1 + [4] x2 + [0]
              c_3() = [1]
              c_4(x1) = [1] x1 + [6]
              activate^#(x1) = [4] x1 + [0]
              c_10(x1) = [1] x1 + [0]
         
         * Path {5,11}->{9}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11() = [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {take^#(X1, X2) -> c_8()}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {1}, Uargs(activate^#) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              s(x1) = [0] x1 + [2]
              n__take(x1, x2) = [1] x1 + [1] x2 + [2]
              take^#(x1, x2) = [2] x1 + [4] x2 + [4]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [4] x1 + [0]
              c_8() = [1]
              c_10(x1) = [1] x1 + [2]
         
         * Path {5,11}->{10}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [1] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [1] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [3] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [3] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11() = [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {activate^#(n__from(X)) -> c_9(from^#(X))}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(n__from) = {}, Uargs(s) = {},
               Uargs(n__take) = {}, Uargs(from^#) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [1] x1 + [0]
              s(x1) = [0] x1 + [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              from^#(x1) = [7] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [1]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [0] x1 + [1]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
         
         * Path {5,11}->{10}->{1}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {1}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [1] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11() = [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {from^#(X) -> c_0()}
             Weak Rules:
               {  activate^#(n__from(X)) -> c_9(from^#(X))
                , take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(n__from) = {}, Uargs(s) = {},
               Uargs(n__take) = {}, Uargs(from^#) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(c_9) = {1},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [0] x1 + [1] x2 + [2]
              n__from(x1) = [1] x1 + [0]
              s(x1) = [0] x1 + [2]
              n__take(x1, x2) = [1] x1 + [1] x2 + [4]
              from^#(x1) = [1] x1 + [2]
              c_0() = [1]
              take^#(x1, x2) = [2] x1 + [2] x2 + [0]
              c_4(x1) = [1] x1 + [3]
              activate^#(x1) = [2] x1 + [4]
              c_9(x1) = [2] x1 + [0]
              c_10(x1) = [1] x1 + [2]
         
         * Path {5,11}->{10}->{8}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {1}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [1] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11() = [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {from^#(X) -> c_7()}
             Weak Rules:
               {  activate^#(n__from(X)) -> c_9(from^#(X))
                , take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(n__from) = {}, Uargs(s) = {},
               Uargs(n__take) = {}, Uargs(from^#) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(c_9) = {1},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [0] x1 + [1] x2 + [2]
              n__from(x1) = [1] x1 + [0]
              s(x1) = [0] x1 + [2]
              n__take(x1, x2) = [1] x1 + [1] x2 + [4]
              from^#(x1) = [1] x1 + [2]
              take^#(x1, x2) = [2] x1 + [2] x2 + [0]
              c_4(x1) = [1] x1 + [3]
              activate^#(x1) = [2] x1 + [4]
              c_7() = [1]
              c_9(x1) = [2] x1 + [0]
              c_10(x1) = [1] x1 + [2]
         
         * Path {5,11}->{12}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {1}, Uargs(activate^#) = {}, Uargs(sel^#) = {},
               Uargs(c_6) = {}, Uargs(c_9) = {}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5() = [0]
              c_6(x1) = [0] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11() = [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {activate^#(X) -> c_11()}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {1}, Uargs(activate^#) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [0] x1 + [1] x2 + [2]
              s(x1) = [0] x1 + [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              take^#(x1, x2) = [0] x1 + [2] x2 + [0]
              c_4(x1) = [1] x1 + [0]
              activate^#(x1) = [2] x1 + [2]
              c_10(x1) = [1] x1 + [2]
              c_11() = [1]
         
         * Path {7}: YES(?,O(n^1))
           -----------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weight gap principle does not apply:
             The input cannot be shown compatible
           Complexity induced by the adequate RMI: MAYBE
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost runtime-complexity with respect to
             Rules:
               {  sel^#(s(N), cons(X, XS)) -> c_6(sel^#(N, activate(XS)))
                , activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {}, Uargs(take) = {},
               Uargs(n__take) = {2}, Uargs(sel^#) = {2}, Uargs(c_6) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [3]
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [5]
              activate(x1) = [1] x1 + [4]
              take(x1, x2) = [1] x1 + [1] x2 + [6]
              0() = [4]
              nil() = [1]
              n__take(x1, x2) = [1] x1 + [1] x2 + [4]
              sel^#(x1, x2) = [2] x1 + [2] x2 + [0]
              c_6(x1) = [1] x1 + [1]
         
         * Path {7}->{6}: YES(?,O(n^1))
           ----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {2},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(head^#) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {}, Uargs(activate^#) = {}, Uargs(sel^#) = {2},
               Uargs(c_6) = {1}, Uargs(c_9) = {}, Uargs(c_10) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [3]
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [1]
              s(x1) = [1] x1 + [2]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [1] x1 + [3]
              take(x1, x2) = [1] x1 + [1] x2 + [2]
              0() = [3]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0() = [0]
              head^#(x1) = [0] x1 + [0]
              c_1() = [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1) = [0] x1 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [3] x2 + [0]
              c_5() = [0]
              c_6(x1) = [1] x1 + [0]
              c_7() = [0]
              c_8() = [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [0] x1 + [0]
              c_11() = [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 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {sel^#(0(), cons(X, XS)) -> c_5()}
             Weak Rules:
               {  sel^#(s(N), cons(X, XS)) -> c_6(sel^#(N, activate(XS)))
                , activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {}, Uargs(take) = {},
               Uargs(n__take) = {}, Uargs(sel^#) = {}, Uargs(c_6) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [4]
              cons(x1, x2) = [0] x1 + [0] x2 + [1]
              n__from(x1) = [0] x1 + [4]
              s(x1) = [1] x1 + [0]
              activate(x1) = [1] x1 + [0]
              take(x1, x2) = [0] x1 + [1] x2 + [7]
              0() = [0]
              nil() = [1]
              n__take(x1, x2) = [0] x1 + [1] x2 + [7]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [1]
              c_5() = [0]
              c_6(x1) = [1] x1 + [0]

Tool RC1

Execution TimeUnknown
Answer
MAYBE
InputTransformed CSR 04 Ex7 BLR02 Z

stdout:

MAYBE

Tool RC2

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputTransformed CSR 04 Ex7 BLR02 Z

stdout:

YES(?,O(n^1))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    runtime-complexity with respect to
  Rules:
    {  from(X) -> cons(X, n__from(s(X)))
     , head(cons(X, XS)) -> X
     , 2nd(cons(X, XS)) -> head(activate(XS))
     , take(0(), XS) -> nil()
     , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
     , sel(0(), cons(X, XS)) -> X
     , sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
     , from(X) -> n__from(X)
     , take(X1, X2) -> n__take(X1, X2)
     , activate(n__from(X)) -> from(X)
     , activate(n__take(X1, X2)) -> take(X1, X2)
     , activate(X) -> X}

Proof Output:    
  'wdg' proved the best result:
  
  Details:
  --------
    'wdg' succeeded with the following output:
     'wdg'
     -----
     Answer:           YES(?,O(n^1))
     Input Problem:    runtime-complexity with respect to
       Rules:
         {  from(X) -> cons(X, n__from(s(X)))
          , head(cons(X, XS)) -> X
          , 2nd(cons(X, XS)) -> head(activate(XS))
          , take(0(), XS) -> nil()
          , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
          , sel(0(), cons(X, XS)) -> X
          , sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
          , from(X) -> n__from(X)
          , take(X1, X2) -> n__take(X1, X2)
          , activate(n__from(X)) -> from(X)
          , activate(n__take(X1, X2)) -> take(X1, X2)
          , activate(X) -> X}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: from^#(X) -> c_0(X, X)
            , 2: head^#(cons(X, XS)) -> c_1(X)
            , 3: 2nd^#(cons(X, XS)) -> c_2(head^#(activate(XS)))
            , 4: take^#(0(), XS) -> c_3()
            , 5: take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
            , 6: sel^#(0(), cons(X, XS)) -> c_5(X)
            , 7: sel^#(s(N), cons(X, XS)) -> c_6(sel^#(N, activate(XS)))
            , 8: from^#(X) -> c_7(X)
            , 9: take^#(X1, X2) -> c_8(X1, X2)
            , 10: activate^#(n__from(X)) -> c_9(from^#(X))
            , 11: activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))
            , 12: activate^#(X) -> c_11(X)}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{7}                                                       [   YES(?,O(n^1))    ]
              |
              `->{6}                                                   [   YES(?,O(n^1))    ]
           
           ->{5,11}                                                    [   YES(?,O(n^1))    ]
              |
              |->{4}                                                   [   YES(?,O(n^1))    ]
              |
              |->{9}                                                   [   YES(?,O(n^1))    ]
              |
              |->{10}                                                  [   YES(?,O(n^1))    ]
              |   |
              |   |->{1}                                               [   YES(?,O(n^1))    ]
              |   |
              |   `->{8}                                               [   YES(?,O(n^1))    ]
              |
              `->{12}                                                  [   YES(?,O(n^1))    ]
           
           ->{3}                                                       [   YES(?,O(n^1))    ]
              |
              `->{2}                                                   [   YES(?,O(n^1))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {3}: YES(?,O(n^1))
           -----------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {2},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {1}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {1}, Uargs(take^#) = {}, Uargs(c_4) = {},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [2] x1 + [2]
              cons(x1, x2) = [1] x1 + [1] x2 + [0]
              n__from(x1) = [1] x1 + [0]
              s(x1) = [1] x1 + [1]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [2] x1 + [3]
              take(x1, x2) = [2] x1 + [2] x2 + [3]
              0() = [3]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [1]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [1] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [3] x1 + [0]
              c_2(x1) = [1] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [0] x1 + [0]
              c_11(x1) = [0] x1 + [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 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {2nd^#(cons(X, XS)) -> c_2(head^#(activate(XS)))}
             Weak Rules:
               {  activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {}, Uargs(take) = {},
               Uargs(n__take) = {}, Uargs(head^#) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [0]
              activate(x1) = [1] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [2] x1 + [0]
              2nd^#(x1) = [6] x1 + [7]
              c_2(x1) = [2] x1 + [5]
         
         * Path {3}->{2}: YES(?,O(n^1))
           ----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {2},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {1}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {1}, Uargs(take^#) = {}, Uargs(c_4) = {},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [2]
              cons(x1, x2) = [0] x1 + [1] x2 + [1]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [3] x1 + [3]
              take(x1, x2) = [0] x1 + [3] x2 + [2]
              0() = [3]
              nil() = [1]
              n__take(x1, x2) = [0] x1 + [1] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [3] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [1] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [0] x1 + [0]
              c_11(x1) = [0] x1 + [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 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {head^#(cons(X, XS)) -> c_1(X)}
             Weak Rules:
               {  2nd^#(cons(X, XS)) -> c_2(head^#(activate(XS)))
                , activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {}, Uargs(take) = {},
               Uargs(n__take) = {}, Uargs(head^#) = {}, Uargs(c_1) = {},
               Uargs(2nd^#) = {}, Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [7]
              cons(x1, x2) = [0] x1 + [1] x2 + [2]
              n__from(x1) = [0] x1 + [4]
              s(x1) = [1] x1 + [0]
              activate(x1) = [2] x1 + [1]
              take(x1, x2) = [0] x1 + [0] x2 + [3]
              0() = [0]
              nil() = [1]
              n__take(x1, x2) = [0] x1 + [0] x2 + [1]
              head^#(x1) = [3] x1 + [2]
              c_1(x1) = [0] x1 + [1]
              2nd^#(x1) = [6] x1 + [3]
              c_2(x1) = [1] x1 + [2]
         
         * Path {5,11}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {3},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [1] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [1] x1 + [3] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [0]
              activate^#(x1) = [3] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [0] x1 + [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {3}, Uargs(activate^#) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [1] x1 + [1] x2 + [2]
              s(x1) = [1] x1 + [2]
              n__take(x1, x2) = [1] x1 + [1] x2 + [4]
              take^#(x1, x2) = [2] x1 + [2] x2 + [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [7]
              activate^#(x1) = [2] x1 + [0]
              c_10(x1) = [1] x1 + [7]
         
         * Path {5,11}->{4}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {3},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [0] x1 + [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {take^#(0(), XS) -> c_3()}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {3}, Uargs(activate^#) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [1] x1 + [1] x2 + [0]
              s(x1) = [1] x1 + [2]
              0() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [2]
              take^#(x1, x2) = [2] x1 + [4] x2 + [1]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [2]
              activate^#(x1) = [4] x1 + [0]
              c_10(x1) = [1] x1 + [5]
         
         * Path {5,11}->{9}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {3},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [3] x1 + [3] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [1] x1 + [1] x2 + [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [0] x1 + [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {take^#(X1, X2) -> c_8(X1, X2)}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {3}, Uargs(activate^#) = {},
               Uargs(c_8) = {}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [1] x1 + [1] x2 + [2]
              s(x1) = [1] x1 + [2]
              n__take(x1, x2) = [1] x1 + [1] x2 + [4]
              take^#(x1, x2) = [2] x1 + [2] x2 + [4]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
              activate^#(x1) = [2] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [1]
              c_10(x1) = [1] x1 + [2]
         
         * Path {5,11}->{10}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {3},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [1] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [1] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
              activate^#(x1) = [3] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [3] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [0] x1 + [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {activate^#(n__from(X)) -> c_9(from^#(X))}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(n__from) = {}, Uargs(s) = {},
               Uargs(n__take) = {}, Uargs(from^#) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {3}, Uargs(activate^#) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [1] x1 + [1] x2 + [6]
              n__from(x1) = [1] x1 + [2]
              s(x1) = [1] x1 + [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [2]
              from^#(x1) = [7] x1 + [0]
              take^#(x1, x2) = [0] x1 + [2] x2 + [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [7]
              activate^#(x1) = [2] x1 + [4]
              c_9(x1) = [0] x1 + [7]
              c_10(x1) = [1] x1 + [0]
         
         * Path {5,11}->{10}->{1}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {3},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}, Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [3] x1 + [0]
              c_0(x1, x2) = [2] x1 + [1] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [1] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [0] x1 + [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {from^#(X) -> c_0(X, X)}
             Weak Rules:
               {  activate^#(n__from(X)) -> c_9(from^#(X))
                , take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(n__from) = {}, Uargs(s) = {},
               Uargs(n__take) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {3}, Uargs(activate^#) = {},
               Uargs(c_9) = {1}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [1] x1 + [1] x2 + [3]
              n__from(x1) = [1] x1 + [2]
              s(x1) = [1] x1 + [5]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              from^#(x1) = [1] x1 + [2]
              c_0(x1, x2) = [1] x1 + [0] x2 + [1]
              take^#(x1, x2) = [1] x1 + [1] x2 + [0]
              c_4(x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [7]
              activate^#(x1) = [1] x1 + [0]
              c_9(x1) = [1] x1 + [0]
              c_10(x1) = [1] x1 + [0]
         
         * Path {5,11}->{10}->{8}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {3},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {1}, Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [3] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [1] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [1] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [0] x1 + [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {from^#(X) -> c_7(X)}
             Weak Rules:
               {  activate^#(n__from(X)) -> c_9(from^#(X))
                , take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(n__from) = {}, Uargs(s) = {},
               Uargs(n__take) = {}, Uargs(from^#) = {}, Uargs(take^#) = {},
               Uargs(c_4) = {3}, Uargs(activate^#) = {}, Uargs(c_7) = {},
               Uargs(c_9) = {1}, Uargs(c_10) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [1] x1 + [1] x2 + [0]
              n__from(x1) = [1] x1 + [2]
              s(x1) = [1] x1 + [6]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              from^#(x1) = [1] x1 + [2]
              take^#(x1, x2) = [2] x1 + [2] x2 + [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [7]
              activate^#(x1) = [2] x1 + [4]
              c_7(x1) = [1] x1 + [1]
              c_9(x1) = [2] x1 + [2]
              c_10(x1) = [1] x1 + [3]
         
         * Path {5,11}->{12}: YES(?,O(n^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(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {}, Uargs(take) = {}, Uargs(n__take) = {},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {3},
               Uargs(activate^#) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {}, Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(c_9) = {},
               Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [0] x1 + [0]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [0] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
              activate^#(x1) = [3] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [0] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [1] x1 + [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {activate^#(X) -> c_11(X)}
             Weak Rules:
               {  take^#(s(N), cons(X, XS)) -> c_4(X, N, activate^#(XS))
                , activate^#(n__take(X1, X2)) -> c_10(take^#(X1, X2))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(cons) = {}, Uargs(s) = {}, Uargs(n__take) = {},
               Uargs(take^#) = {}, Uargs(c_4) = {3}, Uargs(activate^#) = {},
               Uargs(c_10) = {1}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              cons(x1, x2) = [1] x1 + [1] x2 + [0]
              s(x1) = [1] x1 + [6]
              n__take(x1, x2) = [1] x1 + [1] x2 + [1]
              take^#(x1, x2) = [2] x1 + [4] x2 + [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [7]
              activate^#(x1) = [4] x1 + [4]
              c_10(x1) = [1] x1 + [0]
              c_11(x1) = [0] x1 + [1]
         
         * Path {7}: YES(?,O(n^1))
           -----------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weight gap principle does not apply:
             The input cannot be shown compatible
           Complexity induced by the adequate RMI: MAYBE
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    runtime-complexity with respect to
             Rules:
               {  sel^#(s(N), cons(X, XS)) -> c_6(sel^#(N, activate(XS)))
                , activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {1}, Uargs(take) = {2},
               Uargs(n__take) = {2}, Uargs(sel^#) = {2}, Uargs(c_6) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [3]
              cons(x1, x2) = [0] x1 + [1] x2 + [1]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [7]
              activate(x1) = [1] x1 + [4]
              take(x1, x2) = [1] x1 + [1] x2 + [1]
              0() = [0]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [0]
              sel^#(x1, x2) = [1] x1 + [2] x2 + [0]
              c_6(x1) = [1] x1 + [0]
         
         * Path {7}->{6}: YES(?,O(n^1))
           ----------------------------
           
           The usable rules for this path are:
           
             {  activate(n__from(X)) -> from(X)
              , activate(n__take(X1, X2)) -> take(X1, X2)
              , activate(X) -> X
              , from(X) -> cons(X, n__from(s(X)))
              , take(0(), XS) -> nil()
              , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
              , from(X) -> n__from(X)
              , take(X1, X2) -> n__take(X1, X2)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {2}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(head) = {}, Uargs(2nd) = {},
               Uargs(activate) = {1}, Uargs(take) = {2}, Uargs(n__take) = {2},
               Uargs(sel) = {}, Uargs(from^#) = {}, Uargs(c_0) = {},
               Uargs(head^#) = {}, Uargs(c_1) = {}, Uargs(2nd^#) = {},
               Uargs(c_2) = {}, Uargs(take^#) = {}, Uargs(c_4) = {},
               Uargs(activate^#) = {}, Uargs(sel^#) = {2}, Uargs(c_5) = {},
               Uargs(c_6) = {1}, Uargs(c_7) = {}, Uargs(c_8) = {},
               Uargs(c_9) = {}, Uargs(c_10) = {}, Uargs(c_11) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [3]
              cons(x1, x2) = [0] x1 + [1] x2 + [0]
              n__from(x1) = [0] x1 + [2]
              s(x1) = [1] x1 + [1]
              head(x1) = [0] x1 + [0]
              2nd(x1) = [0] x1 + [0]
              activate(x1) = [2] x1 + [1]
              take(x1, x2) = [2] x1 + [2] x2 + [3]
              0() = [3]
              nil() = [0]
              n__take(x1, x2) = [1] x1 + [1] x2 + [2]
              sel(x1, x2) = [0] x1 + [0] x2 + [0]
              from^#(x1) = [0] x1 + [0]
              c_0(x1, x2) = [0] x1 + [0] x2 + [0]
              head^#(x1) = [0] x1 + [0]
              c_1(x1) = [0] x1 + [0]
              2nd^#(x1) = [0] x1 + [0]
              c_2(x1) = [0] x1 + [0]
              take^#(x1, x2) = [0] x1 + [0] x2 + [0]
              c_3() = [0]
              c_4(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
              activate^#(x1) = [0] x1 + [0]
              sel^#(x1, x2) = [0] x1 + [3] x2 + [0]
              c_5(x1) = [0] x1 + [0]
              c_6(x1) = [1] x1 + [0]
              c_7(x1) = [0] x1 + [0]
              c_8(x1, x2) = [0] x1 + [0] x2 + [0]
              c_9(x1) = [0] x1 + [0]
              c_10(x1) = [0] x1 + [0]
              c_11(x1) = [0] x1 + [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 1'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {sel^#(0(), cons(X, XS)) -> c_5(X)}
             Weak Rules:
               {  sel^#(s(N), cons(X, XS)) -> c_6(sel^#(N, activate(XS)))
                , activate(n__from(X)) -> from(X)
                , activate(n__take(X1, X2)) -> take(X1, X2)
                , activate(X) -> X
                , from(X) -> cons(X, n__from(s(X)))
                , take(0(), XS) -> nil()
                , take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS)))
                , from(X) -> n__from(X)
                , take(X1, X2) -> n__take(X1, X2)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
               Uargs(s) = {}, Uargs(activate) = {}, Uargs(take) = {},
               Uargs(n__take) = {}, Uargs(sel^#) = {}, Uargs(c_5) = {},
               Uargs(c_6) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              from(x1) = [0] x1 + [0]
              cons(x1, x2) = [0] x1 + [0] x2 + [0]
              n__from(x1) = [0] x1 + [0]
              s(x1) = [1] x1 + [0]
              activate(x1) = [1] x1 + [0]
              take(x1, x2) = [0] x1 + [0] x2 + [0]
              0() = [2]
              nil() = [0]
              n__take(x1, x2) = [0] x1 + [0] x2 + [0]
              sel^#(x1, x2) = [2] x1 + [0] x2 + [0]
              c_5(x1) = [0] x1 + [1]
              c_6(x1) = [1] x1 + [0]