Problem AG01 3.5

Tool CaT

Execution TimeUnknown
Answer
MAYBE
InputAG01 3.5

stdout:

MAYBE

Problem:
 le(0(),y) -> true()
 le(s(x),0()) -> false()
 le(s(x),s(y)) -> le(x,y)
 minus(x,0()) -> x
 minus(s(x),s(y)) -> minus(x,y)
 mod(0(),y) -> 0()
 mod(s(x),0()) -> 0()
 mod(s(x),s(y)) -> if_mod(le(y,x),s(x),s(y))
 if_mod(true(),s(x),s(y)) -> mod(minus(x,y),s(y))
 if_mod(false(),s(x),s(y)) -> s(x)

Proof:
 Open

Tool IRC1

Execution TimeUnknown
Answer
MAYBE
InputAG01 3.5

stdout:

MAYBE

Tool IRC2

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

stdout:

YES(?,O(n^2))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^2))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}

Proof Output:    
  'wdg' proved the best result:
  
  Details:
  --------
    'wdg' succeeded with the following output:
     'wdg'
     -----
     Answer:           YES(?,O(n^2))
     Input Problem:    innermost runtime-complexity with respect to
       Rules:
         {  le(0(), y) -> true()
          , le(s(x), 0()) -> false()
          , le(s(x), s(y)) -> le(x, y)
          , minus(x, 0()) -> x
          , minus(s(x), s(y)) -> minus(x, y)
          , mod(0(), y) -> 0()
          , mod(s(x), 0()) -> 0()
          , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
          , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
          , if_mod(false(), s(x), s(y)) -> s(x)}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: le^#(0(), y) -> c_0()
            , 2: le^#(s(x), 0()) -> c_1()
            , 3: le^#(s(x), s(y)) -> c_2(le^#(x, y))
            , 4: minus^#(x, 0()) -> c_3()
            , 5: minus^#(s(x), s(y)) -> c_4(minus^#(x, y))
            , 6: mod^#(0(), y) -> c_5()
            , 7: mod^#(s(x), 0()) -> c_6()
            , 8: mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
            , 9: if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))
            , 10: if_mod^#(false(), s(x), s(y)) -> c_9()}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{8,9}                                                     [   YES(?,O(n^2))    ]
              |
              |->{6}                                                   [   YES(?,O(n^1))    ]
              |
              `->{10}                                                  [   YES(?,O(n^1))    ]
           
           ->{7}                                                       [    YES(?,O(1))     ]
           
           ->{5}                                                       [   YES(?,O(n^2))    ]
              |
              `->{4}                                                   [   YES(?,O(n^2))    ]
           
           ->{3}                                                       [   YES(?,O(n^2))    ]
              |
              |->{1}                                                   [   YES(?,O(n^2))    ]
              |
              `->{2}                                                   [   YES(?,O(n^1))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {3}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1},
               Uargs(minus^#) = {}, Uargs(c_4) = {}, Uargs(mod^#) = {},
               Uargs(c_7) = {}, Uargs(if_mod^#) = {}, Uargs(c_8) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [1 2] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [3 3] x1 + [3 3] x2 + [0]
                             [3 3]      [3 3]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9() = [0]
                      [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {le^#(s(x), s(y)) -> c_2(le^#(x, y))}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              s(x1) = [1 6] x1 + [2]
                      [0 1]      [0]
              le^#(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                             [0 0]      [0 0]      [4]
              c_2(x1) = [1 0] x1 + [1]
                        [0 0]      [3]
         
         * Path {3}->{1}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1},
               Uargs(minus^#) = {}, Uargs(c_4) = {}, Uargs(mod^#) = {},
               Uargs(c_7) = {}, Uargs(if_mod^#) = {}, Uargs(c_8) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9() = [0]
                      [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {le^#(0(), y) -> c_0()}
             Weak Rules: {le^#(s(x), s(y)) -> c_2(le^#(x, y))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [2]
                    [2]
              s(x1) = [1 2] x1 + [0]
                      [0 1]      [2]
              le^#(x1, x2) = [3 2] x1 + [2 3] x2 + [0]
                             [3 3]      [0 1]      [0]
              c_0() = [1]
                      [0]
              c_2(x1) = [1 0] x1 + [3]
                        [0 0]      [7]
         
         * Path {3}->{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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1},
               Uargs(minus^#) = {}, Uargs(c_4) = {}, Uargs(mod^#) = {},
               Uargs(c_7) = {}, Uargs(if_mod^#) = {}, Uargs(c_8) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9() = [0]
                      [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {le^#(s(x), 0()) -> c_1()}
             Weak Rules: {le^#(s(x), s(y)) -> c_2(le^#(x, y))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [0]
                    [2]
              s(x1) = [1 0] x1 + [2]
                      [0 1]      [2]
              le^#(x1, x2) = [2 0] x1 + [0 2] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_1() = [1]
                      [0]
              c_2(x1) = [1 0] x1 + [3]
                        [0 0]      [0]
         
         * Path {5}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_4) = {1}, Uargs(mod^#) = {},
               Uargs(c_7) = {}, Uargs(if_mod^#) = {}, Uargs(c_8) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [1 2] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [3 3] x1 + [3 3] x2 + [0]
                                [3 3]      [3 3]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9() = [0]
                      [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {minus^#(s(x), s(y)) -> c_4(minus^#(x, y))}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(minus^#) = {}, Uargs(c_4) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              s(x1) = [1 6] x1 + [2]
                      [0 1]      [0]
              minus^#(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                                [0 0]      [0 0]      [4]
              c_4(x1) = [1 0] x1 + [1]
                        [0 0]      [3]
         
         * Path {5}->{4}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_4) = {1}, Uargs(mod^#) = {},
               Uargs(c_7) = {}, Uargs(if_mod^#) = {}, Uargs(c_8) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9() = [0]
                      [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^2))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {minus^#(x, 0()) -> c_3()}
             Weak Rules: {minus^#(s(x), s(y)) -> c_4(minus^#(x, y))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(minus^#) = {}, Uargs(c_4) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [2]
                    [0]
              s(x1) = [1 3] x1 + [2]
                      [0 1]      [2]
              minus^#(x1, x2) = [2 0] x1 + [2 3] x2 + [0]
                                [0 2]      [3 2]      [0]
              c_3() = [1]
                      [0]
              c_4(x1) = [1 0] x1 + [7]
                        [0 0]      [7]
         
         * Path {7}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_4) = {}, Uargs(mod^#) = {},
               Uargs(c_7) = {}, Uargs(if_mod^#) = {}, Uargs(c_8) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9() = [0]
                      [0]
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {mod^#(s(x), 0()) -> c_6()}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(mod^#) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [2]
                    [0]
              s(x1) = [0 0] x1 + [2]
                      [0 0]      [2]
              mod^#(x1, x2) = [2 2] x1 + [2 0] x2 + [3]
                              [0 0]      [0 0]      [3]
              c_6() = [0]
                      [1]
         
         * Path {8,9}: YES(?,O(n^2))
           -------------------------
           
           The usable rules for this path are:
           
             {  le(0(), y) -> true()
              , le(s(x), 0()) -> false()
              , le(s(x), s(y)) -> le(x, y)
              , minus(x, 0()) -> x
              , minus(s(x), s(y)) -> minus(x, y)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_4) = {}, Uargs(mod^#) = {1},
               Uargs(c_7) = {1}, Uargs(if_mod^#) = {1}, Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 1] x2 + [2]
                           [0 0]      [0 0]      [3]
              0() = [0]
                    [0]
              true() = [1]
                       [1]
              s(x1) = [1 2] x1 + [2]
                      [0 1]      [1]
              false() = [1]
                        [1]
              minus(x1, x2) = [1 0] x1 + [0 0] x2 + [3]
                              [0 1]      [0 0]      [3]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [1 2] x1 + [0 0] x2 + [0]
                              [3 3]      [3 3]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              if_mod^#(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0]
                                     [3 3]      [3 3]      [3 3]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9() = [0]
                      [0]
           Complexity induced by the adequate RMI: YES(?,O(n^2))
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules:
               {  mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
                , if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))}
             Weak Rules:
               {  le(0(), y) -> true()
                , le(s(x), 0()) -> false()
                , le(s(x), s(y)) -> le(x, y)
                , minus(x, 0()) -> x
                , minus(s(x), s(y)) -> minus(x, y)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [2]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [1]
                       [0]
              s(x1) = [1 1] x1 + [1]
                      [0 0]      [4]
              false() = [0]
                        [0]
              minus(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                              [4 2]      [0 0]      [0]
              mod^#(x1, x2) = [4 0] x1 + [0 1] x2 + [0]
                              [0 0]      [4 1]      [0]
              c_7(x1) = [1 0] x1 + [1]
                        [0 0]      [6]
              if_mod^#(x1, x2, x3) = [1 0] x1 + [4 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
         
         * Path {8,9}->{6}: YES(?,O(n^1))
           ------------------------------
           
           The usable rules for this path are:
           
             {  le(0(), y) -> true()
              , le(s(x), 0()) -> false()
              , le(s(x), s(y)) -> le(x, y)
              , minus(x, 0()) -> x
              , minus(s(x), s(y)) -> minus(x, y)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_4) = {}, Uargs(mod^#) = {1},
               Uargs(c_7) = {1}, Uargs(if_mod^#) = {1}, Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [2 0] x2 + [1]
                           [0 0]      [0 0]      [3]
              0() = [0]
                    [0]
              true() = [0]
                       [1]
              s(x1) = [1 0] x1 + [1]
                      [0 1]      [0]
              false() = [0]
                        [1]
              minus(x1, x2) = [2 0] x1 + [0 0] x2 + [3]
                              [0 2]      [0 0]      [3]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [3 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              if_mod^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9() = [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:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {mod^#(0(), y) -> c_5()}
             Weak Rules:
               {  mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
                , if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))
                , le(0(), y) -> true()
                , le(s(x), 0()) -> false()
                , le(s(x), s(y)) -> le(x, y)
                , minus(x, 0()) -> x
                , minus(s(x), s(y)) -> minus(x, y)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [1]
              0() = [0]
                    [0]
              true() = [0]
                       [1]
              s(x1) = [1 1] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [1]
              minus(x1, x2) = [4 0] x1 + [0 0] x2 + [0]
                              [4 1]      [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                              [0 0]      [0 0]      [4]
              c_5() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 0]      [3]
              if_mod^#(x1, x2, x3) = [0 1] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
         
         * Path {8,9}->{10}: YES(?,O(n^1))
           -------------------------------
           
           The usable rules for this path are:
           
             {  le(0(), y) -> true()
              , le(s(x), 0()) -> false()
              , le(s(x), s(y)) -> le(x, y)
              , minus(x, 0()) -> x
              , minus(s(x), s(y)) -> minus(x, y)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_4) = {}, Uargs(mod^#) = {1},
               Uargs(c_7) = {1}, Uargs(if_mod^#) = {1}, Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [2 0] x2 + [1]
                           [0 0]      [0 0]      [3]
              0() = [0]
                    [0]
              true() = [0]
                       [1]
              s(x1) = [1 0] x1 + [1]
                      [0 1]      [0]
              false() = [0]
                        [1]
              minus(x1, x2) = [2 0] x1 + [0 0] x2 + [3]
                              [0 2]      [0 0]      [3]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3() = [0]
                      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [3 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              if_mod^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9() = [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:           YES(?,O(n^1))
           Input Problem:    innermost DP runtime-complexity with respect to
             Strict Rules: {if_mod^#(false(), s(x), s(y)) -> c_9()}
             Weak Rules:
               {  mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
                , if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))
                , le(0(), y) -> true()
                , le(s(x), 0()) -> false()
                , le(s(x), s(y)) -> le(x, y)
                , minus(x, 0()) -> x
                , minus(s(x), s(y)) -> minus(x, y)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [1 4] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [2 0] x1 + [0 0] x2 + [0]
                              [1 1]      [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                              [0 0]      [0 0]      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
              c_9() = [0]
                      [0]

Tool RC1

Execution TimeUnknown
Answer
MAYBE
InputAG01 3.5

stdout:

MAYBE

Tool RC2

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

stdout:

YES(?,O(n^2))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^2))
Input Problem:    runtime-complexity with respect to
  Rules:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}

Proof Output:    
  'wdg' proved the best result:
  
  Details:
  --------
    'wdg' succeeded with the following output:
     'wdg'
     -----
     Answer:           YES(?,O(n^2))
     Input Problem:    runtime-complexity with respect to
       Rules:
         {  le(0(), y) -> true()
          , le(s(x), 0()) -> false()
          , le(s(x), s(y)) -> le(x, y)
          , minus(x, 0()) -> x
          , minus(s(x), s(y)) -> minus(x, y)
          , mod(0(), y) -> 0()
          , mod(s(x), 0()) -> 0()
          , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
          , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
          , if_mod(false(), s(x), s(y)) -> s(x)}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: le^#(0(), y) -> c_0()
            , 2: le^#(s(x), 0()) -> c_1()
            , 3: le^#(s(x), s(y)) -> c_2(le^#(x, y))
            , 4: minus^#(x, 0()) -> c_3(x)
            , 5: minus^#(s(x), s(y)) -> c_4(minus^#(x, y))
            , 6: mod^#(0(), y) -> c_5()
            , 7: mod^#(s(x), 0()) -> c_6()
            , 8: mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
            , 9: if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))
            , 10: if_mod^#(false(), s(x), s(y)) -> c_9(x)}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{8,9}                                                     [   YES(?,O(n^2))    ]
              |
              |->{6}                                                   [   YES(?,O(n^1))    ]
              |
              `->{10}                                                  [   YES(?,O(n^1))    ]
           
           ->{7}                                                       [    YES(?,O(1))     ]
           
           ->{5}                                                       [   YES(?,O(n^2))    ]
              |
              `->{4}                                                   [   YES(?,O(n^2))    ]
           
           ->{3}                                                       [   YES(?,O(n^2))    ]
              |
              |->{1}                                                   [   YES(?,O(n^2))    ]
              |
              `->{2}                                                   [   YES(?,O(n^1))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {3}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [1 2] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [3 3] x1 + [3 3] x2 + [0]
                             [3 3]      [3 3]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(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: {le^#(s(x), s(y)) -> c_2(le^#(x, y))}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              s(x1) = [1 6] x1 + [2]
                      [0 1]      [0]
              le^#(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                             [0 0]      [0 0]      [4]
              c_2(x1) = [1 0] x1 + [1]
                        [0 0]      [3]
         
         * Path {3}->{1}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(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: {le^#(0(), y) -> c_0()}
             Weak Rules: {le^#(s(x), s(y)) -> c_2(le^#(x, y))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [2]
                    [2]
              s(x1) = [1 2] x1 + [0]
                      [0 1]      [2]
              le^#(x1, x2) = [3 2] x1 + [2 3] x2 + [0]
                             [3 3]      [0 1]      [0]
              c_0() = [1]
                      [0]
              c_2(x1) = [1 0] x1 + [3]
                        [0 0]      [7]
         
         * Path {3}->{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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(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: {le^#(s(x), 0()) -> c_1()}
             Weak Rules: {le^#(s(x), s(y)) -> c_2(le^#(x, y))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [0]
                    [2]
              s(x1) = [1 0] x1 + [2]
                      [0 1]      [2]
              le^#(x1, x2) = [2 0] x1 + [0 2] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_1() = [1]
                      [0]
              c_2(x1) = [1 0] x1 + [3]
                        [0 0]      [0]
         
         * Path {5}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {1},
               Uargs(mod^#) = {}, Uargs(c_7) = {}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [1 2] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [3 3] x1 + [3 3] x2 + [0]
                                [3 3]      [3 3]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(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: {minus^#(s(x), s(y)) -> c_4(minus^#(x, y))}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(minus^#) = {}, Uargs(c_4) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              s(x1) = [1 6] x1 + [2]
                      [0 1]      [0]
              minus^#(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                                [0 0]      [0 0]      [4]
              c_4(x1) = [1 0] x1 + [1]
                        [0 0]      [3]
         
         * Path {5}->{4}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {1},
               Uargs(mod^#) = {}, Uargs(c_7) = {}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [3 3] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [1 1] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(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: {minus^#(x, 0()) -> c_3(x)}
             Weak Rules: {minus^#(s(x), s(y)) -> c_4(minus^#(x, y))}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(minus^#) = {}, Uargs(c_3) = {},
               Uargs(c_4) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [0]
                    [2]
              s(x1) = [1 2] x1 + [2]
                      [0 1]      [0]
              minus^#(x1, x2) = [0 0] x1 + [2 6] x2 + [0]
                                [2 5]      [5 3]      [0]
              c_3(x1) = [0 0] x1 + [1]
                        [0 1]      [0]
              c_4(x1) = [1 0] x1 + [3]
                        [0 0]      [2]
         
         * Path {7}: 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(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [0 0] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_9(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: {mod^#(s(x), 0()) -> c_6()}
             Weak Rules: {}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(s) = {}, Uargs(mod^#) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              0() = [2]
                    [0]
              s(x1) = [0 0] x1 + [2]
                      [0 0]      [2]
              mod^#(x1, x2) = [2 2] x1 + [2 0] x2 + [3]
                              [0 0]      [0 0]      [3]
              c_6() = [0]
                      [1]
         
         * Path {8,9}: YES(?,O(n^2))
           -------------------------
           
           The usable rules for this path are:
           
             {  le(0(), y) -> true()
              , le(s(x), 0()) -> false()
              , le(s(x), s(y)) -> le(x, y)
              , minus(x, 0()) -> x
              , minus(s(x), s(y)) -> minus(x, y)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {},
               Uargs(mod^#) = {1}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {1},
               Uargs(c_8) = {1}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 1] x2 + [2]
                           [0 0]      [0 0]      [3]
              0() = [0]
                    [0]
              true() = [1]
                       [1]
              s(x1) = [1 2] x1 + [2]
                      [0 1]      [1]
              false() = [1]
                        [1]
              minus(x1, x2) = [1 0] x1 + [0 0] x2 + [3]
                              [0 1]      [0 0]      [3]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [1 2] x1 + [0 0] x2 + [0]
                              [3 3]      [3 3]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              if_mod^#(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0]
                                     [3 3]      [3 3]      [3 3]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
           Complexity induced by the adequate RMI: YES(?,O(n^2))
           
           We apply the sub-processor on the resulting sub-problem:
           
           'matrix-interpretation of dimension 2'
           --------------------------------------
           Answer:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules:
               {  mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
                , if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))}
             Weak Rules:
               {  le(0(), y) -> true()
                , le(s(x), 0()) -> false()
                , le(s(x), s(y)) -> le(x, y)
                , minus(x, 0()) -> x
                , minus(s(x), s(y)) -> minus(x, y)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [2]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [1]
                       [0]
              s(x1) = [1 1] x1 + [1]
                      [0 0]      [4]
              false() = [0]
                        [0]
              minus(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                              [4 2]      [0 0]      [0]
              mod^#(x1, x2) = [4 0] x1 + [0 1] x2 + [0]
                              [0 0]      [4 1]      [0]
              c_7(x1) = [1 0] x1 + [1]
                        [0 0]      [6]
              if_mod^#(x1, x2, x3) = [1 0] x1 + [4 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
         
         * Path {8,9}->{6}: YES(?,O(n^1))
           ------------------------------
           
           The usable rules for this path are:
           
             {  le(0(), y) -> true()
              , le(s(x), 0()) -> false()
              , le(s(x), s(y)) -> le(x, y)
              , minus(x, 0()) -> x
              , minus(s(x), s(y)) -> minus(x, y)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {},
               Uargs(mod^#) = {1}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {1},
               Uargs(c_8) = {1}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [2 0] x2 + [1]
                           [0 0]      [0 0]      [3]
              0() = [0]
                    [0]
              true() = [0]
                       [1]
              s(x1) = [1 0] x1 + [1]
                      [0 1]      [0]
              false() = [0]
                        [1]
              minus(x1, x2) = [2 0] x1 + [0 0] x2 + [3]
                              [0 2]      [0 0]      [3]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [3 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              if_mod^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9(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:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {mod^#(0(), y) -> c_5()}
             Weak Rules:
               {  mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
                , if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))
                , le(0(), y) -> true()
                , le(s(x), 0()) -> false()
                , le(s(x), s(y)) -> le(x, y)
                , minus(x, 0()) -> x
                , minus(s(x), s(y)) -> minus(x, y)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [1]
              0() = [0]
                    [0]
              true() = [0]
                       [1]
              s(x1) = [1 1] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [1]
              minus(x1, x2) = [4 0] x1 + [0 0] x2 + [0]
                              [4 1]      [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                              [0 0]      [0 0]      [4]
              c_5() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 0]      [3]
              if_mod^#(x1, x2, x3) = [0 1] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
         
         * Path {8,9}->{10}: YES(?,O(n^1))
           -------------------------------
           
           The usable rules for this path are:
           
             {  le(0(), y) -> true()
              , le(s(x), 0()) -> false()
              , le(s(x), s(y)) -> le(x, y)
              , minus(x, 0()) -> x
              , minus(s(x), s(y)) -> minus(x, y)}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {},
               Uargs(if_mod) = {}, Uargs(le^#) = {}, Uargs(c_2) = {},
               Uargs(minus^#) = {}, Uargs(c_3) = {}, Uargs(c_4) = {},
               Uargs(mod^#) = {1}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {1},
               Uargs(c_8) = {1}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 2] x2 + [1]
                           [0 0]      [0 0]      [3]
              0() = [0]
                    [0]
              true() = [0]
                       [1]
              s(x1) = [1 0] x1 + [0]
                      [0 1]      [2]
              false() = [0]
                        [1]
              minus(x1, x2) = [1 2] x1 + [0 2] x2 + [3]
                              [0 1]      [0 0]      [3]
              mod(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              if_mod(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                   [0 0]      [0 0]      [0 0]      [0]
              le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
              c_0() = [0]
                      [0]
              c_1() = [0]
                      [0]
              c_2(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              minus^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
              c_3(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              c_4(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
              mod^#(x1, x2) = [3 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
              c_5() = [0]
                      [0]
              c_6() = [0]
                      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              if_mod^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [3 3] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
              c_8(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_9(x1) = [1 1] 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:           YES(?,O(n^1))
           Input Problem:    DP runtime-complexity with respect to
             Strict Rules: {if_mod^#(false(), s(x), s(y)) -> c_9(x)}
             Weak Rules:
               {  mod^#(s(x), s(y)) -> c_7(if_mod^#(le(y, x), s(x), s(y)))
                , if_mod^#(true(), s(x), s(y)) -> c_8(mod^#(minus(x, y), s(y)))
                , le(0(), y) -> true()
                , le(s(x), 0()) -> false()
                , le(s(x), s(y)) -> le(x, y)
                , minus(x, 0()) -> x
                , minus(s(x), s(y)) -> minus(x, y)}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {},
               Uargs(mod^#) = {}, Uargs(c_7) = {1}, Uargs(if_mod^#) = {},
               Uargs(c_8) = {1}, Uargs(c_9) = {}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
              0() = [0]
                    [0]
              true() = [0]
                       [0]
              s(x1) = [1 1] x1 + [0]
                      [0 0]      [0]
              false() = [0]
                        [0]
              minus(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                              [4 1]      [0 0]      [0]
              mod^#(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                              [0 0]      [0 0]      [0]
              c_7(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
              if_mod^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                     [0 0]      [0 0]      [0 0]      [4]
              c_8(x1) = [1 0] x1 + [0]
                        [0 0]      [3]
              c_9(x1) = [0 0] x1 + [0]
                        [0 0]      [0]

Tool pair1rc

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

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: none

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

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

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

Tool pair2rc

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

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: none

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

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

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

Tool pair3irc

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

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: innermost

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

Application of 'pair3 (timeout of 60.0 seconds)':
-------------------------------------------------
  The input problem contains no overlaps that give rise to inapplicable rules.
  
  We abort the transformation and continue with the subprocessor on the problem
  
  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: innermost
  
  1) 'Fastest' proved the goal fastest:
     
     'Sequentially' proved the goal fastest:
     
     'Fastest' succeeded:
     
     'matrix-interpretation of dimension 3 (timeout of 100.0 seconds)' proved the goal fastest:
     
     The following argument positions are usable:
       Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {1},
       Uargs(if_mod) = {1}
     We have the following constructor-restricted (at most 2 in the main diagonals) matrix interpretation:
     Interpretation Functions:
      le(x1, x2) = [0 0 0] x1 + [0 1 1] x2 + [1]
                   [0 0 0]      [0 0 0]      [0]
                   [0 0 0]      [0 0 0]      [0]
      0() = [0]
            [2]
            [0]
      true() = [0]
               [0]
               [0]
      s(x1) = [1 1 1] x1 + [1]
              [0 1 1]      [2]
              [0 0 0]      [2]
      false() = [0]
                [0]
                [0]
      minus(x1, x2) = [1 0 0] x1 + [0 0 0] x2 + [1]
                      [0 1 0]      [0 0 0]      [0]
                      [0 1 1]      [0 0 0]      [0]
      mod(x1, x2) = [2 2 0] x1 + [0 0 0] x2 + [0]
                    [1 0 1]      [0 0 0]      [2]
                    [0 0 0]      [0 0 0]      [2]
      if_mod(x1, x2, x3) = [2 0 0] x1 + [2 0 0] x2 + [0 0 0] x3 + [1]
                           [0 0 0]      [1 0 2]      [0 0 0]      [0]
                           [0 0 0]      [0 0 0]      [0 0 0]      [2]
  

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

Tool pair3rc

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

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: none

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

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

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

Tool rc

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

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: none

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

Application of 'rc (timeout of 60.0 seconds)':
----------------------------------------------
  'Fastest' proved the goal fastest:
  
  'Sequentially' proved the goal fastest:
  
  'Fastest' succeeded:
  
  'matrix-interpretation of dimension 3 (timeout of 100.0 seconds)' proved the goal fastest:
  
  The following argument positions are usable:
    Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {1},
    Uargs(if_mod) = {1}
  We have the following constructor-restricted (at most 2 in the main diagonals) matrix interpretation:
  Interpretation Functions:
   le(x1, x2) = [0 0 0] x1 + [0 1 1] x2 + [1]
                [0 0 0]      [0 0 0]      [0]
                [0 0 0]      [0 0 0]      [0]
   0() = [0]
         [2]
         [0]
   true() = [0]
            [0]
            [0]
   s(x1) = [1 1 1] x1 + [1]
           [0 1 1]      [2]
           [0 0 0]      [2]
   false() = [0]
             [0]
             [0]
   minus(x1, x2) = [1 0 0] x1 + [0 0 0] x2 + [1]
                   [0 1 0]      [0 0 0]      [0]
                   [0 1 1]      [0 0 0]      [0]
   mod(x1, x2) = [2 2 0] x1 + [0 0 0] x2 + [0]
                 [1 0 1]      [0 0 0]      [2]
                 [0 0 0]      [0 0 0]      [2]
   if_mod(x1, x2, x3) = [2 0 0] x1 + [2 0 0] x2 + [0 0 0] x3 + [1]
                        [0 0 0]      [1 0 2]      [0 0 0]      [0]
                        [0 0 0]      [0 0 0]      [0 0 0]      [2]

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

Tool tup3irc

Execution Time3.540174ms
Answer
YES(?,O(n^2))
InputAG01 3.5

stdout:

YES(?,O(n^2))

We consider the following Problem:

  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: innermost

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

Application of 'tup3 (timeout of 60.0 seconds)':
------------------------------------------------
  The input problem contains no overlaps that give rise to inapplicable rules.
  
  We abort the transformation and continue with the subprocessor on the problem
  
  Strict Trs:
    {  le(0(), y) -> true()
     , le(s(x), 0()) -> false()
     , le(s(x), s(y)) -> le(x, y)
     , minus(x, 0()) -> x
     , minus(s(x), s(y)) -> minus(x, y)
     , mod(0(), y) -> 0()
     , mod(s(x), 0()) -> 0()
     , mod(s(x), s(y)) -> if_mod(le(y, x), s(x), s(y))
     , if_mod(true(), s(x), s(y)) -> mod(minus(x, y), s(y))
     , if_mod(false(), s(x), s(y)) -> s(x)}
  StartTerms: basic terms
  Strategy: innermost
  
  1) 'Fastest' proved the goal fastest:
     
     'Sequentially' proved the goal fastest:
     
     'Fastest' succeeded:
     
     'matrix-interpretation of dimension 3 (timeout of 100.0 seconds)' proved the goal fastest:
     
     The following argument positions are usable:
       Uargs(le) = {}, Uargs(s) = {}, Uargs(minus) = {}, Uargs(mod) = {1},
       Uargs(if_mod) = {1}
     We have the following constructor-restricted (at most 2 in the main diagonals) matrix interpretation:
     Interpretation Functions:
      le(x1, x2) = [0 0 0] x1 + [0 1 1] x2 + [1]
                   [0 0 0]      [0 0 0]      [0]
                   [0 0 0]      [0 0 0]      [0]
      0() = [0]
            [2]
            [0]
      true() = [0]
               [0]
               [0]
      s(x1) = [1 1 1] x1 + [1]
              [0 1 1]      [2]
              [0 0 0]      [2]
      false() = [0]
                [0]
                [0]
      minus(x1, x2) = [1 0 0] x1 + [0 0 0] x2 + [1]
                      [0 1 0]      [0 0 0]      [0]
                      [0 1 1]      [0 0 0]      [0]
      mod(x1, x2) = [2 2 0] x1 + [0 0 0] x2 + [0]
                    [1 0 1]      [0 0 0]      [2]
                    [0 0 0]      [0 0 0]      [2]
      if_mod(x1, x2, x3) = [2 0 0] x1 + [2 0 0] x2 + [0 0 0] x3 + [1]
                           [0 0 0]      [1 0 2]      [0 0 0]      [0]
                           [0 0 0]      [0 0 0]      [0 0 0]      [2]
  

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