YES

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

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