YES

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

Proof:
 DP Processor:
  DPs:
   a#(a(b(x1))) -> b#(a(b(x1)))
   b#(a(x1)) -> b#(x1)
   b#(a(x1)) -> b#(b(x1))
   b#(a(x1)) -> a#(b(b(x1)))
   b#(c(a(x1))) -> b#(x1)
   b#(c(a(x1))) -> a#(b(x1))
   b#(c(a(x1))) -> a#(a(b(x1)))
  TRS:
   a(a(b(x1))) -> b(a(b(x1)))
   b(a(x1)) -> a(b(b(x1)))
   b(c(a(x1))) -> c(c(a(a(b(x1)))))
  TDG Processor:
   DPs:
    a#(a(b(x1))) -> b#(a(b(x1)))
    b#(a(x1)) -> b#(x1)
    b#(a(x1)) -> b#(b(x1))
    b#(a(x1)) -> a#(b(b(x1)))
    b#(c(a(x1))) -> b#(x1)
    b#(c(a(x1))) -> a#(b(x1))
    b#(c(a(x1))) -> a#(a(b(x1)))
   TRS:
    a(a(b(x1))) -> b(a(b(x1)))
    b(a(x1)) -> a(b(b(x1)))
    b(c(a(x1))) -> c(c(a(a(b(x1)))))
   graph:
    b#(c(a(x1))) -> b#(x1) -> b#(c(a(x1))) -> a#(a(b(x1)))
    b#(c(a(x1))) -> b#(x1) -> b#(c(a(x1))) -> a#(b(x1))
    b#(c(a(x1))) -> b#(x1) -> b#(c(a(x1))) -> b#(x1)
    b#(c(a(x1))) -> b#(x1) -> b#(a(x1)) -> a#(b(b(x1)))
    b#(c(a(x1))) -> b#(x1) -> b#(a(x1)) -> b#(b(x1))
    b#(c(a(x1))) -> b#(x1) -> b#(a(x1)) -> b#(x1)
    b#(c(a(x1))) -> a#(a(b(x1))) -> a#(a(b(x1))) -> b#(a(b(x1)))
    b#(c(a(x1))) -> a#(b(x1)) -> a#(a(b(x1))) -> b#(a(b(x1)))
    b#(a(x1)) -> b#(b(x1)) -> b#(c(a(x1))) -> a#(a(b(x1)))
    b#(a(x1)) -> b#(b(x1)) -> b#(c(a(x1))) -> a#(b(x1))
    b#(a(x1)) -> b#(b(x1)) -> b#(c(a(x1))) -> b#(x1)
    b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> a#(b(b(x1)))
    b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> b#(b(x1))
    b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> b#(x1)
    b#(a(x1)) -> b#(x1) -> b#(c(a(x1))) -> a#(a(b(x1)))
    b#(a(x1)) -> b#(x1) -> b#(c(a(x1))) -> a#(b(x1))
    b#(a(x1)) -> b#(x1) -> b#(c(a(x1))) -> b#(x1)
    b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(b(x1)))
    b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(b(x1))
    b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1)
    b#(a(x1)) -> a#(b(b(x1))) -> a#(a(b(x1))) -> b#(a(b(x1)))
    a#(a(b(x1))) -> b#(a(b(x1))) -> b#(c(a(x1))) -> a#(a(b(x1)))
    a#(a(b(x1))) -> b#(a(b(x1))) -> b#(c(a(x1))) -> a#(b(x1))
    a#(a(b(x1))) -> b#(a(b(x1))) -> b#(c(a(x1))) -> b#(x1)
    a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> a#(b(b(x1)))
    a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> b#(b(x1))
    a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> b#(x1)
   Matrix Interpretation Processor: dim=4
    
    interpretation:
     [b#](x0) = [0 1 0 0]x0 + [1],
     
     [a#](x0) = [1 1 0 0]x0,
     
               [0 0 0 0]  
               [1 1 0 0]  
     [c](x0) = [0 0 0 0]x0
               [0 0 1 0]  ,
     
               [0 0 1 0]     [0]
               [0 1 0 1]     [0]
     [a](x0) = [0 0 0 1]x0 + [1]
               [0 0 0 0]     [0],
     
               [0 0 1 0]     [0]
               [0 0 0 1]     [0]
     [b](x0) = [0 0 0 0]x0 + [1]
               [0 0 0 0]     [0]
    orientation:
     a#(a(b(x1))) = [0 0 0 1]x1 + [1] >= [0 0 0 1]x1 + [1] = b#(a(b(x1)))
     
     b#(a(x1)) = [0 1 0 1]x1 + [1] >= [0 1 0 0]x1 + [1] = b#(x1)
     
     b#(a(x1)) = [0 1 0 1]x1 + [1] >= [0 0 0 1]x1 + [1] = b#(b(x1))
     
     b#(a(x1)) = [0 1 0 1]x1 + [1] >= [1] = a#(b(b(x1)))
     
     b#(c(a(x1))) = [0 1 1 1]x1 + [1] >= [0 1 0 0]x1 + [1] = b#(x1)
     
     b#(c(a(x1))) = [0 1 1 1]x1 + [1] >= [0 0 1 1]x1 = a#(b(x1))
     
     b#(c(a(x1))) = [0 1 1 1]x1 + [1] >= [0 0 0 1]x1 + [1] = a#(a(b(x1)))
     
                   [0 0 0 0]     [1]    [1]              
                   [0 0 0 1]     [0]    [0]              
     a(a(b(x1))) = [0 0 0 0]x1 + [1] >= [1] = b(a(b(x1)))
                   [0 0 0 0]     [0]    [0]              
     
                [0 0 0 1]     [1]    [1]              
                [0 0 0 0]     [0]    [0]              
     b(a(x1)) = [0 0 0 0]x1 + [1] >= [1] = a(b(b(x1)))
                [0 0 0 0]     [0]    [0]              
     
                   [0 0 0 0]     [0]    [0 0 0 0]     [0]                    
                   [0 0 0 1]     [1]    [0 0 0 1]     [1]                    
     b(c(a(x1))) = [0 0 0 0]x1 + [1] >= [0 0 0 0]x1 + [0] = c(c(a(a(b(x1)))))
                   [0 0 0 0]     [0]    [0 0 0 0]     [0]                    
    problem:
     DPs:
      a#(a(b(x1))) -> b#(a(b(x1)))
      b#(a(x1)) -> b#(x1)
      b#(a(x1)) -> b#(b(x1))
      b#(a(x1)) -> a#(b(b(x1)))
      b#(c(a(x1))) -> b#(x1)
      b#(c(a(x1))) -> a#(a(b(x1)))
     TRS:
      a(a(b(x1))) -> b(a(b(x1)))
      b(a(x1)) -> a(b(b(x1)))
      b(c(a(x1))) -> c(c(a(a(b(x1)))))
    EDG Processor:
     DPs:
      a#(a(b(x1))) -> b#(a(b(x1)))
      b#(a(x1)) -> b#(x1)
      b#(a(x1)) -> b#(b(x1))
      b#(a(x1)) -> a#(b(b(x1)))
      b#(c(a(x1))) -> b#(x1)
      b#(c(a(x1))) -> a#(a(b(x1)))
     TRS:
      a(a(b(x1))) -> b(a(b(x1)))
      b(a(x1)) -> a(b(b(x1)))
      b(c(a(x1))) -> c(c(a(a(b(x1)))))
     graph:
      b#(c(a(x1))) -> b#(x1) -> b#(a(x1)) -> b#(x1)
      b#(c(a(x1))) -> b#(x1) -> b#(a(x1)) -> b#(b(x1))
      b#(c(a(x1))) -> b#(x1) -> b#(a(x1)) -> a#(b(b(x1)))
      b#(c(a(x1))) -> b#(x1) -> b#(c(a(x1))) -> b#(x1)
      b#(c(a(x1))) -> b#(x1) -> b#(c(a(x1))) -> a#(a(b(x1)))
      b#(c(a(x1))) -> a#(a(b(x1))) -> a#(a(b(x1))) -> b#(a(b(x1)))
      b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> b#(x1)
      b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> b#(b(x1))
      b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> a#(b(b(x1)))
      b#(a(x1)) -> b#(b(x1)) -> b#(c(a(x1))) -> b#(x1)
      b#(a(x1)) -> b#(b(x1)) -> b#(c(a(x1))) -> a#(a(b(x1)))
      b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1)
      b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(b(x1))
      b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(b(x1)))
      b#(a(x1)) -> b#(x1) -> b#(c(a(x1))) -> b#(x1)
      b#(a(x1)) -> b#(x1) -> b#(c(a(x1))) -> a#(a(b(x1)))
      b#(a(x1)) -> a#(b(b(x1))) -> a#(a(b(x1))) -> b#(a(b(x1)))
      a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> b#(x1)
      a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> b#(b(x1))
      a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> a#(b(b(x1)))
      a#(a(b(x1))) -> b#(a(b(x1))) -> b#(c(a(x1))) -> b#(x1)
      a#(a(b(x1))) -> b#(a(b(x1))) -> b#(c(a(x1))) -> a#(a(b(x1)))
     Matrix Interpretation Processor: dim=4
      
      interpretation:
       [b#](x0) = [1 0 1 0]x0,
       
       [a#](x0) = [0 0 0 1]x0,
       
                 [0 0 0 0]     [1]
                 [0 0 0 0]     [1]
       [c](x0) = [0 0 1 0]x0 + [0]
                 [1 0 0 1]     [0],
       
                 [0 0 0 0]  
                 [0 0 0 0]  
       [a](x0) = [1 1 1 0]x0
                 [1 0 0 1]  ,
       
                 [0 1 0 0]  
                 [1 0 0 0]  
       [b](x0) = [0 0 1 0]x0
                 [1 0 1 0]  
      orientation:
       a#(a(b(x1))) = [1 1 1 0]x1 >= [1 1 1 0]x1 = b#(a(b(x1)))
       
       b#(a(x1)) = [1 1 1 0]x1 >= [1 0 1 0]x1 = b#(x1)
       
       b#(a(x1)) = [1 1 1 0]x1 >= [0 1 1 0]x1 = b#(b(x1))
       
       b#(a(x1)) = [1 1 1 0]x1 >= [0 1 1 0]x1 = a#(b(b(x1)))
       
       b#(c(a(x1))) = [1 1 1 0]x1 + [1] >= [1 0 1 0]x1 = b#(x1)
       
       b#(c(a(x1))) = [1 1 1 0]x1 + [1] >= [1 1 1 0]x1 = a#(a(b(x1)))
       
                     [0 0 0 0]      [0 0 0 0]                
                     [0 0 0 0]      [0 0 0 0]                
       a(a(b(x1))) = [1 1 1 0]x1 >= [1 1 1 0]x1 = b(a(b(x1)))
                     [1 1 1 0]      [1 1 1 0]                
       
                  [0 0 0 0]      [0 0 0 0]                
                  [0 0 0 0]      [0 0 0 0]                
       b(a(x1)) = [1 1 1 0]x1 >= [1 1 1 0]x1 = a(b(b(x1)))
                  [1 1 1 0]      [1 1 1 0]                
       
                     [0 0 0 0]     [1]    [0 0 0 0]     [1]                    
                     [0 0 0 0]     [1]    [0 0 0 0]     [1]                    
       b(c(a(x1))) = [1 1 1 0]x1 + [0] >= [1 1 1 0]x1 + [0] = c(c(a(a(b(x1)))))
                     [1 1 1 0]     [1]    [1 1 1 0]     [1]                    
      problem:
       DPs:
        a#(a(b(x1))) -> b#(a(b(x1)))
        b#(a(x1)) -> b#(x1)
        b#(a(x1)) -> b#(b(x1))
        b#(a(x1)) -> a#(b(b(x1)))
       TRS:
        a(a(b(x1))) -> b(a(b(x1)))
        b(a(x1)) -> a(b(b(x1)))
        b(c(a(x1))) -> c(c(a(a(b(x1)))))
      EDG Processor:
       DPs:
        a#(a(b(x1))) -> b#(a(b(x1)))
        b#(a(x1)) -> b#(x1)
        b#(a(x1)) -> b#(b(x1))
        b#(a(x1)) -> a#(b(b(x1)))
       TRS:
        a(a(b(x1))) -> b(a(b(x1)))
        b(a(x1)) -> a(b(b(x1)))
        b(c(a(x1))) -> c(c(a(a(b(x1)))))
       graph:
        b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> a#(b(b(x1)))
        b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> b#(b(x1))
        b#(a(x1)) -> b#(b(x1)) -> b#(a(x1)) -> b#(x1)
        b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(b(x1)))
        b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(b(x1))
        b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1)
        b#(a(x1)) -> a#(b(b(x1))) -> a#(a(b(x1))) -> b#(a(b(x1)))
        a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> a#(b(b(x1)))
        a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> b#(b(x1))
        a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> b#(x1)
       Arctic Interpretation Processor:
        dimension: 1
        interpretation:
         [b#](x0) = x0 + -16,
         
         [a#](x0) = x0 + 0,
         
         [c](x0) = 0,
         
         [a](x0) = 1x0 + 0,
         
         [b](x0) = x0
        orientation:
         a#(a(b(x1))) = 1x1 + 0 >= 1x1 + 0 = b#(a(b(x1)))
         
         b#(a(x1)) = 1x1 + 0 >= x1 + -16 = b#(x1)
         
         b#(a(x1)) = 1x1 + 0 >= x1 + -16 = b#(b(x1))
         
         b#(a(x1)) = 1x1 + 0 >= x1 + 0 = a#(b(b(x1)))
         
         a(a(b(x1))) = 2x1 + 1 >= 1x1 + 0 = b(a(b(x1)))
         
         b(a(x1)) = 1x1 + 0 >= 1x1 + 0 = a(b(b(x1)))
         
         b(c(a(x1))) = 0 >= 0 = c(c(a(a(b(x1)))))
        problem:
         DPs:
          a#(a(b(x1))) -> b#(a(b(x1)))
          b#(a(x1)) -> a#(b(b(x1)))
         TRS:
          a(a(b(x1))) -> b(a(b(x1)))
          b(a(x1)) -> a(b(b(x1)))
          b(c(a(x1))) -> c(c(a(a(b(x1)))))
        EDG Processor:
         DPs:
          a#(a(b(x1))) -> b#(a(b(x1)))
          b#(a(x1)) -> a#(b(b(x1)))
         TRS:
          a(a(b(x1))) -> b(a(b(x1)))
          b(a(x1)) -> a(b(b(x1)))
          b(c(a(x1))) -> c(c(a(a(b(x1)))))
         graph:
          b#(a(x1)) -> a#(b(b(x1))) -> a#(a(b(x1))) -> b#(a(b(x1)))
          a#(a(b(x1))) -> b#(a(b(x1))) -> b#(a(x1)) -> a#(b(b(x1)))
         Arctic Interpretation Processor:
          dimension: 1
          interpretation:
           [b#](x0) = x0,
           
           [a#](x0) = x0,
           
           [c](x0) = 14,
           
           [a](x0) = 6x0,
           
           [b](x0) = x0
          orientation:
           a#(a(b(x1))) = 6x1 >= 6x1 = b#(a(b(x1)))
           
           b#(a(x1)) = 6x1 >= x1 = a#(b(b(x1)))
           
           a(a(b(x1))) = 12x1 >= 6x1 = b(a(b(x1)))
           
           b(a(x1)) = 6x1 >= 6x1 = a(b(b(x1)))
           
           b(c(a(x1))) = 14 >= 14 = c(c(a(a(b(x1)))))
          problem:
           DPs:
            a#(a(b(x1))) -> b#(a(b(x1)))
           TRS:
            a(a(b(x1))) -> b(a(b(x1)))
            b(a(x1)) -> a(b(b(x1)))
            b(c(a(x1))) -> c(c(a(a(b(x1)))))
          EDG Processor:
           DPs:
            a#(a(b(x1))) -> b#(a(b(x1)))
           TRS:
            a(a(b(x1))) -> b(a(b(x1)))
            b(a(x1)) -> a(b(b(x1)))
            b(c(a(x1))) -> c(c(a(a(b(x1)))))
           graph:
            
           Qed