Problem Secret 06 TRS gen-1

Tool CaT

Execution TimeUnknown
Answer
MAYBE
InputSecret 06 TRS gen-1

stdout:

MAYBE

Problem:
 f(c(a(),z,x)) -> b(a(),z)
 b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y)))
 b(y,z) -> z

Proof:
 Open

Tool IRC1

Execution TimeUnknown
Answer
MAYBE
InputSecret 06 TRS gen-1

stdout:

MAYBE

Tool IRC2

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputSecret 06 TRS gen-1

stdout:

YES(?,O(n^1))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  f(c(a(), z, x)) -> b(a(), z)
     , b(x, b(z, y)) -> f(b(f(f(z)), c(x, z, y)))
     , b(y, z) -> z}

Proof Output:    
  'wdg' proved the best result:
  
  Details:
  --------
    'wdg' succeeded with the following output:
     'wdg'
     -----
     Answer:           YES(?,O(n^1))
     Input Problem:    innermost runtime-complexity with respect to
       Rules:
         {  f(c(a(), z, x)) -> b(a(), z)
          , b(x, b(z, y)) -> f(b(f(f(z)), c(x, z, y)))
          , b(y, z) -> z}
     
     Proof Output:    
       Transformation Details:
       -----------------------
         We have computed the following set of weak (innermost) dependency pairs:
         
           {  1: f^#(c(a(), z, x)) -> c_0(b^#(a(), z))
            , 2: b^#(x, b(z, y)) -> c_1(f^#(b(f(f(z)), c(x, z, y))))
            , 3: b^#(y, z) -> c_2()}
         
         Following Dependency Graph (modulo SCCs) was computed. (Answers to
         subproofs are indicated to the right.)
         
           ->{1,2}                                                     [   YES(?,O(n^1))    ]
              |
              `->{3}                                                   [   YES(?,O(n^1))    ]
           
         
       
       Sub-problems:
       -------------
         * Path {1,2}: YES(?,O(n^1))
           -------------------------
           
           The usable rules for this path are:
           
             {  f(c(a(), z, x)) -> b(a(), z)
              , b(x, b(z, y)) -> f(b(f(f(z)), c(x, z, y)))
              , b(y, z) -> z}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(f) = {1}, Uargs(c) = {}, Uargs(b) = {1}, Uargs(f^#) = {1},
               Uargs(c_0) = {1}, Uargs(b^#) = {}, Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              f(x1) = [2 0] x1 + [0]
                      [2 0]      [0]
              c(x1, x2, x3) = [0 0] x1 + [1 2] x2 + [0 0] x3 + [2]
                              [0 0]      [0 0]      [0 0]      [0]
              a() = [0]
                    [0]
              b(x1, x2) = [1 0] x1 + [1 3] x2 + [2]
                          [3 3]      [2 3]      [3]
              f^#(x1) = [1 0] x1 + [0]
                        [3 3]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              b^#(x1, x2) = [3 3] x1 + [0 2] x2 + [0]
                            [0 0]      [3 3]      [0]
              c_1(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_2() = [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:
               {  f^#(c(a(), z, x)) -> c_0(b^#(a(), z))
                , b^#(x, b(z, y)) -> c_1(f^#(b(f(f(z)), c(x, z, y))))}
             Weak Rules:
               {  f(c(a(), z, x)) -> b(a(), z)
                , b(x, b(z, y)) -> f(b(f(f(z)), c(x, z, y)))
                , b(y, z) -> z}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(f) = {}, Uargs(c) = {}, Uargs(b) = {}, Uargs(f^#) = {},
               Uargs(c_0) = {1}, Uargs(b^#) = {}, Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              f(x1) = [2 0] x1 + [0]
                      [1 0]      [4]
              c(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [0 0] x3 + [1]
                              [0 0]      [0 0]      [0 0]      [0]
              a() = [0]
                    [0]
              b(x1, x2) = [0 0] x1 + [1 2] x2 + [0]
                          [4 4]      [0 1]      [5]
              f^#(x1) = [1 0] x1 + [0]
                        [0 0]      [4]
              c_0(x1) = [1 0] x1 + [0]
                        [0 0]      [3]
              b^#(x1, x2) = [4 0] x1 + [0 1] x2 + [0]
                            [4 4]      [6 1]      [4]
              c_1(x1) = [4 0] x1 + [0]
                        [0 0]      [7]
         
         * Path {1,2}->{3}: YES(?,O(n^1))
           ------------------------------
           
           The usable rules for this path are:
           
             {  f(c(a(), z, x)) -> b(a(), z)
              , b(x, b(z, y)) -> f(b(f(f(z)), c(x, z, y)))
              , b(y, z) -> z}
           
           The weightgap principle applies, using the following adequate RMI:
             The following argument positions are usable:
               Uargs(f) = {1}, Uargs(c) = {}, Uargs(b) = {1}, Uargs(f^#) = {1},
               Uargs(c_0) = {1}, Uargs(b^#) = {}, Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              f(x1) = [2 0] x1 + [0]
                      [2 0]      [0]
              c(x1, x2, x3) = [0 0] x1 + [1 2] x2 + [0 0] x3 + [1]
                              [0 0]      [0 0]      [0 0]      [0]
              a() = [0]
                    [0]
              b(x1, x2) = [1 0] x1 + [1 3] x2 + [1]
                          [3 3]      [2 3]      [1]
              f^#(x1) = [3 0] x1 + [0]
                        [0 0]      [0]
              c_0(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              b^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
              c_1(x1) = [1 0] x1 + [0]
                        [0 1]      [0]
              c_2() = [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: {b^#(y, z) -> c_2()}
             Weak Rules:
               {  f^#(c(a(), z, x)) -> c_0(b^#(a(), z))
                , b^#(x, b(z, y)) -> c_1(f^#(b(f(f(z)), c(x, z, y))))
                , f(c(a(), z, x)) -> b(a(), z)
                , b(x, b(z, y)) -> f(b(f(f(z)), c(x, z, y)))
                , b(y, z) -> z}
           
           Proof Output:    
             The following argument positions are usable:
               Uargs(f) = {}, Uargs(c) = {}, Uargs(b) = {}, Uargs(f^#) = {},
               Uargs(c_0) = {1}, Uargs(b^#) = {}, Uargs(c_1) = {1}
             We have the following constructor-restricted matrix interpretation:
             Interpretation Functions:
              f(x1) = [2 0] x1 + [0]
                      [2 0]      [4]
              c(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [0 0] x3 + [0]
                              [0 0]      [0 0]      [0 0]      [0]
              a() = [0]
                    [0]
              b(x1, x2) = [0 0] x1 + [2 1] x2 + [0]
                          [4 4]      [0 2]      [2]
              f^#(x1) = [2 0] x1 + [1]
                        [0 0]      [4]
              c_0(x1) = [1 0] x1 + [0]
                        [0 2]      [3]
              b^#(x1, x2) = [0 0] x1 + [0 2] x2 + [1]
                            [2 0]      [0 0]      [0]
              c_1(x1) = [2 0] x1 + [1]
                        [0 0]      [0]
              c_2() = [0]
                      [0]

Tool RC1

Execution TimeUnknown
Answer
MAYBE
InputSecret 06 TRS gen-1

stdout:

MAYBE

Tool RC2

Execution TimeUnknown
Answer
YES(?,O(n^1))
InputSecret 06 TRS gen-1

stdout:

YES(?,O(n^1))

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    runtime-complexity with respect to
  Rules:
    {  f(c(a(), z, x)) -> b(a(), z)
     , b(x, b(z, y)) -> f(b(f(f(z)), c(x, z, y)))
     , b(y, z) -> z}

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