YES

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

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