YES

Problem:
 a(x1) -> b(c(x1))
 b(a(b(x1))) -> c(x1)
 c(c(x1)) -> a(a(b(x1)))

Proof:
 DP Processor:
  DPs:
   a#(x1) -> c#(x1)
   a#(x1) -> b#(c(x1))
   b#(a(b(x1))) -> c#(x1)
   c#(c(x1)) -> b#(x1)
   c#(c(x1)) -> a#(b(x1))
   c#(c(x1)) -> a#(a(b(x1)))
  TRS:
   a(x1) -> b(c(x1))
   b(a(b(x1))) -> c(x1)
   c(c(x1)) -> a(a(b(x1)))
  TDG Processor:
   DPs:
    a#(x1) -> c#(x1)
    a#(x1) -> b#(c(x1))
    b#(a(b(x1))) -> c#(x1)
    c#(c(x1)) -> b#(x1)
    c#(c(x1)) -> a#(b(x1))
    c#(c(x1)) -> a#(a(b(x1)))
   TRS:
    a(x1) -> b(c(x1))
    b(a(b(x1))) -> c(x1)
    c(c(x1)) -> a(a(b(x1)))
   graph:
    b#(a(b(x1))) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
    b#(a(b(x1))) -> c#(x1) -> c#(c(x1)) -> a#(b(x1))
    b#(a(b(x1))) -> c#(x1) -> c#(c(x1)) -> b#(x1)
    c#(c(x1)) -> b#(x1) -> b#(a(b(x1))) -> c#(x1)
    c#(c(x1)) -> a#(b(x1)) -> a#(x1) -> b#(c(x1))
    c#(c(x1)) -> a#(b(x1)) -> a#(x1) -> c#(x1)
    c#(c(x1)) -> a#(a(b(x1))) -> a#(x1) -> b#(c(x1))
    c#(c(x1)) -> a#(a(b(x1))) -> a#(x1) -> c#(x1)
    a#(x1) -> b#(c(x1)) -> b#(a(b(x1))) -> c#(x1)
    a#(x1) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
    a#(x1) -> c#(x1) -> c#(c(x1)) -> a#(b(x1))
    a#(x1) -> c#(x1) -> c#(c(x1)) -> b#(x1)
   Arctic Interpretation Processor:
    dimension: 2
    usable rules:
     a(x1) -> b(c(x1))
     b(a(b(x1))) -> c(x1)
     c(c(x1)) -> a(a(b(x1)))
    interpretation:
     [b#](x0) = [0  -&]x0,
     
     [c#](x0) = [-& 0 ]x0 + [0],
     
     [a#](x0) = [-& 0 ]x0 + [0],
     
                    [0]
     [b](x0) = x0 + [0],
     
               [-& 0 ]     [0]
     [c](x0) = [0  1 ]x0 + [1],
     
               [0 0]     [0]
     [a](x0) = [0 1]x0 + [1]
    orientation:
     a#(x1) = [-& 0 ]x1 + [0] >= [-& 0 ]x1 + [0] = c#(x1)
     
     a#(x1) = [-& 0 ]x1 + [0] >= [-& 0 ]x1 + [0] = b#(c(x1))
     
     b#(a(b(x1))) = [0 0]x1 + [0] >= [-& 0 ]x1 + [0] = c#(x1)
     
     c#(c(x1)) = [0 1]x1 + [1] >= [0  -&]x1 = b#(x1)
     
     c#(c(x1)) = [0 1]x1 + [1] >= [-& 0 ]x1 + [0] = a#(b(x1))
     
     c#(c(x1)) = [0 1]x1 + [1] >= [0 1]x1 + [1] = a#(a(b(x1)))
     
             [0 0]     [0]    [-& 0 ]     [0]           
     a(x1) = [0 1]x1 + [1] >= [0  1 ]x1 + [1] = b(c(x1))
     
                   [0 0]     [0]    [-& 0 ]     [0]        
     b(a(b(x1))) = [0 1]x1 + [1] >= [0  1 ]x1 + [1] = c(x1)
     
                [0 1]     [1]    [0 1]     [1]              
     c(c(x1)) = [1 2]x1 + [2] >= [1 2]x1 + [2] = a(a(b(x1)))
    problem:
     DPs:
      a#(x1) -> c#(x1)
      a#(x1) -> b#(c(x1))
      b#(a(b(x1))) -> c#(x1)
      c#(c(x1)) -> b#(x1)
      c#(c(x1)) -> a#(a(b(x1)))
     TRS:
      a(x1) -> b(c(x1))
      b(a(b(x1))) -> c(x1)
      c(c(x1)) -> a(a(b(x1)))
    Restore Modifier:
     DPs:
      a#(x1) -> c#(x1)
      a#(x1) -> b#(c(x1))
      b#(a(b(x1))) -> c#(x1)
      c#(c(x1)) -> b#(x1)
      c#(c(x1)) -> a#(a(b(x1)))
     TRS:
      a(x1) -> b(c(x1))
      b(a(b(x1))) -> c(x1)
      c(c(x1)) -> a(a(b(x1)))
     EDG Processor:
      DPs:
       a#(x1) -> c#(x1)
       a#(x1) -> b#(c(x1))
       b#(a(b(x1))) -> c#(x1)
       c#(c(x1)) -> b#(x1)
       c#(c(x1)) -> a#(a(b(x1)))
      TRS:
       a(x1) -> b(c(x1))
       b(a(b(x1))) -> c(x1)
       c(c(x1)) -> a(a(b(x1)))
      graph:
       b#(a(b(x1))) -> c#(x1) -> c#(c(x1)) -> b#(x1)
       b#(a(b(x1))) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
       c#(c(x1)) -> b#(x1) -> b#(a(b(x1))) -> c#(x1)
       c#(c(x1)) -> a#(a(b(x1))) -> a#(x1) -> c#(x1)
       c#(c(x1)) -> a#(a(b(x1))) -> a#(x1) -> b#(c(x1))
       a#(x1) -> b#(c(x1)) -> b#(a(b(x1))) -> c#(x1)
       a#(x1) -> c#(x1) -> c#(c(x1)) -> b#(x1)
       a#(x1) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
      Arctic Interpretation Processor:
       dimension: 2
       usable rules:
        a(x1) -> b(c(x1))
        b(a(b(x1))) -> c(x1)
        c(c(x1)) -> a(a(b(x1)))
       interpretation:
        [b#](x0) = [0 0]x0,
        
        [c#](x0) = [2 0]x0,
        
        [a#](x0) = [2 0]x0,
        
                    
        [b](x0) = x0,
        
                  [2  0 ]  
        [c](x0) = [0  -&]x0,
        
                  [2  0 ]  
        [a](x0) = [0  -&]x0
       orientation:
        a#(x1) = [2 0]x1 >= [2 0]x1 = c#(x1)
        
        a#(x1) = [2 0]x1 >= [2 0]x1 = b#(c(x1))
        
        b#(a(b(x1))) = [2 0]x1 >= [2 0]x1 = c#(x1)
        
        c#(c(x1)) = [4 2]x1 >= [0 0]x1 = b#(x1)
        
        c#(c(x1)) = [4 2]x1 >= [4 2]x1 = a#(a(b(x1)))
        
                [2  0 ]      [2  0 ]             
        a(x1) = [0  -&]x1 >= [0  -&]x1 = b(c(x1))
        
                      [2  0 ]      [2  0 ]          
        b(a(b(x1))) = [0  -&]x1 >= [0  -&]x1 = c(x1)
        
                   [4 2]      [4 2]                
        c(c(x1)) = [2 0]x1 >= [2 0]x1 = a(a(b(x1)))
       problem:
        DPs:
         a#(x1) -> c#(x1)
         a#(x1) -> b#(c(x1))
         b#(a(b(x1))) -> c#(x1)
         c#(c(x1)) -> a#(a(b(x1)))
        TRS:
         a(x1) -> b(c(x1))
         b(a(b(x1))) -> c(x1)
         c(c(x1)) -> a(a(b(x1)))
       Restore Modifier:
        DPs:
         a#(x1) -> c#(x1)
         a#(x1) -> b#(c(x1))
         b#(a(b(x1))) -> c#(x1)
         c#(c(x1)) -> a#(a(b(x1)))
        TRS:
         a(x1) -> b(c(x1))
         b(a(b(x1))) -> c(x1)
         c(c(x1)) -> a(a(b(x1)))
        EDG Processor:
         DPs:
          a#(x1) -> c#(x1)
          a#(x1) -> b#(c(x1))
          b#(a(b(x1))) -> c#(x1)
          c#(c(x1)) -> a#(a(b(x1)))
         TRS:
          a(x1) -> b(c(x1))
          b(a(b(x1))) -> c(x1)
          c(c(x1)) -> a(a(b(x1)))
         graph:
          b#(a(b(x1))) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
          c#(c(x1)) -> a#(a(b(x1))) -> a#(x1) -> b#(c(x1))
          c#(c(x1)) -> a#(a(b(x1))) -> a#(x1) -> c#(x1)
          a#(x1) -> b#(c(x1)) -> b#(a(b(x1))) -> c#(x1)
          a#(x1) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
         Arctic Interpretation Processor:
          dimension: 2
          usable rules:
           a(x1) -> b(c(x1))
           b(a(b(x1))) -> c(x1)
           c(c(x1)) -> a(a(b(x1)))
          interpretation:
           [b#](x0) = [-& 2 ]x0 + [2],
           
           [c#](x0) = [2 2]x0 + [0],
           
           [a#](x0) = [3 2]x0 + [3],
           
                     [-2 0 ]     [0 ]
           [b](x0) = [-& 0 ]x0 + [-&],
           
                     [0  2 ]     [2 ]
           [c](x0) = [0  -&]x0 + [-&],
           
                     [0 0]     [0]
           [a](x0) = [2 0]x0 + [0]
          orientation:
           a#(x1) = [3 2]x1 + [3] >= [2 2]x1 + [0] = c#(x1)
           
           a#(x1) = [3 2]x1 + [3] >= [2  -&]x1 + [2] = b#(c(x1))
           
           b#(a(b(x1))) = [2 4]x1 + [4] >= [2 2]x1 + [0] = c#(x1)
           
           c#(c(x1)) = [2 4]x1 + [4] >= [2 4]x1 + [4] = a#(a(b(x1)))
           
                   [0 0]     [0]    [0  0 ]     [0 ]           
           a(x1) = [2 0]x1 + [0] >= [0  -&]x1 + [-&] = b(c(x1))
           
                         [0 2]     [2]    [0  2 ]     [2 ]        
           b(a(b(x1))) = [0 2]x1 + [2] >= [0  -&]x1 + [-&] = c(x1)
           
                      [2 2]     [2]    [0 2]     [2]              
           c(c(x1)) = [0 2]x1 + [2] >= [0 2]x1 + [2] = a(a(b(x1)))
          problem:
           DPs:
            a#(x1) -> c#(x1)
            b#(a(b(x1))) -> c#(x1)
            c#(c(x1)) -> a#(a(b(x1)))
           TRS:
            a(x1) -> b(c(x1))
            b(a(b(x1))) -> c(x1)
            c(c(x1)) -> a(a(b(x1)))
          Restore Modifier:
           DPs:
            a#(x1) -> c#(x1)
            b#(a(b(x1))) -> c#(x1)
            c#(c(x1)) -> a#(a(b(x1)))
           TRS:
            a(x1) -> b(c(x1))
            b(a(b(x1))) -> c(x1)
            c(c(x1)) -> a(a(b(x1)))
           EDG Processor:
            DPs:
             a#(x1) -> c#(x1)
             b#(a(b(x1))) -> c#(x1)
             c#(c(x1)) -> a#(a(b(x1)))
            TRS:
             a(x1) -> b(c(x1))
             b(a(b(x1))) -> c(x1)
             c(c(x1)) -> a(a(b(x1)))
            graph:
             b#(a(b(x1))) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
             c#(c(x1)) -> a#(a(b(x1))) -> a#(x1) -> c#(x1)
             a#(x1) -> c#(x1) -> c#(c(x1)) -> a#(a(b(x1)))
            SCC Processor:
             #sccs: 1
             #rules: 2
             #arcs: 3/9
             DPs:
              c#(c(x1)) -> a#(a(b(x1)))
              a#(x1) -> c#(x1)
             TRS:
              a(x1) -> b(c(x1))
              b(a(b(x1))) -> c(x1)
              c(c(x1)) -> a(a(b(x1)))
             Arctic Interpretation Processor:
              dimension: 2
              usable rules:
               a(x1) -> b(c(x1))
               b(a(b(x1))) -> c(x1)
               c(c(x1)) -> a(a(b(x1)))
              interpretation:
               [c#](x0) = [1  -&]x0 + [0],
               
               [a#](x0) = [1 0]x0 + [0],
               
                         [-& 0 ]     [0 ]
               [b](x0) = [-1 1 ]x0 + [-&],
               
                         [0  2 ]     [2]
               [c](x0) = [1  -&]x0 + [0],
               
                         [1  -&]     [0]
               [a](x0) = [2  1 ]x0 + [1]
              orientation:
               c#(c(x1)) = [1 3]x1 + [3] >= [0 2]x1 + [2] = a#(a(b(x1)))
               
               a#(x1) = [1 0]x1 + [0] >= [1  -&]x1 + [0] = c#(x1)
               
                       [1  -&]     [0]    [1  -&]     [0]           
               a(x1) = [2  1 ]x1 + [1] >= [2  1 ]x1 + [1] = b(c(x1))
               
                             [0 2]     [2]    [0  2 ]     [2]        
               b(a(b(x1))) = [1 3]x1 + [3] >= [1  -&]x1 + [0] = c(x1)
               
                          [3 2]     [2]    [-& 2 ]     [2]              
               c(c(x1)) = [1 3]x1 + [3] >= [1  3 ]x1 + [3] = a(a(b(x1)))
              problem:
               DPs:
                a#(x1) -> c#(x1)
               TRS:
                a(x1) -> b(c(x1))
                b(a(b(x1))) -> c(x1)
                c(c(x1)) -> a(a(b(x1)))
              Restore Modifier:
               DPs:
                a#(x1) -> c#(x1)
               TRS:
                a(x1) -> b(c(x1))
                b(a(b(x1))) -> c(x1)
                c(c(x1)) -> a(a(b(x1)))
               EDG Processor:
                DPs:
                 a#(x1) -> c#(x1)
                TRS:
                 a(x1) -> b(c(x1))
                 b(a(b(x1))) -> c(x1)
                 c(c(x1)) -> a(a(b(x1)))
                graph:
                 
                Qed