YES

We show the termination of the TRS R:

  c(c(z,y,a()),a(),a()) -> b(z,y)
  f(c(x,y,z)) -> c(z,f(b(y,z)),a())
  b(z,b(c(a(),y,a()),f(f(x)))) -> c(c(y,a(),z),z,x)

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: c#(c(z,y,a()),a(),a()) -> b#(z,y)
p2: f#(c(x,y,z)) -> c#(z,f(b(y,z)),a())
p3: f#(c(x,y,z)) -> f#(b(y,z))
p4: f#(c(x,y,z)) -> b#(y,z)
p5: b#(z,b(c(a(),y,a()),f(f(x)))) -> c#(c(y,a(),z),z,x)
p6: b#(z,b(c(a(),y,a()),f(f(x)))) -> c#(y,a(),z)

and R consists of:

r1: c(c(z,y,a()),a(),a()) -> b(z,y)
r2: f(c(x,y,z)) -> c(z,f(b(y,z)),a())
r3: b(z,b(c(a(),y,a()),f(f(x)))) -> c(c(y,a(),z),z,x)

The estimated dependency graph contains the following SCCs:

  {p3}
  {p1, p5, p6}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: f#(c(x,y,z)) -> f#(b(y,z))

and R consists of:

r1: c(c(z,y,a()),a(),a()) -> b(z,y)
r2: f(c(x,y,z)) -> c(z,f(b(y,z)),a())
r3: b(z,b(c(a(),y,a()),f(f(x)))) -> c(c(y,a(),z),z,x)

The set of usable rules consists of

  r1, r3

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        f#_A(x1) = x1
        c_A(x1,x2,x3) = ((0,1),(0,1)) x1 + x2 + ((0,1),(0,0)) x3 + (2,1)
        b_A(x1,x2) = x1 + ((0,1),(0,1)) x2 + (1,1)
        a_A() = (1,0)
        f_A(x1) = ((0,1),(1,1)) x1 + (0,1)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        f#_A(x1) = ((1,0),(1,0)) x1
        c_A(x1,x2,x3) = (2,2)
        b_A(x1,x2) = (1,1)
        a_A() = (1,1)
        f_A(x1) = (1,1)
    
    3. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        f#_A(x1) = ((0,1),(0,0)) x1
        c_A(x1,x2,x3) = (2,2)
        b_A(x1,x2) = (1,1)
        a_A() = (1,1)
        f_A(x1) = (1,1)
    

The next rules are strictly ordered:

  p1

We remove them from the problem.  Then no dependency pair remains.

-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: c#(c(z,y,a()),a(),a()) -> b#(z,y)
p2: b#(z,b(c(a(),y,a()),f(f(x)))) -> c#(y,a(),z)
p3: b#(z,b(c(a(),y,a()),f(f(x)))) -> c#(c(y,a(),z),z,x)

and R consists of:

r1: c(c(z,y,a()),a(),a()) -> b(z,y)
r2: f(c(x,y,z)) -> c(z,f(b(y,z)),a())
r3: b(z,b(c(a(),y,a()),f(f(x)))) -> c(c(y,a(),z),z,x)

The set of usable rules consists of

  r1, r3

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        c#_A(x1,x2,x3) = x1 + x2 + x3 + (4,0)
        c_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (1,1)
        a_A() = (1,1)
        b#_A(x1,x2) = x1 + x2
        b_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (2,0)
        f_A(x1) = ((1,1),(0,0)) x1 + (1,1)
    
    2. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        c#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (8,0)
        c_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + (1,1)
        a_A() = (1,1)
        b#_A(x1,x2) = ((1,1),(0,0)) x1 + x2 + (0,3)
        b_A(x1,x2) = x1 + x2 + (3,3)
        f_A(x1) = x1 + (1,1)
    
    3. matrix interpretations:
    
      carrier: N^2
      order: standard order
      interpretations:
        c#_A(x1,x2,x3) = ((1,1),(1,0)) x3 + (1,0)
        c_A(x1,x2,x3) = x1 + (1,1)
        a_A() = (1,1)
        b#_A(x1,x2) = (0,2)
        b_A(x1,x2) = x1 + ((0,0),(1,1)) x2 + (1,2)
        f_A(x1) = ((1,1),(1,0)) x1 + (1,1)
    

The next rules are strictly ordered:

  p1, p2, p3

We remove them from the problem.  Then no dependency pair remains.