YES

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

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