YES

Problem:
 a__f(f(X)) -> a__c(f(g(f(X))))
 a__c(X) -> d(X)
 a__h(X) -> a__c(d(X))
 mark(f(X)) -> a__f(mark(X))
 mark(c(X)) -> a__c(X)
 mark(h(X)) -> a__h(mark(X))
 mark(g(X)) -> g(X)
 mark(d(X)) -> d(X)
 a__f(X) -> f(X)
 a__c(X) -> c(X)
 a__h(X) -> h(X)

Proof:
 DP Processor:
  DPs:
   a__f#(f(X)) -> a__c#(f(g(f(X))))
   a__h#(X) -> a__c#(d(X))
   mark#(f(X)) -> mark#(X)
   mark#(f(X)) -> a__f#(mark(X))
   mark#(c(X)) -> a__c#(X)
   mark#(h(X)) -> mark#(X)
   mark#(h(X)) -> a__h#(mark(X))
  TRS:
   a__f(f(X)) -> a__c(f(g(f(X))))
   a__c(X) -> d(X)
   a__h(X) -> a__c(d(X))
   mark(f(X)) -> a__f(mark(X))
   mark(c(X)) -> a__c(X)
   mark(h(X)) -> a__h(mark(X))
   mark(g(X)) -> g(X)
   mark(d(X)) -> d(X)
   a__f(X) -> f(X)
   a__c(X) -> c(X)
   a__h(X) -> h(X)
  CDG Processor:
   DPs:
    a__f#(f(X)) -> a__c#(f(g(f(X))))
    a__h#(X) -> a__c#(d(X))
    mark#(f(X)) -> mark#(X)
    mark#(f(X)) -> a__f#(mark(X))
    mark#(c(X)) -> a__c#(X)
    mark#(h(X)) -> mark#(X)
    mark#(h(X)) -> a__h#(mark(X))
   TRS:
    a__f(f(X)) -> a__c(f(g(f(X))))
    a__c(X) -> d(X)
    a__h(X) -> a__c(d(X))
    mark(f(X)) -> a__f(mark(X))
    mark(c(X)) -> a__c(X)
    mark(h(X)) -> a__h(mark(X))
    mark(g(X)) -> g(X)
    mark(d(X)) -> d(X)
    a__f(X) -> f(X)
    a__c(X) -> c(X)
    a__h(X) -> h(X)
   graph:
    mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X)
    mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> a__f#(mark(X))
    mark#(h(X)) -> mark#(X) -> mark#(c(X)) -> a__c#(X)
    mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X)
    mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> a__h#(mark(X))
    mark#(h(X)) -> a__h#(mark(X)) -> a__h#(X) -> a__c#(d(X))
    mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X)
    mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> a__f#(mark(X))
    mark#(f(X)) -> mark#(X) -> mark#(c(X)) -> a__c#(X)
    mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X)
    mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> a__h#(mark(X))
    mark#(f(X)) -> a__f#(mark(X)) -> a__f#(f(X)) -> a__c#(f(g(f(X))))
   SCC Processor:
    #sccs: 1
    #rules: 2
    #arcs: 12/49
    DPs:
     mark#(h(X)) -> mark#(X)
     mark#(f(X)) -> mark#(X)
    TRS:
     a__f(f(X)) -> a__c(f(g(f(X))))
     a__c(X) -> d(X)
     a__h(X) -> a__c(d(X))
     mark(f(X)) -> a__f(mark(X))
     mark(c(X)) -> a__c(X)
     mark(h(X)) -> a__h(mark(X))
     mark(g(X)) -> g(X)
     mark(d(X)) -> d(X)
     a__f(X) -> f(X)
     a__c(X) -> c(X)
     a__h(X) -> h(X)
    Matrix Interpretation Processor:
     dimension: 1
     interpretation:
      [mark#](x0) = x0 + 1,
      
      [h](x0) = x0 + 1,
      
      [c](x0) = x0,
      
      [mark](x0) = x0,
      
      [a__h](x0) = x0 + 1,
      
      [d](x0) = x0,
      
      [a__c](x0) = x0,
      
      [g](x0) = x0,
      
      [a__f](x0) = x0 + 1,
      
      [f](x0) = x0 + 1
     orientation:
      mark#(h(X)) = X + 2 >= X + 1 = mark#(X)
      
      mark#(f(X)) = X + 2 >= X + 1 = mark#(X)
      
      a__f(f(X)) = X + 2 >= X + 2 = a__c(f(g(f(X))))
      
      a__c(X) = X >= X = d(X)
      
      a__h(X) = X + 1 >= X = a__c(d(X))
      
      mark(f(X)) = X + 1 >= X + 1 = a__f(mark(X))
      
      mark(c(X)) = X >= X = a__c(X)
      
      mark(h(X)) = X + 1 >= X + 1 = a__h(mark(X))
      
      mark(g(X)) = X >= X = g(X)
      
      mark(d(X)) = X >= X = d(X)
      
      a__f(X) = X + 1 >= X + 1 = f(X)
      
      a__c(X) = X >= X = c(X)
      
      a__h(X) = X + 1 >= X + 1 = h(X)
     problem:
      DPs:
       
      TRS:
       a__f(f(X)) -> a__c(f(g(f(X))))
       a__c(X) -> d(X)
       a__h(X) -> a__c(d(X))
       mark(f(X)) -> a__f(mark(X))
       mark(c(X)) -> a__c(X)
       mark(h(X)) -> a__h(mark(X))
       mark(g(X)) -> g(X)
       mark(d(X)) -> d(X)
       a__f(X) -> f(X)
       a__c(X) -> c(X)
       a__h(X) -> h(X)
     Qed