YES

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

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