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)}
 POP*:
  Precedence:
  a__h > a__c, 
  a__h > d, 
  a__h > h, 
  a__f > a__c, 
  a__f > f, 
  a__f > g, 
  a__c > c, 
  a__c > d, 
  mark > a__h, 
  mark > a__f, 
  mark > a__c
  empty
  
Normal:
   pi(mark) = [1]
  
Safe:
   pi(h) = [1], pi(c) = [1], pi(a__h) = [1], pi(d) = [1], pi(a__f) = [1], pi(g) = [1], pi(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