YES

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

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