YES
O(n^3)
TRS:
 {
       a__f(X) -> f(X),
  a__f(f(a())) -> c(f(g(f(a())))),
    mark(c(X)) -> c(X),
    mark(f(X)) -> a__f(mark(X)),
    mark(g(X)) -> g(mark(X)),
     mark(a()) -> a()
 }
 DUP: We consider a non-duplicating system.
  Trs:
   {
         a__f(X) -> f(X),
    a__f(f(a())) -> c(f(g(f(a())))),
      mark(c(X)) -> c(X),
      mark(f(X)) -> a__f(mark(X)),
      mark(g(X)) -> g(mark(X)),
       mark(a()) -> a()
   }
  Matrix Interpretation:
   Interpretation class: triangular
          [X2]    [1 1 1][X2]   [0]
   [mark]([X1]) = [0 1 0][X1] + [0]
          [X0]    [0 0 1][X0]   [0]
   
          [X2]    [1 0 0][X2]   [1]
   [a__f]([X1]) = [0 1 1][X1] + [1]
          [X0]    [0 0 0][X0]   [1]
   
         [0]
   [a] = [1]
         [1]
   
       [X2]    [1 0 0][X2]   [0]
   [g]([X1]) = [0 1 0][X1] + [0]
       [X0]    [0 0 1][X0]   [1]
   
       [X2]    [1 0 0][X2]   [0]
   [f]([X1]) = [0 1 1][X1] + [1]
       [X0]    [0 0 0][X0]   [1]
   
       [X2]    [1 0 0][X2]   [0]
   [c]([X1]) = [0 0 0][X1] + [1]
       [X0]    [0 0 0][X0]   [1]
   
   
   Qed