YES

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

Proof:
 String Reversal Processor:
  a(x1) -> x1
  a(x1) -> b(x1)
  b(a(x1)) -> c(a(b(x1)))
  b(x1) -> x1
  c(c(x1)) -> a(x1)
  DP Processor:
   DPs:
    a#(x1) -> b#(x1)
    b#(a(x1)) -> b#(x1)
    b#(a(x1)) -> a#(b(x1))
    b#(a(x1)) -> c#(a(b(x1)))
    c#(c(x1)) -> a#(x1)
   TRS:
    a(x1) -> x1
    a(x1) -> b(x1)
    b(a(x1)) -> c(a(b(x1)))
    b(x1) -> x1
    c(c(x1)) -> a(x1)
   TDG Processor:
    DPs:
     a#(x1) -> b#(x1)
     b#(a(x1)) -> b#(x1)
     b#(a(x1)) -> a#(b(x1))
     b#(a(x1)) -> c#(a(b(x1)))
     c#(c(x1)) -> a#(x1)
    TRS:
     a(x1) -> x1
     a(x1) -> b(x1)
     b(a(x1)) -> c(a(b(x1)))
     b(x1) -> x1
     c(c(x1)) -> a(x1)
    graph:
     c#(c(x1)) -> a#(x1) -> a#(x1) -> b#(x1)
     b#(a(x1)) -> c#(a(b(x1))) -> c#(c(x1)) -> a#(x1)
     b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> c#(a(b(x1)))
     b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(x1))
     b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1)
     b#(a(x1)) -> a#(b(x1)) -> a#(x1) -> b#(x1)
     a#(x1) -> b#(x1) -> b#(a(x1)) -> c#(a(b(x1)))
     a#(x1) -> b#(x1) -> b#(a(x1)) -> a#(b(x1))
     a#(x1) -> b#(x1) -> b#(a(x1)) -> b#(x1)
    Arctic Interpretation Processor:
     dimension: 2
     interpretation:
      [c#](x0) = [-& 2 ]x0 + [0],
      
      [b#](x0) = [0 2]x0 + [0],
      
      [a#](x0) = [3 2]x0 + [0],
      
                [1 0]     [0]
      [c](x0) = [1 0]x0 + [2],
      
                [0 0]     [1]
      [b](x0) = [0 0]x0 + [1],
      
                [0 0]     [1]
      [a](x0) = [1 1]x0 + [2]
     orientation:
      a#(x1) = [3 2]x1 + [0] >= [0 2]x1 + [0] = b#(x1)
      
      b#(a(x1)) = [3 3]x1 + [4] >= [0 2]x1 + [0] = b#(x1)
      
      b#(a(x1)) = [3 3]x1 + [4] >= [3 3]x1 + [4] = a#(b(x1))
      
      b#(a(x1)) = [3 3]x1 + [4] >= [3 3]x1 + [4] = c#(a(b(x1)))
      
      c#(c(x1)) = [3 2]x1 + [4] >= [3 2]x1 + [0] = a#(x1)
      
              [0 0]     [1]           
      a(x1) = [1 1]x1 + [2] >= x1 = x1
      
              [0 0]     [1]    [0 0]     [1]        
      a(x1) = [1 1]x1 + [2] >= [0 0]x1 + [1] = b(x1)
      
                 [1 1]     [2]    [1 1]     [2]              
      b(a(x1)) = [1 1]x1 + [2] >= [1 1]x1 + [2] = c(a(b(x1)))
      
              [0 0]     [1]           
      b(x1) = [0 0]x1 + [1] >= x1 = x1
      
                 [2 1]     [2]    [0 0]     [1]        
      c(c(x1)) = [2 1]x1 + [2] >= [1 1]x1 + [2] = a(x1)
     problem:
      DPs:
       a#(x1) -> b#(x1)
       b#(a(x1)) -> a#(b(x1))
       b#(a(x1)) -> c#(a(b(x1)))
       c#(c(x1)) -> a#(x1)
      TRS:
       a(x1) -> x1
       a(x1) -> b(x1)
       b(a(x1)) -> c(a(b(x1)))
       b(x1) -> x1
       c(c(x1)) -> a(x1)
     EDG Processor:
      DPs:
       a#(x1) -> b#(x1)
       b#(a(x1)) -> a#(b(x1))
       b#(a(x1)) -> c#(a(b(x1)))
       c#(c(x1)) -> a#(x1)
      TRS:
       a(x1) -> x1
       a(x1) -> b(x1)
       b(a(x1)) -> c(a(b(x1)))
       b(x1) -> x1
       c(c(x1)) -> a(x1)
      graph:
       c#(c(x1)) -> a#(x1) -> a#(x1) -> b#(x1)
       b#(a(x1)) -> c#(a(b(x1))) -> c#(c(x1)) -> a#(x1)
       b#(a(x1)) -> a#(b(x1)) -> a#(x1) -> b#(x1)
       a#(x1) -> b#(x1) -> b#(a(x1)) -> a#(b(x1))
       a#(x1) -> b#(x1) -> b#(a(x1)) -> c#(a(b(x1)))
      Arctic Interpretation Processor:
       dimension: 2
       interpretation:
        [c#](x0) = [-& 0 ]x0 + [0],
        
        [b#](x0) = [-& 0 ]x0 + [0],
        
        [a#](x0) = [-& 0 ]x0 + [0],
        
                  [-& 0 ]     [0 ]
        [c](x0) = [1  0 ]x0 + [-2],
        
                  [0  0 ]     [-&]
        [b](x0) = [-4 0 ]x0 + [-4],
        
                  [0 0]     [-&]
        [a](x0) = [1 1]x0 + [1 ]
       orientation:
        a#(x1) = [-& 0 ]x1 + [0] >= [-& 0 ]x1 + [0] = b#(x1)
        
        b#(a(x1)) = [1 1]x1 + [1] >= [-4 0 ]x1 + [0] = a#(b(x1))
        
        b#(a(x1)) = [1 1]x1 + [1] >= [1 1]x1 + [1] = c#(a(b(x1)))
        
        c#(c(x1)) = [1 0]x1 + [0] >= [-& 0 ]x1 + [0] = a#(x1)
        
                [0 0]     [-&]           
        a(x1) = [1 1]x1 + [1 ] >= x1 = x1
        
                [0 0]     [-&]    [0  0 ]     [-&]        
        a(x1) = [1 1]x1 + [1 ] >= [-4 0 ]x1 + [-4] = b(x1)
        
                   [1 1]     [1]    [1 1]     [1]              
        b(a(x1)) = [1 1]x1 + [1] >= [1 1]x1 + [1] = c(a(b(x1)))
        
                [0  0 ]     [-&]           
        b(x1) = [-4 0 ]x1 + [-4] >= x1 = x1
        
                   [1 0]     [0]    [0 0]     [-&]        
        c(c(x1)) = [1 1]x1 + [1] >= [1 1]x1 + [1 ] = a(x1)
       problem:
        DPs:
         a#(x1) -> b#(x1)
         b#(a(x1)) -> c#(a(b(x1)))
         c#(c(x1)) -> a#(x1)
        TRS:
         a(x1) -> x1
         a(x1) -> b(x1)
         b(a(x1)) -> c(a(b(x1)))
         b(x1) -> x1
         c(c(x1)) -> a(x1)
       EDG Processor:
        DPs:
         a#(x1) -> b#(x1)
         b#(a(x1)) -> c#(a(b(x1)))
         c#(c(x1)) -> a#(x1)
        TRS:
         a(x1) -> x1
         a(x1) -> b(x1)
         b(a(x1)) -> c(a(b(x1)))
         b(x1) -> x1
         c(c(x1)) -> a(x1)
        graph:
         c#(c(x1)) -> a#(x1) -> a#(x1) -> b#(x1)
         b#(a(x1)) -> c#(a(b(x1))) -> c#(c(x1)) -> a#(x1)
         a#(x1) -> b#(x1) -> b#(a(x1)) -> c#(a(b(x1)))
        Arctic Interpretation Processor:
         dimension: 2
         interpretation:
          [c#](x0) = [1 0]x0,
          
          [b#](x0) = [0 1]x0,
          
          [a#](x0) = [0 1]x0,
          
                    [1 1]  
          [c](x0) = [0 0]x0,
          
                    [0  1 ]  
          [b](x0) = [-1 0 ]x0,
          
                    [0 1]  
          [a](x0) = [0 1]x0
         orientation:
          a#(x1) = [0 1]x1 >= [0 1]x1 = b#(x1)
          
          b#(a(x1)) = [1 2]x1 >= [1 2]x1 = c#(a(b(x1)))
          
          c#(c(x1)) = [2 2]x1 >= [0 1]x1 = a#(x1)
          
                  [0 1]             
          a(x1) = [0 1]x1 >= x1 = x1
          
                  [0 1]      [0  1 ]          
          a(x1) = [0 1]x1 >= [-1 0 ]x1 = b(x1)
          
                     [1 2]      [1 2]                
          b(a(x1)) = [0 1]x1 >= [0 1]x1 = c(a(b(x1)))
          
                  [0  1 ]             
          b(x1) = [-1 0 ]x1 >= x1 = x1
          
                     [2 2]      [0 1]          
          c(c(x1)) = [1 1]x1 >= [0 1]x1 = a(x1)
         problem:
          DPs:
           a#(x1) -> b#(x1)
           b#(a(x1)) -> c#(a(b(x1)))
          TRS:
           a(x1) -> x1
           a(x1) -> b(x1)
           b(a(x1)) -> c(a(b(x1)))
           b(x1) -> x1
           c(c(x1)) -> a(x1)
         EDG Processor:
          DPs:
           a#(x1) -> b#(x1)
           b#(a(x1)) -> c#(a(b(x1)))
          TRS:
           a(x1) -> x1
           a(x1) -> b(x1)
           b(a(x1)) -> c(a(b(x1)))
           b(x1) -> x1
           c(c(x1)) -> a(x1)
          graph:
           a#(x1) -> b#(x1) -> b#(a(x1)) -> c#(a(b(x1)))
          CDG Processor:
           DPs:
            a#(x1) -> b#(x1)
            b#(a(x1)) -> c#(a(b(x1)))
           TRS:
            a(x1) -> x1
            a(x1) -> b(x1)
            b(a(x1)) -> c(a(b(x1)))
            b(x1) -> x1
            c(c(x1)) -> a(x1)
           graph:
            
           Qed