TRS:
 {a__f(f(a())) -> c(f(g(f(a())))),
    mark(f(X)) -> a__f(mark(X)),
     mark(a()) -> a(),
    mark(c(X)) -> c(X),
    mark(g(X)) -> g(mark(X)),
       a__f(X) -> f(X)}
 LMPO:
  Quasi-Precedence:
  mark > a__f
  empty
  
Normal:
   pi(mark) = [1]
  
Safe:
   pi(a__f) = [1]
  
Predicative System:
   {a__f(;f(a();)) -> c(f(g(f(a(););););),
      mark(f(X;);) -> a__f(;mark(X;)),
        mark(a();) -> a(),
      mark(c(X;);) -> c(X;),
      mark(g(X;);) -> g(mark(X;);),
          a__f(;X) -> f(X;)}
  

   
  

  Qed