Problem AProVE 07 thiemann16

Tool CaT

Execution TimeUnknown
Answer
MAYBE
InputAProVE 07 thiemann16

stdout:

MAYBE

Problem:
 check(0()) -> zero()
 check(s(0())) -> odd()
 check(s(s(0()))) -> even()
 check(s(s(s(x)))) -> check(s(x))
 half(0()) -> 0()
 half(s(0())) -> 0()
 half(s(s(x))) -> s(half(x))
 plus(0(),y) -> y
 plus(s(x),y) -> s(plus(x,y))
 times(x,y) -> timesIter(x,y,0())
 timesIter(x,y,z) -> if(check(x),x,y,z,plus(z,y))
 p(s(x)) -> x
 p(0()) -> 0()
 if(zero(),x,y,z,u) -> z
 if(odd(),x,y,z,u) -> timesIter(p(x),y,u)
 if(even(),x,y,z,u) -> plus(timesIter(half(x),y,half(z)),timesIter(half(x),y,half(s(z))))

Proof:
 Open

Tool IRC1

Execution TimeUnknown
Answer
MAYBE
InputAProVE 07 thiemann16

stdout:

MAYBE

Tool IRC2

Execution TimeUnknown
Answer
TIMEOUT
InputAProVE 07 thiemann16

stdout:

TIMEOUT

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           TIMEOUT
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  check(0()) -> zero()
     , check(s(0())) -> odd()
     , check(s(s(0()))) -> even()
     , check(s(s(s(x)))) -> check(s(x))
     , half(0()) -> 0()
     , half(s(0())) -> 0()
     , half(s(s(x))) -> s(half(x))
     , plus(0(), y) -> y
     , plus(s(x), y) -> s(plus(x, y))
     , times(x, y) -> timesIter(x, y, 0())
     , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y))
     , p(s(x)) -> x
     , p(0()) -> 0()
     , if(zero(), x, y, z, u) -> z
     , if(odd(), x, y, z, u) -> timesIter(p(x), y, u)
     , if(even(), x, y, z, u) ->
       plus(timesIter(half(x), y, half(z)),
            timesIter(half(x), y, half(s(z))))}

Proof Output:    
  Computation stopped due to timeout after 60.0 seconds

Tool RC1

Execution TimeUnknown
Answer
MAYBE
InputAProVE 07 thiemann16

stdout:

MAYBE

Tool RC2

Execution TimeUnknown
Answer
MAYBE
InputAProVE 07 thiemann16

stdout:

MAYBE

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           MAYBE
Input Problem:    runtime-complexity with respect to
  Rules:
    {  check(0()) -> zero()
     , check(s(0())) -> odd()
     , check(s(s(0()))) -> even()
     , check(s(s(s(x)))) -> check(s(x))
     , half(0()) -> 0()
     , half(s(0())) -> 0()
     , half(s(s(x))) -> s(half(x))
     , plus(0(), y) -> y
     , plus(s(x), y) -> s(plus(x, y))
     , times(x, y) -> timesIter(x, y, 0())
     , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y))
     , p(s(x)) -> x
     , p(0()) -> 0()
     , if(zero(), x, y, z, u) -> z
     , if(odd(), x, y, z, u) -> timesIter(p(x), y, u)
     , if(even(), x, y, z, u) ->
       plus(timesIter(half(x), y, half(z)),
            timesIter(half(x), y, half(s(z))))}

Proof Output:    
  None of the processors succeeded.
  
  Details of failed attempt(s):
  -----------------------------
    1) 'wdg' failed due to the following reason:
         Transformation Details:
         -----------------------
           We have computed the following set of weak (innermost) dependency pairs:
           
             {  1: check^#(0()) -> c_0()
              , 2: check^#(s(0())) -> c_1()
              , 3: check^#(s(s(0()))) -> c_2()
              , 4: check^#(s(s(s(x)))) -> c_3(check^#(s(x)))
              , 5: half^#(0()) -> c_4()
              , 6: half^#(s(0())) -> c_5()
              , 7: half^#(s(s(x))) -> c_6(half^#(x))
              , 8: plus^#(0(), y) -> c_7(y)
              , 9: plus^#(s(x), y) -> c_8(plus^#(x, y))
              , 10: times^#(x, y) -> c_9(timesIter^#(x, y, 0()))
              , 11: timesIter^#(x, y, z) ->
                    c_10(if^#(check(x), x, y, z, plus(z, y)))
              , 12: p^#(s(x)) -> c_11(x)
              , 13: p^#(0()) -> c_12()
              , 14: if^#(zero(), x, y, z, u) -> c_13(z)
              , 15: if^#(odd(), x, y, z, u) -> c_14(timesIter^#(p(x), y, u))
              , 16: if^#(even(), x, y, z, u) ->
                    c_15(plus^#(timesIter(half(x), y, half(z)),
                                timesIter(half(x), y, half(s(z)))))}
           
           Following Dependency Graph (modulo SCCs) was computed. (Answers to
           subproofs are indicated to the right.)
           
             ->{13}                                                      [    YES(?,O(1))     ]
             
             ->{12}                                                      [   YES(?,O(n^2))    ]
             
             ->{10}                                                      [     inherited      ]
                |
                `->{11,15}                                               [     inherited      ]
                    |
                    |->{14}                                              [       MAYBE        ]
                    |
                    `->{16}                                              [     inherited      ]
                        |
                        |->{8}                                           [         NA         ]
                        |
                        `->{9}                                           [     inherited      ]
                            |
                            `->{8}                                       [         NA         ]
             
             ->{7}                                                       [   YES(?,O(n^1))    ]
                |
                |->{5}                                                   [   YES(?,O(n^1))    ]
                |
                `->{6}                                                   [   YES(?,O(n^2))    ]
             
             ->{4}                                                       [   YES(?,O(n^1))    ]
                |
                |->{2}                                                   [   YES(?,O(n^1))    ]
                |
                `->{3}                                                   [   YES(?,O(n^1))    ]
             
             ->{1}                                                       [    YES(?,O(1))     ]
             
           
         
         Sub-problems:
         -------------
           * Path {1}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {check^#(0()) -> c_0()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(check^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                      [2]
                check^#(x1) = [2 0] x1 + [7]
                              [2 2]      [7]
                c_0() = [0]
                        [1]
           
           * Path {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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {1}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [3 3]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {check^#(s(s(s(x)))) -> c_3(check^#(s(x)))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(check^#) = {}, Uargs(c_3) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [0 0] x1 + [0]
                        [0 1]      [2]
                check^#(x1) = [0 1] x1 + [0]
                              [0 0]      [0]
                c_3(x1) = [1 0] x1 + [1]
                          [0 0]      [0]
           
           * Path {4}->{2}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {1}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {check^#(s(0())) -> c_1()}
               Weak Rules: {check^#(s(s(s(x)))) -> c_3(check^#(s(x)))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(check^#) = {}, Uargs(c_3) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                      [2]
                s(x1) = [0 1] x1 + [2]
                        [0 1]      [1]
                check^#(x1) = [2 0] x1 + [0]
                              [2 0]      [0]
                c_1() = [1]
                        [0]
                c_3(x1) = [1 0] x1 + [2]
                          [0 0]      [7]
           
           * Path {4}->{3}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {1}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {check^#(s(s(0()))) -> c_2()}
               Weak Rules: {check^#(s(s(s(x)))) -> c_3(check^#(s(x)))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(check^#) = {}, Uargs(c_3) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                      [2]
                s(x1) = [1 2] x1 + [0]
                        [0 0]      [2]
                check^#(x1) = [1 0] x1 + [0]
                              [0 2]      [0]
                c_2() = [1]
                        [0]
                c_3(x1) = [1 2] x1 + [0]
                          [0 0]      [3]
           
           * Path {7}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [3 3]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {half^#(s(s(x))) -> c_6(half^#(x))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1 2] x1 + [0]
                        [0 0]      [1]
                half^#(x1) = [2 2] x1 + [2]
                             [6 0]      [0]
                c_6(x1) = [1 0] x1 + [5]
                          [2 0]      [7]
           
           * Path {7}->{5}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {half^#(0()) -> c_4()}
               Weak Rules: {half^#(s(s(x))) -> c_6(half^#(x))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                      [2]
                s(x1) = [1 2] x1 + [1]
                        [0 0]      [0]
                half^#(x1) = [2 2] x1 + [4]
                             [6 2]      [0]
                c_4() = [1]
                        [0]
                c_6(x1) = [1 0] x1 + [3]
                          [2 0]      [3]
           
           * Path {7}->{6}: YES(?,O(n^2))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {half^#(s(0())) -> c_5()}
               Weak Rules: {half^#(s(s(x))) -> c_6(half^#(x))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [1]
                      [0]
                s(x1) = [1 1] x1 + [2]
                        [0 1]      [1]
                half^#(x1) = [2 1] x1 + [1]
                             [0 0]      [7]
                c_5() = [1]
                        [1]
                c_6(x1) = [1 1] x1 + [3]
                          [0 0]      [3]
           
           * Path {10}: inherited
             --------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}: inherited
             -----------------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}->{14}: MAYBE
             -------------------------------
             
             The usable rules for this path are:
             
               {  check(0()) -> zero()
                , check(s(0())) -> odd()
                , check(s(s(0()))) -> even()
                , check(s(s(s(x)))) -> check(s(x))
                , plus(0(), y) -> y
                , plus(s(x), y) -> s(plus(x, y))
                , p(s(x)) -> x
                , p(0()) -> 0()}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(check) = {1}, Uargs(s) = {1}, Uargs(half) = {},
                 Uargs(plus) = {1}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {1}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {1}, Uargs(timesIter^#) = {1, 3},
                 Uargs(c_10) = {1}, Uargs(if^#) = {1, 2, 4, 5}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {1}, Uargs(c_14) = {1},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [2 0] x1 + [1]
                            [0 0]      [0]
                0() = [0]
                      [1]
                zero() = [0]
                         [0]
                s(x1) = [1 0] x1 + [2]
                        [0 1]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [2 0] x1 + [3 2] x2 + [2]
                               [0 0]      [3 3]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [1 1] x1 + [0]
                        [0 1]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                timesIter^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [3 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                if^#(x1, x2, x3, x4, x5) = [3 0] x1 + [3 3] x2 + [0 0] x3 + [3 0] x4 + [3 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                c_14(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           MAYBE
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {if^#(zero(), x, y, z, u) -> c_13(z)}
               Weak Rules:
                 {  timesIter^#(x, y, z) ->
                    c_10(if^#(check(x), x, y, z, plus(z, y)))
                  , if^#(odd(), x, y, z, u) -> c_14(timesIter^#(p(x), y, u))
                  , times^#(x, y) -> c_9(timesIter^#(x, y, 0()))
                  , check(0()) -> zero()
                  , check(s(0())) -> odd()
                  , check(s(s(0()))) -> even()
                  , check(s(s(s(x)))) -> check(s(x))
                  , plus(0(), y) -> y
                  , plus(s(x), y) -> s(plus(x, y))
                  , p(s(x)) -> x
                  , p(0()) -> 0()}
             
             Proof Output:    
               The input cannot be shown compatible
           
           * Path {10}->{11,15}->{16}: inherited
             -----------------------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}->{16}->{8}: NA
             ---------------------------------
             
             The usable rules for this path are:
             
               {  check(0()) -> zero()
                , check(s(0())) -> odd()
                , check(s(s(0()))) -> even()
                , check(s(s(s(x)))) -> check(s(x))
                , plus(0(), y) -> y
                , plus(s(x), y) -> s(plus(x, y))
                , p(s(x)) -> x
                , p(0()) -> 0()
                , half(0()) -> 0()
                , half(s(0())) -> 0()
                , half(s(s(x))) -> s(half(x))
                , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y))
                , if(zero(), x, y, z, u) -> z
                , if(odd(), x, y, z, u) -> timesIter(p(x), y, u)
                , if(even(), x, y, z, u) ->
                  plus(timesIter(half(x), y, half(z)),
                       timesIter(half(x), y, half(s(z))))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {10}->{11,15}->{16}->{9}: inherited
             ----------------------------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}->{16}->{9}->{8}: NA
             --------------------------------------
             
             The usable rules for this path are:
             
               {  check(0()) -> zero()
                , check(s(0())) -> odd()
                , check(s(s(0()))) -> even()
                , check(s(s(s(x)))) -> check(s(x))
                , plus(0(), y) -> y
                , plus(s(x), y) -> s(plus(x, y))
                , p(s(x)) -> x
                , p(0()) -> 0()
                , half(0()) -> 0()
                , half(s(0())) -> 0()
                , half(s(s(x))) -> s(half(x))
                , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y))
                , if(zero(), x, y, z, u) -> z
                , if(odd(), x, y, z, u) -> timesIter(p(x), y, u)
                , if(even(), x, y, z, u) ->
                  plus(timesIter(half(x), y, half(z)),
                       timesIter(half(x), y, half(s(z))))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {12}: YES(?,O(n^2))
             ------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [1 1] x1 + [0]
                        [0 1]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [3 3] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [1 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {p^#(s(x)) -> c_11(x)}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(p^#) = {}, Uargs(c_11) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1 2] x1 + [2]
                        [0 0]      [2]
                p^#(x1) = [2 2] x1 + [7]
                          [2 0]      [7]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [1]
           
           * Path {13}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0 0] x1 + [0]
                            [0 0]      [0]
                0() = [0]
                      [0]
                zero() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                odd() = [0]
                        [0]
                even() = [0]
                         [0]
                half(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                plus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                times(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                timesIter(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                        [0 0]      [0 0]      [0 0]      [0]
                if(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                         [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                check^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2() = [0]
                        [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                half^#(x1) = [0 0] x1 + [0]
                             [0 0]      [0]
                c_4() = [0]
                        [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                plus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                times^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                  [0 0]      [0 0]      [0]
                c_9(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                timesIter^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                          [0 0]      [0 0]      [0 0]      [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                if^#(x1, x2, x3, x4, x5) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0 0] x5 + [0]
                                           [0 0]      [0 0]      [0 0]      [0 0]      [0 0]      [0]
                p^#(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12() = [0]
                         [0]
                c_13(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_15(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {p^#(0()) -> c_12()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(p^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                      [2]
                p^#(x1) = [2 0] x1 + [7]
                          [2 2]      [7]
                c_12() = [0]
                         [1]
    
    2) 'wdg' failed due to the following reason:
         Transformation Details:
         -----------------------
           We have computed the following set of weak (innermost) dependency pairs:
           
             {  1: check^#(0()) -> c_0()
              , 2: check^#(s(0())) -> c_1()
              , 3: check^#(s(s(0()))) -> c_2()
              , 4: check^#(s(s(s(x)))) -> c_3(check^#(s(x)))
              , 5: half^#(0()) -> c_4()
              , 6: half^#(s(0())) -> c_5()
              , 7: half^#(s(s(x))) -> c_6(half^#(x))
              , 8: plus^#(0(), y) -> c_7(y)
              , 9: plus^#(s(x), y) -> c_8(plus^#(x, y))
              , 10: times^#(x, y) -> c_9(timesIter^#(x, y, 0()))
              , 11: timesIter^#(x, y, z) ->
                    c_10(if^#(check(x), x, y, z, plus(z, y)))
              , 12: p^#(s(x)) -> c_11(x)
              , 13: p^#(0()) -> c_12()
              , 14: if^#(zero(), x, y, z, u) -> c_13(z)
              , 15: if^#(odd(), x, y, z, u) -> c_14(timesIter^#(p(x), y, u))
              , 16: if^#(even(), x, y, z, u) ->
                    c_15(plus^#(timesIter(half(x), y, half(z)),
                                timesIter(half(x), y, half(s(z)))))}
           
           Following Dependency Graph (modulo SCCs) was computed. (Answers to
           subproofs are indicated to the right.)
           
             ->{13}                                                      [    YES(?,O(1))     ]
             
             ->{12}                                                      [   YES(?,O(n^1))    ]
             
             ->{10}                                                      [     inherited      ]
                |
                `->{11,15}                                               [     inherited      ]
                    |
                    |->{14}                                              [       MAYBE        ]
                    |
                    `->{16}                                              [     inherited      ]
                        |
                        |->{8}                                           [         NA         ]
                        |
                        `->{9}                                           [     inherited      ]
                            |
                            `->{8}                                       [         NA         ]
             
             ->{7}                                                       [   YES(?,O(n^1))    ]
                |
                |->{5}                                                   [   YES(?,O(n^1))    ]
                |
                `->{6}                                                   [    YES(?,O(1))     ]
             
             ->{4}                                                       [   YES(?,O(n^1))    ]
                |
                |->{2}                                                   [    YES(?,O(1))     ]
                |
                `->{3}                                                   [    YES(?,O(1))     ]
             
             ->{1}                                                       [    YES(?,O(1))     ]
             
           
         
         Sub-problems:
         -------------
           * Path {1}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [0] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [0] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {check^#(0()) -> c_0()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(check^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [7]
                check^#(x1) = [1] x1 + [7]
                c_0() = [1]
           
           * Path {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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {1}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [1] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [3] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [1] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(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: {check^#(s(s(s(x)))) -> c_3(check^#(s(x)))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(check^#) = {}, Uargs(c_3) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1] x1 + [2]
                check^#(x1) = [2] x1 + [0]
                c_3(x1) = [1] x1 + [5]
           
           * Path {4}->{2}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {1}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [0] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [1] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {check^#(s(0())) -> c_1()}
               Weak Rules: {check^#(s(s(s(x)))) -> c_3(check^#(s(x)))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(check^#) = {}, Uargs(c_3) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                s(x1) = [0] x1 + [2]
                check^#(x1) = [2] x1 + [0]
                c_1() = [1]
                c_3(x1) = [1] x1 + [0]
           
           * Path {4}->{3}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {1}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [0] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [1] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {check^#(s(s(0()))) -> c_2()}
               Weak Rules: {check^#(s(s(s(x)))) -> c_3(check^#(s(x)))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(check^#) = {}, Uargs(c_3) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                s(x1) = [0] x1 + [2]
                check^#(x1) = [2] x1 + [4]
                c_2() = [1]
                c_3(x1) = [1] x1 + [0]
           
           * Path {7}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [1] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [0] x1 + [0]
                half^#(x1) = [3] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [1] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(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: {half^#(s(s(x))) -> c_6(half^#(x))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1] x1 + [2]
                half^#(x1) = [2] x1 + [0]
                c_6(x1) = [1] x1 + [7]
           
           * Path {7}->{5}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [0] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [0] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [1] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(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: {half^#(0()) -> c_4()}
               Weak Rules: {half^#(s(s(x))) -> c_6(half^#(x))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                s(x1) = [1] x1 + [0]
                half^#(x1) = [2] x1 + [4]
                c_4() = [1]
                c_6(x1) = [1] x1 + [0]
           
           * Path {7}->{6}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [0] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [0] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [1] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {half^#(s(0())) -> c_5()}
               Weak Rules: {half^#(s(s(x))) -> c_6(half^#(x))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(half^#) = {}, Uargs(c_6) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                s(x1) = [0] x1 + [0]
                half^#(x1) = [0] x1 + [1]
                c_5() = [0]
                c_6(x1) = [1] x1 + [0]
           
           * Path {10}: inherited
             --------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}: inherited
             -----------------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}->{14}: MAYBE
             -------------------------------
             
             The usable rules for this path are:
             
               {  check(0()) -> zero()
                , check(s(0())) -> odd()
                , check(s(s(0()))) -> even()
                , check(s(s(s(x)))) -> check(s(x))
                , plus(0(), y) -> y
                , plus(s(x), y) -> s(plus(x, y))
                , p(s(x)) -> x
                , p(0()) -> 0()}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(check) = {1}, Uargs(s) = {1}, Uargs(half) = {},
                 Uargs(plus) = {1}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {1}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {1}, Uargs(timesIter^#) = {1, 3},
                 Uargs(c_10) = {1}, Uargs(if^#) = {1, 2, 4, 5}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {1}, Uargs(c_14) = {1},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [3] x1 + [0]
                0() = [2]
                zero() = [1]
                s(x1) = [1] x1 + [2]
                odd() = [1]
                even() = [1]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [2] x1 + [3] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [3] x1 + [3]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [0] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [1] x1 + [0]
                timesIter^#(x1, x2, x3) = [3] x1 + [0] x2 + [3] x3 + [0]
                c_10(x1) = [1] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [3] x1 + [3] x2 + [0] x3 + [3] x4 + [3] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [1] x1 + [0]
                c_14(x1) = [1] x1 + [0]
                c_15(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:           MAYBE
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {if^#(zero(), x, y, z, u) -> c_13(z)}
               Weak Rules:
                 {  timesIter^#(x, y, z) ->
                    c_10(if^#(check(x), x, y, z, plus(z, y)))
                  , if^#(odd(), x, y, z, u) -> c_14(timesIter^#(p(x), y, u))
                  , times^#(x, y) -> c_9(timesIter^#(x, y, 0()))
                  , check(0()) -> zero()
                  , check(s(0())) -> odd()
                  , check(s(s(0()))) -> even()
                  , check(s(s(s(x)))) -> check(s(x))
                  , plus(0(), y) -> y
                  , plus(s(x), y) -> s(plus(x, y))
                  , p(s(x)) -> x
                  , p(0()) -> 0()}
             
             Proof Output:    
               The input cannot be shown compatible
           
           * Path {10}->{11,15}->{16}: inherited
             -----------------------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}->{16}->{8}: NA
             ---------------------------------
             
             The usable rules for this path are:
             
               {  check(0()) -> zero()
                , check(s(0())) -> odd()
                , check(s(s(0()))) -> even()
                , check(s(s(s(x)))) -> check(s(x))
                , plus(0(), y) -> y
                , plus(s(x), y) -> s(plus(x, y))
                , p(s(x)) -> x
                , p(0()) -> 0()
                , half(0()) -> 0()
                , half(s(0())) -> 0()
                , half(s(s(x))) -> s(half(x))
                , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y))
                , if(zero(), x, y, z, u) -> z
                , if(odd(), x, y, z, u) -> timesIter(p(x), y, u)
                , if(even(), x, y, z, u) ->
                  plus(timesIter(half(x), y, half(z)),
                       timesIter(half(x), y, half(s(z))))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {10}->{11,15}->{16}->{9}: inherited
             ----------------------------------------
             
             This path is subsumed by the proof of path {10}->{11,15}->{16}->{9}->{8}.
           
           * Path {10}->{11,15}->{16}->{9}->{8}: NA
             --------------------------------------
             
             The usable rules for this path are:
             
               {  check(0()) -> zero()
                , check(s(0())) -> odd()
                , check(s(s(0()))) -> even()
                , check(s(s(s(x)))) -> check(s(x))
                , plus(0(), y) -> y
                , plus(s(x), y) -> s(plus(x, y))
                , p(s(x)) -> x
                , p(0()) -> 0()
                , half(0()) -> 0()
                , half(s(0())) -> 0()
                , half(s(s(x))) -> s(half(x))
                , timesIter(x, y, z) -> if(check(x), x, y, z, plus(z, y))
                , if(zero(), x, y, z, u) -> z
                , if(odd(), x, y, z, u) -> timesIter(p(x), y, u)
                , if(even(), x, y, z, u) ->
                  plus(timesIter(half(x), y, half(z)),
                       timesIter(half(x), y, half(s(z))))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [1] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [0] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [3] x1 + [0]
                c_11(x1) = [1] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(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: {p^#(s(x)) -> c_11(x)}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(p^#) = {}, Uargs(c_11) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1] x1 + [7]
                p^#(x1) = [1] x1 + [7]
                c_11(x1) = [1] x1 + [1]
           
           * Path {13}: 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(check) = {}, Uargs(s) = {}, Uargs(half) = {},
                 Uargs(plus) = {}, Uargs(times) = {}, Uargs(timesIter) = {},
                 Uargs(if) = {}, Uargs(p) = {}, Uargs(check^#) = {},
                 Uargs(c_3) = {}, Uargs(half^#) = {}, Uargs(c_6) = {},
                 Uargs(plus^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(times^#) = {}, Uargs(c_9) = {}, Uargs(timesIter^#) = {},
                 Uargs(c_10) = {}, Uargs(if^#) = {}, Uargs(p^#) = {},
                 Uargs(c_11) = {}, Uargs(c_13) = {}, Uargs(c_14) = {},
                 Uargs(c_15) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                check(x1) = [0] x1 + [0]
                0() = [0]
                zero() = [0]
                s(x1) = [0] x1 + [0]
                odd() = [0]
                even() = [0]
                half(x1) = [0] x1 + [0]
                plus(x1, x2) = [0] x1 + [0] x2 + [0]
                times(x1, x2) = [0] x1 + [0] x2 + [0]
                timesIter(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                if(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p(x1) = [0] x1 + [0]
                check^#(x1) = [0] x1 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2() = [0]
                c_3(x1) = [0] x1 + [0]
                half^#(x1) = [0] x1 + [0]
                c_4() = [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                times^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9(x1) = [0] x1 + [0]
                timesIter^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_10(x1) = [0] x1 + [0]
                if^#(x1, x2, x3, x4, x5) = [0] x1 + [0] x2 + [0] x3 + [0] x4 + [0] x5 + [0]
                p^#(x1) = [0] x1 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12() = [0]
                c_13(x1) = [0] x1 + [0]
                c_14(x1) = [0] x1 + [0]
                c_15(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {p^#(0()) -> c_12()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(p^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [7]
                p^#(x1) = [1] x1 + [7]
                c_12() = [1]
    
    3) 'matrix-interpretation of dimension 1' failed due to the following reason:
         The input cannot be shown compatible
    
    4) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason:
         match-boundness of the problem could not be verified.
    
    5) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason:
         match-boundness of the problem could not be verified.