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)}
 LMPO:
  Quasi-Precedence:
  a__h > a__c, 
  a__f > a__c, 
  mark > a__h, 
  mark > a__f, 
  mark > a__c
  empty
  
Normal:
   pi(mark) = [1]
  
Safe:
   pi(a__h) = [1], pi(a__f) = [1], pi(a__c) = [1]
  
Predicative System:
   {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