YES

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

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